summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patchtracker/DiffGzHandler.py5
-rwxr-xr-xpatchtracker/ReqHandler.py7
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()