changeset 70:09c95c2549f3

FileStorage-based revision mapping is now created by default in easy.make_wsgi_app(). Added FileStorage.get().
author Atul Varma <avarma@mozilla.com>
date Tue, 29 Jun 2010 21:52:27 -0700
parents 4b260d4ca1d4
children ad7928372221
files summitidp/easy.py summitidp/file_storage.py
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/summitidp/easy.py	Tue Jun 29 21:45:47 2010 -0700
+++ b/summitidp/easy.py	Tue Jun 29 21:52:27 2010 -0700
@@ -19,8 +19,10 @@
     challenge_dir = os.path.join(storage_dir, 'challenge-tokens')
     auth_dir = os.path.join(storage_dir, 'auth-tokens')
     profile_dir = os.path.join(storage_dir, 'profiles')
+    rev_dir = os.path.join(storage_dir, 'profiles-revinfo')
 
-    ensure_dirs(storage_dir, challenge_dir, auth_dir, profile_dir)
+    ensure_dirs(storage_dir, challenge_dir, auth_dir, profile_dir,
+                rev_dir)
 
     server = Server(
         emails=json.loads(open(emails_file).read()),
@@ -29,7 +31,8 @@
                                     mapping=FileStorage(challenge_dir)),
         auth_tokens=TokenStore(lifetime=AUTH_TOKEN_LIFETIME,
                                mapping=FileStorage(auth_dir)),
-        profiles=ProfileStore(FileStorage(profile_dir))
+        profiles=ProfileStore(mapping=FileStorage(profile_dir),
+                              rev_mapping=FileStorage(rev_dir))
         )
 
     return synced_app(server.wsgi_app)
--- a/summitidp/file_storage.py	Tue Jun 29 21:45:47 2010 -0700
+++ b/summitidp/file_storage.py	Tue Jun 29 21:52:27 2010 -0700
@@ -26,7 +26,11 @@
     >>> for name in fs:
     ...   print name
     blah
+    >>> fs.get('blah', 0)
+    {u'foo': 1}
     >>> del fs['blah']
+    >>> fs.get('blah', 0)
+    0
     >>> 'blah' in fs
     False
     >>> '9-p' in fs
@@ -72,6 +76,11 @@
     def __setitem__(self, name, value):
         open(self.__filename(name), 'w').write(json.dumps(value))
 
+    def get(self, name, default=None):
+        if not name in self:
+            return default
+        return self[name]
+
 if __name__ == '__main__':
     import doctest