def distinct_status_dirs(d): d = expand_and_make_dir(d) t = 'FIXIE_{0}_JOBS_DIR' for x, y in itertools.combinations(QUEUE_STATUSES, 2): xd = ENV.get(t.format(x.upper()), None) yd = ENV.get(t.format(y.upper()), None) if xd is not None and yd is not None and xd == yd: msg = '${0} and ${1} must have distinct values, got {2!r}' raise ValueError(msg.format(x, y, xd)) elif xd is not None and xd == d: msg = '${0} and new value must be distinct, got {1!r}' raise ValueError(msg.format(x, d)) elif yd is not None and yd == d: msg = '${0} and new value must be distinct, got {1!r}' raise ValueError(msg.format(y, d)) return d
def verify_user(user, token, url=None): """verifies a user/token pair. This happens either locally (if creds is available) or remotely (if $FIXIE_CREDS_URL was provided). """ url = ENV.get('FIXIE_CREDS_URL', '') if url is None else url if url: return verify_user(user, token, url) else: return verify_user_local(user, token)
def fixie_job_status_dir(status): """Ensures and returns the $FIXIE_{STATUS}_JOBS_DIR""" fsjd = os.path.join(ENV.get('FIXIE_JOBS_DIR'), status) os.makedirs(fsjd, exist_ok=True) return fsjd