summaryrefslogtreecommitdiff
path: root/patchtracker/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker/models.py')
-rw-r--r--patchtracker/models.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/patchtracker/models.py b/patchtracker/models.py
index 0fb997d..95a59df 100644
--- a/patchtracker/models.py
+++ b/patchtracker/models.py
@@ -1,3 +1,5 @@
+import re
+
from django.db import models
from django.contrib import admin
@@ -22,6 +24,16 @@ class SourcePackage (models.Model):
else:
return "Native"
+ def anchor_name(self):
+ """ output a version of the package name suitable for use as an
+ anchor name (i.e. <a name="foo">) """
+ return re.sub("([^a-zA-Z0-9-])", (lambda x: "_%d"%(ord(x.group(1)))), self.name)
+
+ def wrappable_version(self):
+ """ output a version that can be broken up by a web browser using
+ the unicode zero-whitespace-break character (&#8203;) """
+ return '&#8203;'.join([self.version[i:i+12] for i in range(0,len(self.version),12)])
+
def __unicode__( self ):
return "%s (%s)"%(self.name, self.version)