web/views/urlrewrite.py
branchtls-sprint
changeset 1132 96752791c2b6
parent 722 50a99184cf47
child 1398 5fe84a5f7035
equal deleted inserted replaced
1131:544609e83317 1132:96752791c2b6
    90     
    90     
    91     def rewrite(self, req, uri):
    91     def rewrite(self, req, uri):
    92         """for each `input`, `output `in rules, if `uri` matches `input`,
    92         """for each `input`, `output `in rules, if `uri` matches `input`,
    93         req's form is updated with `output`
    93         req's form is updated with `output`
    94         """
    94         """
    95         rset = None
       
    96         for data in self.rules:
    95         for data in self.rules:
    97             try:
    96             try:
    98                 inputurl, infos, required_groups = data
    97                 inputurl, infos, required_groups = data
    99             except ValueError:
    98             except ValueError:
   100                 inputurl, infos = data
    99                 inputurl, infos = data
   107                     break
   106                     break
   108             elif inputurl.match(uri): # it's a regexp
   107             elif inputurl.match(uri): # it's a regexp
   109                 # XXX what about i18n ? (vtitle for instance)
   108                 # XXX what about i18n ? (vtitle for instance)
   110                 for param, value in infos.items():
   109                 for param, value in infos.items():
   111                     if isinstance(value, basestring):
   110                     if isinstance(value, basestring):
   112                         req.form[param]= inputurl.sub(value, uri)
   111                         req.form[param] = inputurl.sub(value, uri)
   113                     else:
   112                     else:
   114                         req.form[param] = value
   113                         req.form[param] = value
   115                 break
   114                 break
   116         else:
   115         else:
   117             self.debug("no simple rewrite rule found for %s", uri)
   116             self.debug("no simple rewrite rule found for %s", uri)