From 1da614e3dab88f4a7ccf97630e808c1c119a0f90 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sat, 5 Jul 2008 00:43:33 +0000 Subject: policy -> traversal. --- repoze/bfg/policy.py | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 repoze/bfg/policy.py (limited to 'repoze/bfg/policy.py') diff --git a/repoze/bfg/policy.py b/repoze/bfg/policy.py deleted file mode 100644 index 697350b16..000000000 --- a/repoze/bfg/policy.py +++ /dev/null @@ -1,47 +0,0 @@ -import urllib - -from zope.interface import implements - -from repoze.bfg.interfaces import ITraversalPolicy -from repoze.bfg.interfaces import ITraverser - -def split_path(path): - if path.startswith('/'): - path = path[1:] - if path.endswith('/'): - path = path[:-1] - clean=[] - for item in path.split('/'): - item = urllib.unquote(item) # deal with spaces in path segment - if not item or item=='.': - continue - elif item == '..': - del clean[-1] - else: - clean.append(item) - return clean - -class NaiveTraversalPolicy: - implements(ITraversalPolicy) - - def __call__(self, environ, root): - path = split_path(environ['PATH_INFO']) - - ob = root - name = '' - - while path: - element = pop(path) - traverser = ITraverser(ob) - next = traverser(environ, element) - if next is None: - if path: - name = pop(path) - break - ob = next - - return ob, name, path - -def pop(path): - return path.pop(0) - -- cgit v1.2.3