public
Description: TOTALLY NOT EVEN CLOSE TO WORKING YET. An efficient URL-to-options mapper.
Clone URL: git://github.com/codahale/path_mapper.git
No reason to hide PrefixTree.root or .wildcard anymore.
codahale (author)
Sat Apr 19 02:45:12 -0700 2008
commit  798765823d55fbc6dd6631d9e59cc5f8382eef00
tree    e2780d3177fa0b6a7ed615d891758efcad4b99fb
parent  d291e5922aaad2c354598c9028c8b19d48fb3e7b
...
15
16
17
18
 
19
20
 
21
22
 
23
24
25
...
32
33
34
35
 
36
37
38
39
40
41
 
 
42
43
44
...
60
61
62
63
 
64
65
66
...
78
79
80
81
 
82
83
84
...
15
16
17
 
18
19
 
20
21
 
22
23
24
25
...
32
33
34
 
35
36
37
38
39
 
 
40
41
42
43
44
...
60
61
62
 
63
64
65
66
...
78
79
80
 
81
82
83
84
0
@@ -15,11 +15,11 @@ class PrefixTree(object):
0
       wildcard matching will be performed.
0
     """
0
     super(PrefixTree, self).__init__()
0
- self.__root = [None, dict()]
0
+ self.root = [None, dict()]
0
     if wildcard:
0
- self.__wildcard = hash(wildcard)
0
+ self.wildcard = hash(wildcard)
0
     else:
0
- self.__wildcard = None
0
+ self.wildcard = None
0
   
0
   def get(self, key, default=None):
0
     """
0
@@ -32,13 +32,13 @@ class PrefixTree(object):
0
         >>> tree.get('unknown', 0)
0
         0
0
     """
0
- node = self.__root
0
+ node = self.root
0
     for element in key:
0
       h = hash(element)
0
       if h in node[1]:
0
         node = node[1][h]
0
- elif self.__wildcard and (self.__wildcard in node[1]):
0
- node = node[1][self.__wildcard]
0
+ elif self.wildcard and (self.wildcard in node[1]):
0
+ node = node[1][self.wildcard]
0
       else:
0
         return default
0
     return node[0]
0
@@ -60,7 +60,7 @@ class PrefixTree(object):
0
     """
0
     if value == None:
0
       raise ValueError, 'None is not a valid value'
0
- node = self.__root
0
+ node = self.root
0
     for element in key:
0
       node = node[1].setdefault(hash(element), [None, {}])
0
     node[0] = value
0
@@ -78,7 +78,7 @@ class PrefixTree(object):
0
     """
0
     if default == None:
0
       raise ValueError, 'None is not a valid default'
0
- node = self.__root
0
+ node = self.root
0
     for element in key:
0
       node = node[1].setdefault(hash(element), [None, {}])
0
     if node[0] == None:

Comments

    No one has commented yet.