import errno import os import time import yaml import cliapp from yarnutils import * import distixapi datadir = os.environ['DATADIR'] srcdir = os.environ['SRCDIR'] vars = Variables(datadir) MAX_CAT_TIME = 5 # seconds def cat(filename): start = time.time() while time.time() - start < MAX_CAT_TIME: try: with open(filename) as f: data = f.read() if len(data) == 0: continue return data except (IOError, OSError) as e: if e.errno == errno.ENOENT: continue raise raise Exception("cat took more then %s seconds" % MAX_CAT_TIME) def load_users(): if os.path.exists('users.yaml'): with open('users.yaml') as f: return yaml.safe_load(f) return {'users': {}} def save_users(users): print 'saving', repr(users) with open('users.yaml', 'w') as f: yaml.safe_dump(users, stream=f)