diff options
Diffstat (limited to 'patchtracker')
-rwxr-xr-x | patchtracker/Templates.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/patchtracker/Templates.py b/patchtracker/Templates.py index e6982f0..7f73e9a 100755 --- a/patchtracker/Templates.py +++ b/patchtracker/Templates.py @@ -3,20 +3,25 @@ from patchtracker.DiffGzHandler import DiffGzHandler from Cheetah.Template import Template from Cheetah.Compiler import Compiler -import os -import errno +import os, errno +import re class OurTemplate(Template): def __init__(self, file, searchList=None): - ourSearchList={"conf":Conf, "crumbs":[], "link":self.link} + ourSearchList={"conf":Conf, "crumbs":[]} if searchList: for k,v in searchList.iteritems(): ourSearchList[k]=v + self.escape_name = self._escape_name + self.link = self._link Template.__init__(self, file=file, searchList=ourSearchList) - def link(self, where, name): + def _link(self, where, name): return str("<a href=\"%s\">%s</a>"%(where,name)) + def _escape_name(self, name): + return re.sub("([^a-zA-Z0-9-])", (lambda x: "_%d"%(ord(x.group(1)))), name) + class PackageVersTemplate(OurTemplate): def __init__(self, srcpkg): |