Move section for clearing out old sessions
This commit is contained in:
parent
eb514817fb
commit
e0c4d59af4
|
@ -66,26 +66,28 @@ def session_required(f):
|
||||||
'cookies_disabled' not in request.args):
|
'cookies_disabled' not in request.args):
|
||||||
g.session_key = session['key']
|
g.session_key = session['key']
|
||||||
else:
|
else:
|
||||||
invalid_sessions = []
|
|
||||||
session.pop('_permanent', None)
|
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
|
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 f(*args, **kwargs)
|
||||||
|
|
||||||
return decorated
|
return decorated
|
||||||
|
|
Loading…
Reference in New Issue
Block a user