db with open

switch to using with open
This commit is contained in:
Brian Martin 2019-06-18 20:18:54 -04:00
parent f2585b0450
commit f0c13dc8e2

View file

@ -291,54 +291,61 @@ def user_by_deviceid(deviceid):
def user_full_upsert(user): def user_full_upsert(user):
users = db_get().table("users") opendb = db_get()
User = Query() with opendb:
users.upsert(user, User.did == user["userid"]) users = opendb.table("users")
User = Query()
users.upsert(user, User.did == user["userid"])
def user_add_device(userid, devid): def user_add_device(userid, devid):
users = db_get().table("users") opendb = db_get()
User = Query() with opendb:
user = users.get(User.userid == userid) users = opendb.table("users")
userdevices = list(user["devices"]) User = Query()
if not devid in userdevices: user = users.get(User.userid == userid)
userdevices.append(devid) userdevices = list(user["devices"])
if not devid in userdevices:
userdevices.append(devid)
users.upsert({"devices": userdevices}, User.userid == userid) users.upsert({"devices": userdevices}, User.userid == userid)
def user_remove_device(userid, devid): def user_remove_device(userid, devid):
users = db_get().table("users") opendb = db_get()
User = Query() with opendb:
user = users.get(User.userid == userid) users = opendb.table("users")
userdevices = list(user["devices"]) User = Query()
if devid in userdevices: user = users.get(User.userid == userid)
userdevices.remove(devid) userdevices = list(user["devices"])
if devid in userdevices:
users.upsert({"devices": userdevices}, User.userid == userid) userdevices.remove(devid)
users.upsert({"devices": userdevices}, User.userid == userid)
def user_add_bot(userid, did): def user_add_bot(userid, did):
users = db_get().table("users") opendb = db_get()
User = Query() with opendb:
user = users.get(User.userid == userid) users = opendb.table("users")
userbots = list(user["bots"]) User = Query()
if not did in userbots: user = users.get(User.userid == userid)
userbots.append(did) userbots = list(user["bots"])
if not did in userbots:
users.upsert({"bots": userbots}, User.userid == userid) userbots.append(did)
users.upsert({"bots": userbots}, User.userid == userid)
def user_remove_bot(userid, did): def user_remove_bot(userid, did):
users = db_get().table("users") opendb = db_get()
User = Query() with opendb:
user = users.get(User.userid == userid) users = opendb.table("users")
userbots = list(user["bots"]) User = Query()
if did in userbots: user = users.get(User.userid == userid)
userbots.remove(did) userbots = list(user["bots"])
if did in userbots:
users.upsert({"bots": userbots}, User.userid == userid) userbots.remove(did)
users.upsert({"bots": userbots}, User.userid == userid)
def user_get_tokens(userid): def user_get_tokens(userid):
tokens = db_get().table("tokens") tokens = db_get().table("tokens")
@ -351,61 +358,69 @@ def user_get_token(userid, token):
def user_add_token(userid, token): def user_add_token(userid, token):
tokens = db_get().table("tokens") opendb = db_get()
tmptoken = tokens.get((Query().userid == userid) & (Query().token == token)) with opendb:
if not tmptoken: tokens = opendb.table("tokens")
bumperlog.debug("Adding token {} for userid {}".format(token, userid)) tmptoken = tokens.get((Query().userid == userid) & (Query().token == token))
tokens.insert( if not tmptoken:
{ bumperlog.debug("Adding token {} for userid {}".format(token, userid))
"userid": userid, tokens.insert(
"token": token, {
"expiration": "{}".format( "userid": userid,
datetime.now() + timedelta(seconds=token_validity_seconds) "token": token,
), "expiration": "{}".format(
} datetime.now() + timedelta(seconds=token_validity_seconds)
) ),
}
)
def user_revoke_all_tokens(userid): def user_revoke_all_tokens(userid):
tokens = db_get().table("tokens") opendb = db_get()
tsearch = tokens.search(Query().userid == userid) with opendb:
for i in tsearch: tokens = opendb.table("tokens")
tokens.remove(doc_ids=[i.doc_id]) tsearch = tokens.search(Query().userid == userid)
for i in tsearch:
tokens.remove(doc_ids=[i.doc_id])
def user_revoke_expired_tokens(userid): def user_revoke_expired_tokens(userid):
tokens = db_get().table("tokens") opendb = db_get()
tsearch = tokens.search(Query().userid == userid) with opendb:
for i in tsearch: tokens = opendb.table("tokens")
if datetime.now() >= datetime.fromisoformat(i["expiration"]): tsearch = tokens.search(Query().userid == userid)
bumperlog.debug("Removing token {} due to expiration".format(i["token"])) for i in tsearch:
tokens.remove(doc_ids=[i.doc_id]) if datetime.now() >= datetime.fromisoformat(i["expiration"]):
bumperlog.debug("Removing token {} due to expiration".format(i["token"]))
tokens.remove(doc_ids=[i.doc_id])
def user_revoke_token(userid, token): def user_revoke_token(userid, token):
tokens = db_get().table("tokens") opendb = db_get()
tmptoken = tokens.get((Query().userid == userid) & (Query().token == token)) with opendb:
if tmptoken: tokens = opendb.table("tokens")
tokens.remove(doc_ids=[tmptoken.doc_id]) tmptoken = tokens.get((Query().userid == userid) & (Query().token == token))
if tmptoken:
tokens.remove(doc_ids=[tmptoken.doc_id])
def user_add_authcode(userid, token, authcode): def user_add_authcode(userid, token, authcode):
tokens = db_get().table("tokens") opendb = db_get()
tmptoken = tokens.get((Query().userid == userid) & (Query().token == token)) with opendb:
if tmptoken: tokens = opendb.table("tokens")
tokens.upsert( tmptoken = tokens.get((Query().userid == userid) & (Query().token == token))
{"authcode": authcode}, if tmptoken:
((Query().userid == userid) & (Query().token == token)), tokens.upsert(
) {"authcode": authcode},
((Query().userid == userid) & (Query().token == token)),
)
def user_revoke_authcode(userid, token, authcode): def user_revoke_authcode(userid, token, authcode):
tokens = db_get().table("tokens") opendb = db_get()
tmptoken = tokens.get((Query().userid == userid) & (Query().token == token)) with opendb:
if tmptoken: tokens = opendb.table("tokens")
tokens.upsert( tmptoken = tokens.get((Query().userid == userid) & (Query().token == token))
{"authcode": ""}, ((Query().userid == userid) & (Query().token == token)) if tmptoken:
) tokens.upsert(
{"authcode": ""}, ((Query().userid == userid) & (Query().token == token))
)
class VacBotDevice(object): class VacBotDevice(object):