diff options
Diffstat (limited to 'patchtracker/ReqHandler.py')
-rwxr-xr-x | patchtracker/ReqHandler.py | 63 |
1 files changed, 2 insertions, 61 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 |