diff options
-rw-r--r-- | patchtracker/DiffGzHandler.py | 5 | ||||
-rwxr-xr-x | patchtracker/ReqHandler.py | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/patchtracker/DiffGzHandler.py b/patchtracker/DiffGzHandler.py index 1f1c1de..96d862b 100644 --- a/patchtracker/DiffGzHandler.py +++ b/patchtracker/DiffGzHandler.py @@ -3,6 +3,9 @@ import sys import os from Patch import Patch, PatchSeries +class DiffGzException(Exception): + pass + class DiffGzHandler: diff = None def __init__(self,fname): @@ -21,7 +24,7 @@ class DiffGzHandler: p = Patch(o) err = e.read() if len(err): - raise Exception("filterdiff gave errors:",err) + raise DiffGzException("filterdiff gave errors: "+err) return p def debiandir(self): diff --git a/patchtracker/ReqHandler.py b/patchtracker/ReqHandler.py index a41114f..a87fd68 100755 --- a/patchtracker/ReqHandler.py +++ b/patchtracker/ReqHandler.py @@ -6,7 +6,7 @@ import sys import patchtracker.Conf as Conf from patchtracker.Templates import ErrorTemplate, PatchTemplate, PackageVersTemplate, LetterTocTemplate, FrontPageTemplate, SearchResultsTemplate -from patchtracker.DiffGzHandler import DiffGzHandler +from patchtracker.DiffGzHandler import DiffGzHandler, DiffGzException import patchtracker.DB as DB from patchtracker.DB import PatchTrackerDB import pygments @@ -182,4 +182,7 @@ class CmdHandler: self.status = self.cmd.status def output(self): - return self.cmd.output() + try: + return self.cmd.output() + except DiffGzException, e: + return ErrorCmd(str(e), "500 Oh Noez!!1!").output() |