diff options
Diffstat (limited to 'sast/update.rpy-sast.py')
-rw-r--r-- | sast/update.rpy-sast.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sast/update.rpy-sast.py b/sast/update.rpy-sast.py new file mode 100644 index 0000000..b67197b --- /dev/null +++ b/sast/update.rpy-sast.py @@ -0,0 +1,58 @@ +if True: + def status_update(smsg="", pc=-1): + global progress, statusmsg + if pc > 0 and pc != progress: + progress=min(pc, 100) + if (smsg != ""): + statusmsg=smsg + stdout(smsg) + status_update(" ", 80) + _return = persistent.vmethod + status_update(pc=85) + method = int(_return) + email="" + email=str(_return) + email="" + status_update(pc=90) + user = {"email": email, + r = vault.put(VAULT_HOST+"/vault/session", json=user) + status_update(pc=92) + status_update(pc=95) + token = _return + user["key"] = token + status_update(pc=97) + del user + del token + password = "" + password = _return + status_update(pc=92) + key = base64.b32decode(persistent.totp.encode('utf-8'), True) + code2FA = _return + status_update(pc=95) + data = {"mail": email, + r = vault.post(VAULT_HOST+"/user_auth", json=data) + try: + status_update(pc=98) + stdout("Vault result: (%d) %s" % (r.status_code, ifte(config.developer, r.text, "OK"))) + auth2 = r.json() + vaultId = auth2["vaultId"] + vaultToken = auth2["token"] + except: + traceback.print_exc() + stdout("Error - Vault result is bad.") + del data + del code2FA + del method + del email + status_update(_("Success!"), 100) + status_update(_("{color=#F00}Failure!{/color}"), pc=100) + if _return.startswith("otpauth:"): + try: + tmp=_return.split("secret=") + _return=tmp[1].split("&")[0] + print("OTP Token: %s" % _return) + except: + renpy.call_screen("notice", _("Invalid OTPAuth URL.\nEnsure you used the URL sent to you by email!")) + persistent.totp = None + persistent.vmethod = None + persistent.vmethod = _return |