コード例 #1
0
ファイル: service.py プロジェクト: silvacms/silva.app.forest
 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)
コード例 #2
0
ファイル: service.py プロジェクト: silvacms/silva.app.forest
    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))