web/views/urlpublishing.py
changeset 5174 78438ad513ca
parent 4252 6c4f109c2b03
child 5302 dfd147de06b2
equal deleted inserted replaced
5173:73760bbb66bd 5174:78438ad513ca
   128     priority = 1
   128     priority = 1
   129     def evaluate_path(self, req, parts):
   129     def evaluate_path(self, req, parts):
   130         if len(parts) != 1:
   130         if len(parts) != 1:
   131             raise PathDontMatch()
   131             raise PathDontMatch()
   132         try:
   132         try:
   133             rset = req.execute('Any X WHERE X eid %(x)s',
   133             rset = req.execute('Any X WHERE X eid %(x)s', {'x': typed_eid(parts[0])})
   134                                {'x': typed_eid(parts[0])}, 'x')
       
   135         except ValueError:
   134         except ValueError:
   136             raise PathDontMatch()
   135             raise PathDontMatch()
   137         if rset.rowcount == 0:
   136         if rset.rowcount == 0:
   138             raise NotFound()
   137             raise NotFound()
   139         return None, rset
   138         return None, rset
   176 
   175 
   177     def attr_rset(self, req, etype, attrname, value):
   176     def attr_rset(self, req, etype, attrname, value):
   178         rql = u'Any X WHERE X is %s, X %s %%(x)s' % (etype, attrname)
   177         rql = u'Any X WHERE X is %s, X %s %%(x)s' % (etype, attrname)
   179         if attrname == 'eid':
   178         if attrname == 'eid':
   180             try:
   179             try:
   181                 rset = req.execute(rql, {'x': typed_eid(value)}, 'x')
   180                 rset = req.execute(rql, {'x': typed_eid(value)})
   182             except (ValueError, TypeResolverException):
   181             except (ValueError, TypeResolverException):
   183                 # conflicting eid/type
   182                 # conflicting eid/type
   184                 raise PathDontMatch()
   183                 raise PathDontMatch()
   185         else:
   184         else:
   186             rset = req.execute(rql, {'x': value})
   185             rset = req.execute(rql, {'x': value})