X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-routefs.git/blobdiff_plain/ca61e30d8f2b2a794374ab3f424df9d5337e778a..647c24eb3a1389914b5dd9e8f3f69b1d86d6bf0b:/routefs/dictfs.py diff --git a/routefs/dictfs.py b/routefs/dictfs.py index 9b88485..00deae9 100644 --- a/routefs/dictfs.py +++ b/routefs/dictfs.py @@ -10,41 +10,42 @@ A dictionary represents a directory, with keys corresponding to file names and the values corresponding to the file contents. """ -import routefs -from routes import Mapper + import os +from routes import Mapper + +import routefs + + class DictFS(routefs.RouteFS): - controllers = ['handler'] - @property def files(self): """ This property should be overridden in your DictFS descendant """ return dict() - - @property - def map(self): + + def make_map(self): m = Mapper() - - m.connect('*path', controller='handler') - + + m.connect('/{path:.*}', controller='handler') + return m - + def handler(self, path, **kwargs): if path != '': elements = path.split(os.path.sep) else: elements = [] - + try: tree = self.files for elt in elements: tree = tree[elt] except KeyError: return - + if type(tree) is dict: return tree.keys() else: