Move section for clearing out old sessions

This commit is contained in:
Ben Busby 2021-11-17 19:04:48 -07:00
parent eb514817fb
commit e0c4d59af4
No known key found for this signature in database
GPG Key ID: 339B7B7EB5333D14

View File

@ -66,26 +66,28 @@ def session_required(f):
'cookies_disabled' not in request.args):
g.session_key = session['key']
else:
invalid_sessions = []
session.pop('_permanent', None)
for user_session in os.listdir(app.config['SESSION_FILE_DIR']):
session_path = os.path.join(
app.config['SESSION_FILE_DIR'],
user_session)
try:
with open(session_path, 'rb') as session_file:
_ = pickle.load(session_file)
data = pickle.load(session_file)
if isinstance(data, dict) and 'valid' in data:
continue
invalid_sessions.append(session_path)
except FileNotFoundError:
pass
for invalid_session in invalid_sessions:
os.remove(invalid_session)
g.session_key = app.default_key
# Clear out old sessions
invalid_sessions = []
for user_session in os.listdir(app.config['SESSION_FILE_DIR']):
session_path = os.path.join(
app.config['SESSION_FILE_DIR'],
user_session)
try:
with open(session_path, 'rb') as session_file:
_ = pickle.load(session_file)
data = pickle.load(session_file)
if isinstance(data, dict) and 'valid' in data:
continue
invalid_sessions.append(session_path)
except (EOFError, FileNotFoundError):
pass
for invalid_session in invalid_sessions:
os.remove(invalid_session)
return f(*args, **kwargs)
return decorated