Mercurial > p > roundup > code
comparison roundup/cgi/client.py @ 1128:3f3e94cbd170
nicer errors
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Thu, 12 Sep 2002 06:02:45 +0000 |
| parents | c26471971d18 |
| children | f7d798bc9344 |
comparison
equal
deleted
inserted
replaced
| 1127:22517f9e3b1e | 1128:3f3e94cbd170 |
|---|---|
| 1 # $Id: client.py,v 1.28 2002-09-11 23:54:25 richard Exp $ | 1 # $Id: client.py,v 1.29 2002-09-12 06:02:45 richard Exp $ |
| 2 | 2 |
| 3 __doc__ = """ | 3 __doc__ = """ |
| 4 WWW request handler (also used in the stand-alone server). | 4 WWW request handler (also used in the stand-alone server). |
| 5 """ | 5 """ |
| 6 | 6 |
| 1139 value = db.classes[link].lookup(value) | 1139 value = db.classes[link].lookup(value) |
| 1140 except KeyError: | 1140 except KeyError: |
| 1141 raise ValueError, _('property "%(propname)s": ' | 1141 raise ValueError, _('property "%(propname)s": ' |
| 1142 '%(value)s not a %(classname)s')%{'propname':key, | 1142 '%(value)s not a %(classname)s')%{'propname':key, |
| 1143 'value': value, 'classname': link} | 1143 'value': value, 'classname': link} |
| 1144 except TypeError, message: | |
| 1145 raise ValueError, _('you may only enter ID values ' | |
| 1146 'for property "%(propname)s": %(message)s'%{ | |
| 1147 'propname':key, 'message': message} | |
| 1144 elif isinstance(proptype, hyperdb.Multilink): | 1148 elif isinstance(proptype, hyperdb.Multilink): |
| 1145 if isinstance(value, type([])): | 1149 if isinstance(value, type([])): |
| 1146 # it's a list of MiniFieldStorages | 1150 # it's a list of MiniFieldStorages |
| 1147 value = [i.value.strip() for i in value] | 1151 value = [i.value.strip() for i in value] |
| 1148 else: | 1152 else: |
| 1158 entry = db.classes[link].lookup(entry) | 1162 entry = db.classes[link].lookup(entry) |
| 1159 except KeyError: | 1163 except KeyError: |
| 1160 raise ValueError, _('property "%(propname)s": ' | 1164 raise ValueError, _('property "%(propname)s": ' |
| 1161 '"%(value)s" not an entry of %(classname)s')%{ | 1165 '"%(value)s" not an entry of %(classname)s')%{ |
| 1162 'propname':key, 'value': entry, 'classname': link} | 1166 'propname':key, 'value': entry, 'classname': link} |
| 1167 except TypeError, message: | |
| 1168 raise ValueError, _('you may only enter ID values ' | |
| 1169 'for property "%(propname)s": %(message)s'%{ | |
| 1170 'propname':key, 'message': message} | |
| 1163 l.append(entry) | 1171 l.append(entry) |
| 1164 l.sort() | 1172 l.sort() |
| 1165 value = l | 1173 value = l |
| 1166 elif isinstance(proptype, hyperdb.Boolean): | 1174 elif isinstance(proptype, hyperdb.Boolean): |
| 1167 props[key] = value = value.lower() in ('yes', 'true', 'on', '1') | 1175 props[key] = value = value.lower() in ('yes', 'true', 'on', '1') |
