diff options
Diffstat (limited to 'patchtracker')
-rwxr-xr-x | patchtracker/ReqHandler.py | 63 | ||||
-rwxr-xr-x | patchtracker/Templates.py | 22 |
2 files changed, 3 insertions, 82 deletions
diff --git a/patchtracker/ReqHandler.py b/patchtracker/ReqHandler.py index da23525..ca81be7 100755 --- a/patchtracker/ReqHandler.py +++ b/patchtracker/ReqHandler.py @@ -5,9 +5,7 @@ import os import sys import patchtracker.Conf as Conf -from patchtracker.Templates import ErrorTemplate, PatchTemplate, LetterTocTemplate, FrontPageTemplate, SearchResultsTemplate -from patchtracker.DiffGzHandler import DiffGzHandler, DiffGzException -from patchtracker.DebTarHandler import DebTarHandler +from patchtracker.Templates import ErrorTemplate, LetterTocTemplate, FrontPageTemplate, SearchResultsTemplate from patchtracker.CacheObject import CacheObject, CacheMissException import patchtracker.DB as DB from patchtracker.DB import PatchTrackerDB @@ -35,58 +33,6 @@ class ErrorCmd(Cmd): def output(self): return str(ErrorTemplate(self.msg)) -class PatchCmd(Cmd): - def __init__(self, args): - Cmd.__init__(self) - self.db = PatchTrackerDB() - self.patchtype,mode,pkgname,version = args[0:4] - self.parsemode(mode) - dh = self.make_diffhandler(pkgname,version) - if self.patchtype == "series": - self.patchname = os.sep.join(args[4:]) - self.content = dh.series().fetch(self.patchname) - elif self.patchtype == "debianonly": - self.patchname = "debian-dir only changes" - self.content = dh.debiandir() - elif self.patchtype == "nondebian": - self.patchname = "direct (non packaging) changes" - self.content = dh.nondebiandir() - elif self.patchtype == "misc": - self.patchname = os.sep.join(args[4:]) - self.content = dh.filterdiff(include=self.patchname) - else: - raise ReqHandlerException("unhandled patch type '%s'"%(self.patchtype)) - self.pkgname = pkgname - self.version = version - - def parsemode(self, mode): - if mode == "view" or mode == "dl": - self.mode = mode - else: - raise ReqHandlerException("unhandled display mode '%s'"%(mode)) - if mode == "dl": - self.content_type = "text/x-diff" - - # XXX this is kinda ugly... - def make_diffhandler(self, pkgname, vers): - dfile = self.db.findDiffGz(pkgname,vers) - if dfile: - return DiffGzHandler(dfile) - else: - dfile = self.db.findDebTar(pkgname, vers) - if dfile: - return DebTarHandler(dfile) - else: - raise ReqHandlerException("can not find diff file for %s / %s"%(pkgname,vers)) - - def output(self): - if self.mode == "dl": - return str(self.content) - else: - return str(PatchTemplate(pkg=self.pkgname,vers=self.version, - patch=self.content,name=self.patchname, - patchtype=self.patchtype)) - class PackageCmd(Cmd): def __init__(self, args): Cmd.__init__(self) @@ -173,10 +119,7 @@ class CmdHandler: args = uri[len(Conf.root_url)+1:].split("/") cmdarg = args[0] cacheable = False - if cmdarg == "patch": - self.cmd = PatchCmd(args[1:]) - cacheable = True - elif cmdarg == "package": + if cmdarg == "package": self.cmd = PackageCmd(args[1:]) if len(args[1:]) > 1: cacheable = True @@ -208,8 +151,6 @@ class CmdHandler: except CacheMissException: result = self.cmd.output() self.cacheobj.put(result) - except DiffGzException, e: - return ErrorCmd(str(e), "500 Oh Noez!!1!").output() return result diff --git a/patchtracker/Templates.py b/patchtracker/Templates.py index 7d599c5..42e07dc 100755 --- a/patchtracker/Templates.py +++ b/patchtracker/Templates.py @@ -1,6 +1,4 @@ -from patchtracker import Conf, DB -from patchtracker.DiffGzHandler import DiffGzHandler -from patchtracker.DebTarHandler import DebTarHandler +from patchtracker import Conf from patchtracker.SourceArchive import ReleaseList from Cheetah.Template import Template @@ -64,21 +62,3 @@ class ErrorTemplate(OurTemplate): 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) - |