summaryrefslogtreecommitdiff
path: root/patchtracker/Templates.py
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker/Templates.py')
-rwxr-xr-xpatchtracker/Templates.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/patchtracker/Templates.py b/patchtracker/Templates.py
deleted file mode 100755
index 42140a8..0000000
--- a/patchtracker/Templates.py
+++ /dev/null
@@ -1,103 +0,0 @@
-from patchtracker import Conf, DB
-from patchtracker.DiffGzHandler import DiffGzHandler
-from patchtracker.DebTarHandler import DebTarHandler
-from patchtracker.SourceArchive import ReleaseList
-
-from Cheetah.Template import Template
-from Cheetah.Compiler import Compiler
-import os, errno
-import re
-
-class OurTemplate(Template):
- def __init__(self, file, searchList=None):
- ourSearchList={"conf":Conf, "crumbs":[]}
- if searchList:
- for k,v in searchList.iteritems():
- ourSearchList[k]=v
- self.escape_name = self._escape_name
- self.wrappable_version = self._wrappable_version
- self.link = self._link
- Template.__init__(self, file=file, searchList=ourSearchList)
-
- 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)
-
- def _wrappable_version(self, version):
- """ output a version that can be broken up by a web browser using
- the unicode zero-whitespace-break character (&#8203;) """
- return '&#8203;'.join([version[i:i+12] for i in range(0,len(version),12)])
-
-class PackageVersTemplate(OurTemplate):
- def __init__(self, srcpkg):
- self.src = srcpkg
- tpl=os.sep.join([Conf.template_dir, "package_vers.tmpl"])
- sl = {}
- # XXX c/p from PatchCmd.make_diffhandler
- db = DB.PatchTrackerDB()
- dfile = db.findDiffGz(srcpkg.name,srcpkg.version)
- if dfile:
- sl['diffhandler'] = DiffGzHandler(dfile)
- else:
- dfile = db.findDebTar(srcpkg.name, srcpkg.version)
- if dfile:
- sl['diffhandler'] = DebTarHandler(dfile)
- sl['crumbs'] = [("package/"+srcpkg.name,srcpkg.name),
- ("package/"+srcpkg.name+"/"+srcpkg.version,
- srcpkg.name+"/"+srcpkg.version)]
- OurTemplate.__init__(self, file=tpl, searchList=sl)
-
-class FrontPageTemplate(OurTemplate):
- def __init__(self, indices):
- tpl = os.sep.join([Conf.template_dir, "frontpage.tmpl"])
- OurTemplate.__init__(self, file=tpl)
- self.indices = indices
-
-class LetterTocTemplate(OurTemplate):
- def __init__(self, letter, collection):
- self.pkgs = collection
- self.idx = letter
- self.dists = ReleaseList("debian")
- sl = {}
- sl['crumbs'] = [("index/"+letter,"index for "+letter)]
- tpl = os.sep.join([Conf.template_dir, "letter_toc.tmpl"])
- OurTemplate.__init__(self, file=tpl, searchList=sl)
-
-class SearchResultsTemplate(OurTemplate):
- def __init__(self, search, searchtype, collection):
- self.pkgs = {}
- self.idx = search
- self.searchtype = searchtype
- self.dists = ReleaseList("debian")
- for idx in collection.indices():
- for name,packagelist in collection.getletter(idx).iteritems():
- self.pkgs[name] = packagelist
- tpl = os.sep.join([Conf.template_dir, "searchresults.tmpl"])
- OurTemplate.__init__(self, file=tpl)
-
-
-class ErrorTemplate(OurTemplate):
- def __init__(self, msg):
- tpl = os.sep.join([Conf.template_dir, "cgi_error.tmpl"])
- OurTemplate.__init__(self, file=tpl, searchList={'error':msg})
-
-class PatchTemplate(OurTemplate):
- def __init__(self, pkg=None, vers=None, name=None, patch=None,patchtype=None):
- tpl = os.sep.join([Conf.template_dir, "patch_view.tmpl"])
- sl = {'package':pkg, 'version':vers, 'name':name,
- 'patch':patch, 'patchtype':patchtype}
- sl['crumbs'] = [("package/"+pkg,pkg),
- ("package/"+pkg+"/"+vers, pkg+"/"+vers)]
- if patchtype == "debianonly":
- sl['crumbs'].append( ("patch/%s/view/%s/%s"%(patchtype,pkg,vers),
- "./debian-dir only patch") )
- elif patchtype == "series":
- sl['crumbs'].append(("patch/%s/view/%s/%s/%s"%(patchtype,pkg,vers,name),
- "series patch "+name) )
- elif patchtype == "misc":
- sl['crumbs'].append(("patch/%s/view/%s/%s/%s"%(patchtype,pkg,vers,name),
- "direct patch of "+name) )
- OurTemplate.__init__(self, file=tpl, searchList=sl)
-