diff options
author | Jonah BrĂ¼chert <jbb@kaidan.im> | 2024-03-28 06:22:55 +0100 |
---|---|---|
committer | Jonah BrĂ¼chert <jbb@kaidan.im> | 2024-03-28 16:57:21 +0100 |
commit | a3f0c006b5fb5beab1704aad56777dcd98c42efb (patch) | |
tree | 2a2acb62303c25a299aea4030eff55bca7e28650 /accounts/utils/sessions.py | |
parent | d5977387f3e6716cc7594dc872539ccd7f130524 (diff) | |
download | web-a3f0c006b5fb5beab1704aad56777dcd98c42efb.tar.gz web-a3f0c006b5fb5beab1704aad56777dcd98c42efb.tar.bz2 web-a3f0c006b5fb5beab1704aad56777dcd98c42efb.zip |
Add some type annotations
Diffstat (limited to 'accounts/utils/sessions.py')
-rw-r--r-- | accounts/utils/sessions.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/accounts/utils/sessions.py b/accounts/utils/sessions.py index 5d01b5d..e156f0c 100644 --- a/accounts/utils/sessions.py +++ b/accounts/utils/sessions.py @@ -3,9 +3,12 @@ from Crypto import Random from Crypto.Cipher import AES -from flask import current_app +from flask import Flask from flask.sessions import TaggedJSONSerializer, SecureCookieSessionInterface from itsdangerous import BadPayload +from accounts.app import accounts_app + +from typing import cast def _pad(value, block_size): @@ -25,7 +28,7 @@ class EncryptedSerializer(TaggedJSONSerializer): self.block_size = AES.block_size def _cipher(self, iv): - key = current_app.config['SESSION_ENCRYPTION_KEY'] + key = accounts_app.config['SESSION_ENCRYPTION_KEY'] assert len(key) == 32 return AES.new(key, AES.MODE_CBC, iv) @@ -53,11 +56,12 @@ class EncryptedSerializer(TaggedJSONSerializer): class EncryptedSessionInterface(SecureCookieSessionInterface): serializer = EncryptedSerializer() - def open_session(self, app, request): + def open_session(self, app: Flask, request): session = None try: parent = super(EncryptedSessionInterface, self) - session = parent.open_session(app, request) + session = cast(EncryptedSessionInterface, parent) \ + .open_session(app, request) except BadPayload: session = self.session_class() |