diff options
Diffstat (limited to 'patchtracker/models.py')
-rw-r--r-- | patchtracker/models.py | 12 |
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 (​) """ + return '​'.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) |