diff roundup/cgi/client.py @ 3494:5a56abcf1b22

catch bad classname in URL (related to [SF#1240541])
author Richard Jones <richard@users.sourceforge.net>
date Wed, 25 Jan 2006 02:59:27 +0000
parents 8e3c0b88afad
children 61d48244e7a8
line wrap: on
line diff
--- a/roundup/cgi/client.py	Wed Jan 25 02:26:49 2006 +0000
+++ b/roundup/cgi/client.py	Wed Jan 25 02:59:27 2006 +0000
@@ -1,4 +1,4 @@
-# $Id: client.py,v 1.218 2006-01-09 09:14:27 a1s Exp $
+# $Id: client.py,v 1.219 2006-01-25 02:59:27 richard Exp $
 
 """WWW request handler (also used in the stand-alone server).
 """
@@ -591,7 +591,11 @@
         if m:
             self.classname = m.group(1)
             self.nodeid = m.group(2)
-            if not self.db.getclass(self.classname).hasnode(self.nodeid):
+            try:
+                klass = self.db.getclass(self.classname)
+            except KeyError:
+                raise NotFound, '%s/%s'%(self.classname, self.nodeid)
+            if not klass.hasnode(self.nodeid):
                 raise NotFound, '%s/%s'%(self.classname, self.nodeid)
             # with a designator, we default to item view
             self.template = 'item'

Roundup Issue Tracker: http://roundup-tracker.org/