class TokenQuery(object): def __init__(self, router): self._token = Token(router) def get(self, key): return self._token.get(key, first=True) def put(self, key, value): return self._token.put(key, value) def delete(self, key): return self._token.delete(key)
def create_token(login, login_type): if login_type == "jid": login = resolve_alias(login) tmp = tempfile.mktemp(suffix="", prefix="", dir="") token = Token(token=tmp, login=login, login_type=login_type, active=1) token.put(force_insert=True) base_url = get_setting("web_api_root", "http://localhost:8080").rstrip("/") url = "%s/api/auth?token=%s" % (base_url, tmp) message = "A third-party application is requesting access to your account. If that was you, follow this link:\n%s\n" % url if login_type == "jid": msg = Message(re=login, message=message) msg.put() else: run(["mail", "-s", "Your token", login], stdin_data=message) commit() return url