def __init__(self, root, url, rewrite): self.path = utils.path2tuple(rewrite.rewrite) self.url = to_url(url + rewrite.original) parts = urlparse.urlparse(self.url) self.server_url = urlparse.urlunparse(parts[:2] + ('',) * 4) self.server_script = split_path_info(parts[2]) self.skin = rewrite.skin self.skin_enforce = rewrite.skin_enforce try: traverse(self.path, root) except zExceptions.BadRequest: raise ValueError(u"Invalid rewrite path %s" % rewrite.rewrite)
def __init__(self, root, url, rewrites): self.url = url self.key = utils.url2tuple(url) self.by_url = utils.TupleMap() self.by_path = utils.TupleMap() base = self.key[3:] for rewrite in rewrites: rule = RewriteRule(root, url, rewrite) try: self.by_url.add( base + utils.path2tuple(rewrite.original), rule) except KeyError: raise ValueError( u"Duplicate url entry for %s in %s" % ( rewrite.original, url)) try: self.by_path.add(rule.path, rule) except KeyError: raise ValueError( u"Duplicate path entry for %s in %s" % ( rewrite.rewrite, url))