Fixes in sessions
This commit is contained in:
parent
35d74a13f2
commit
8436d37206
2 changed files with 103 additions and 26 deletions
|
|
@ -226,6 +226,9 @@ def format_local_fulldate(timeform):
|
||||||
|
|
||||||
return format_datetime(format_date_txt+' '+format_time_txt, timeform, no_utc)
|
return format_datetime(format_date_txt+' '+format_time_txt, timeform, no_utc)
|
||||||
|
|
||||||
|
def format_local_strtime(strtime, timeform):
|
||||||
|
|
||||||
|
return format_datetime(strtime, timeform, no_utc)
|
||||||
|
|
||||||
#Input is utc timestamp, return local arrow object
|
#Input is utc timestamp, return local arrow object
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ except:
|
||||||
key_encrypt=create_key_encrypt_256(30)
|
key_encrypt=create_key_encrypt_256(30)
|
||||||
session_opts={'session.data_dir': 'sessions', 'session.type': 'file', 'session.path': 'paramecio'}
|
session_opts={'session.data_dir': 'sessions', 'session.type': 'file', 'session.path': 'paramecio'}
|
||||||
|
|
||||||
from itsdangerous import URLSafeSerializer
|
from itsdangerous import JSONWebSignatureSerializer
|
||||||
from bottle import request, response
|
from bottle import request, response
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
|
|
@ -82,31 +82,6 @@ class ParamecioSession:
|
||||||
|
|
||||||
save_session(self.session['token'], self.session)
|
save_session(self.session['token'], self.session)
|
||||||
|
|
||||||
def generate_session(session={}):
|
|
||||||
|
|
||||||
#secret=URLSafeSerializer(config.key_encrypt)
|
|
||||||
|
|
||||||
#session=secret.dumps(session)
|
|
||||||
|
|
||||||
token=create_key(30).replace('/', '#')
|
|
||||||
|
|
||||||
s={'token': token}
|
|
||||||
|
|
||||||
response.set_cookie(config.cookie_name, token, path=config.session_opts['session.path'])
|
|
||||||
|
|
||||||
request.environ['session']=s
|
|
||||||
|
|
||||||
return s
|
|
||||||
|
|
||||||
def regenerate_session():
|
|
||||||
|
|
||||||
token=create_key(30).replace('/', '#')
|
|
||||||
|
|
||||||
s={'token': token}
|
|
||||||
|
|
||||||
response.set_cookie(config.cookie_name, token, path=config.session_opts['session.path'])
|
|
||||||
|
|
||||||
return ParamecioSession(s)
|
|
||||||
|
|
||||||
def get_session():
|
def get_session():
|
||||||
|
|
||||||
|
|
@ -180,6 +155,105 @@ elif config.session_opts['session.type']=='redis':
|
||||||
pass
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
"""
|
||||||
|
def generate_session():
|
||||||
|
|
||||||
|
if config.cookie_name in request.environ:
|
||||||
|
|
||||||
|
request.environ[config.cookie_name].invalidate()
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
request.environ[config.cookie_name]=request.environ.get(config.cookie_name, {})
|
||||||
|
|
||||||
|
return request.environ[config.cookie_name]
|
||||||
|
|
||||||
|
def regenerate_session():
|
||||||
|
|
||||||
|
if config.cookie_name in request.environ:
|
||||||
|
|
||||||
|
request.environ[config.cookie_name].invalidate()
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
request.environ[config.cookie_name]=request.environ.get(config.cookie_name, {})
|
||||||
|
|
||||||
|
return request.environ[config.cookie_name]
|
||||||
|
|
||||||
|
def get_session():
|
||||||
|
print(request.environ.keys())
|
||||||
|
if config.cookie_name in request.environ:
|
||||||
|
|
||||||
|
return request.environ[config.cookie_name]
|
||||||
|
|
||||||
|
else:
|
||||||
|
return {}
|
||||||
|
"""
|
||||||
|
"""
|
||||||
|
secret=JSONWebSignatureSerializer(config.key_encrypt)
|
||||||
|
|
||||||
|
def generate_session():
|
||||||
|
|
||||||
|
token=create_key(30).replace('/', '#')
|
||||||
|
|
||||||
|
session={'token': token}
|
||||||
|
|
||||||
|
s=secret.dumps(session)
|
||||||
|
try:
|
||||||
|
response.set_cookie(config.cookie_name, session, path=config.session_opts['session.path'])
|
||||||
|
|
||||||
|
request.environ['session']=s
|
||||||
|
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return session
|
||||||
|
|
||||||
|
def regenerate_session():
|
||||||
|
|
||||||
|
s=generate_session()
|
||||||
|
|
||||||
|
return ParamecioSession(s)
|
||||||
|
|
||||||
|
def load_session(cookie):
|
||||||
|
|
||||||
|
try:
|
||||||
|
s=secret.loads(cookie)
|
||||||
|
|
||||||
|
except:
|
||||||
|
s={}
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def save_session(cookie, session):
|
||||||
|
generate_session(session)
|
||||||
|
"""
|
||||||
|
|
||||||
|
def generate_session(session={}):
|
||||||
|
|
||||||
|
#secret=URLSafeSerializer(config.key_encrypt)
|
||||||
|
|
||||||
|
#session=secret.dumps(session)
|
||||||
|
|
||||||
|
token=create_key(30).replace('/', '#')
|
||||||
|
|
||||||
|
s={'token': token}
|
||||||
|
|
||||||
|
response.set_cookie(config.cookie_name, token, path=config.session_opts['session.path'])
|
||||||
|
|
||||||
|
request.environ['session']=s
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def regenerate_session():
|
||||||
|
|
||||||
|
token=create_key(30).replace('/', '#')
|
||||||
|
|
||||||
|
s={'token': token}
|
||||||
|
|
||||||
|
response.set_cookie(config.cookie_name, token, path=config.session_opts['session.path'])
|
||||||
|
|
||||||
|
return ParamecioSession(s)
|
||||||
|
|
||||||
cache=Cache(config.session_opts['session.data_dir'])
|
cache=Cache(config.session_opts['session.data_dir'])
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue