Dramatic performance optimitations clean sessions in startup request
This commit is contained in:
parent
a04a9e1e86
commit
793b7a040f
3 changed files with 51 additions and 9 deletions
|
|
@ -66,16 +66,26 @@ if hasattr(config, 'format_time'):
|
|||
if hasattr(config, 'timezone'):
|
||||
timezone=config.timezone
|
||||
|
||||
@hook('before_request')
|
||||
#@hook('before_request')
|
||||
|
||||
def set_timezone():
|
||||
|
||||
environ['TZ']=environ.get('TZ', timezone)
|
||||
|
||||
if environ['TZ']!=timezone:
|
||||
environ['TZ']=timezone
|
||||
time.tzset()
|
||||
|
||||
def set_timezone_session():
|
||||
|
||||
s=get_session()
|
||||
|
||||
timezone_local=timezone
|
||||
|
||||
if s!=None:
|
||||
|
||||
timezone_local=s.get('timezone', timezone)
|
||||
if 'timezone' in s:
|
||||
timezone_local=s['timezone']
|
||||
#timezone_local=s.get('timezone', timezone)
|
||||
|
||||
environ['TZ']=environ.get('TZ', timezone_local)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from settings import config, modules
|
|||
from beaker.middleware import SessionMiddleware
|
||||
from mimetypes import guess_type
|
||||
from paramecio.cromosoma.webmodel import WebModel
|
||||
from paramecio.citoplasma.datetime import set_timezone
|
||||
from itsdangerous import JSONWebSignatureSerializer
|
||||
from paramecio.citoplasma.keyutils import create_key_encrypt, create_key_encrypt_256, create_key
|
||||
#from paramecio.citoplasma.sessions import generate_session
|
||||
|
|
@ -180,6 +181,8 @@ if config.debug==False:
|
|||
def error404(error):
|
||||
return 'Error: page not found'
|
||||
|
||||
set_timezone()
|
||||
|
||||
def run_app(app):
|
||||
|
||||
run(app=app, host=config.host, server=config.server_used, port=config.port, debug=config.debug, reloader=config.reloader)
|
||||
|
|
|
|||
|
|
@ -44,6 +44,25 @@ module_admin=path.dirname(__file__)
|
|||
|
||||
env=env_theme(__file__)
|
||||
|
||||
# Preload modules
|
||||
|
||||
#Load menu
|
||||
|
||||
menu=get_menu(config_admin.modules_admin)
|
||||
|
||||
#arr_admin_modules={for k, in menu}
|
||||
#d = {key: value[1] for (key, value) in menu.items()}
|
||||
"""
|
||||
d={}
|
||||
|
||||
for k, v in menu.items():
|
||||
|
||||
if k[:1]!='/':
|
||||
d[k]=v[1]
|
||||
|
||||
print(d)
|
||||
"""
|
||||
|
||||
@get('/'+config.admin_folder)
|
||||
@get('/'+config.admin_folder+'/<module>')
|
||||
@post('/'+config.admin_folder+'/<module>')
|
||||
|
|
@ -87,10 +106,6 @@ def home(module='', submodule=''):
|
|||
if c>0:
|
||||
|
||||
if s['privileges']==2:
|
||||
|
||||
#Load menu
|
||||
|
||||
menu=get_menu(config_admin.modules_admin)
|
||||
#pass
|
||||
|
||||
if module in menu:
|
||||
|
|
@ -117,7 +132,7 @@ def home(module='', submodule=''):
|
|||
print("-"*60)
|
||||
|
||||
return "No exists admin module"
|
||||
|
||||
|
||||
#args={'t': t, 'connection': connection}
|
||||
|
||||
content_index=new_module.admin(t=t, connection=connection)
|
||||
|
|
@ -164,6 +179,8 @@ def home(module='', submodule=''):
|
|||
s['login']=1
|
||||
s['privileges']=arr_user['privileges']
|
||||
|
||||
s.save()
|
||||
|
||||
redirect(make_url(config.admin_folder))
|
||||
|
||||
else:
|
||||
|
|
@ -220,6 +237,8 @@ def login():
|
|||
|
||||
s['csrf_token']=create_key_encrypt()
|
||||
|
||||
s.save()
|
||||
|
||||
return {'error': 1, 'csrf_token': s['csrf_token']}
|
||||
else:
|
||||
|
||||
|
|
@ -264,7 +283,7 @@ def login():
|
|||
response.set_cookie('remember_login', random_text, path="/", expires=timestamp, secret=key_encrypt)
|
||||
#else:
|
||||
#print(user_admin.query_error)
|
||||
#s.save()
|
||||
s.save()
|
||||
|
||||
return {'error': 0}
|
||||
else:
|
||||
|
|
@ -283,12 +302,16 @@ def login():
|
|||
|
||||
s['csrf_token']=create_key_encrypt()
|
||||
|
||||
s.save()
|
||||
|
||||
return {'error': 1, 'csrf_token': s['csrf_token']}
|
||||
else:
|
||||
s=get_session()
|
||||
|
||||
s['csrf_token']=create_key_encrypt()
|
||||
|
||||
s.save()
|
||||
|
||||
return {'error': 1, 'csrf_token': s['csrf_token']}
|
||||
|
||||
|
||||
|
|
@ -341,6 +364,8 @@ def register():
|
|||
|
||||
#error['password_repeat']=I18n.lang('common', 'password_no_match', 'Passwords doesn\'t match')
|
||||
|
||||
s.save()
|
||||
|
||||
return error
|
||||
|
||||
else:
|
||||
|
|
@ -412,6 +437,8 @@ def send_password():
|
|||
|
||||
s['csrf_token']=create_key_encrypt()
|
||||
|
||||
s.save()
|
||||
|
||||
return {'email': user_admin.fields['email'].txt_error, 'error': 1, 'csrf_token': s['csrf_token']}
|
||||
|
||||
else:
|
||||
|
|
@ -501,4 +528,6 @@ def check_code_token():
|
|||
|
||||
s['csrf_token']=create_key_encrypt()
|
||||
|
||||
s.save()
|
||||
|
||||
return {'token': 'Error: token is not valid', 'error': 1, 'csrf_token': s['csrf_token']}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue