Mercurial > summit-idp
view summitidp/easy.py @ 62:50297a64414c
Added locking.py for super non-grannular thread safety, and more tests.
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Tue, 29 Jun 2010 11:17:34 -0700 |
parents | 818e16d3f262 |
children | 09c95c2549f3 |
line wrap: on
line source
import os import datetime import json from summitidp.app import Server, TokenStore, ProfileStore from summitidp.file_storage import FileStorage from summitidp.locking import synced_app CHALLENGE_TOKEN_LIFETIME = datetime.timedelta(days=1) AUTH_TOKEN_LIFETIME = None def ensure_dirs(*paths): for path in paths: if not os.path.exists(path): os.mkdir(path) def make_wsgi_app(storage_dir, send_email): emails_file = os.path.join(storage_dir, 'attendees.json') 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') ensure_dirs(storage_dir, challenge_dir, auth_dir, profile_dir) server = Server( emails=json.loads(open(emails_file).read()), send_email=send_email, challenge_tokens=TokenStore(lifetime=CHALLENGE_TOKEN_LIFETIME, mapping=FileStorage(challenge_dir)), auth_tokens=TokenStore(lifetime=AUTH_TOKEN_LIFETIME, mapping=FileStorage(auth_dir)), profiles=ProfileStore(FileStorage(profile_dir)) ) return synced_app(server.wsgi_app)