Many fixes

This commit is contained in:
Antonio de la Rosa 2016-05-21 05:41:19 +02:00
parent 31d693756f
commit a2e8c937f7
6 changed files with 127 additions and 109 deletions

View file

@ -52,7 +52,7 @@ class ptemplate:
self.module_directory="./tmp/modules"
self.env=self.env_theme(module)
self.inject_folder=None
self.filters={}
@ -75,41 +75,35 @@ class ptemplate:
self.add_filter(I18n.lang)
self.add_filter(add_css_home)
self.headerhtml=HeaderHTML()
self.add_filter(add_js_home)
self.add_filter(self.headerhtml.add_css_home)
self.add_filter(add_css_home_local)
self.add_filter(self.headerhtml.add_js_home)
self.add_filter(add_js_home_local)
self.add_filter(self.headerhtml.add_css_home_local)
self.add_filter(add_header_home)
self.add_filter(self.headerhtml.add_js_home_local)
self.filters['HeaderHTML']=HeaderHTML
self.add_filter(self.headerhtml.add_header_home)
self.filters['show_flash_message']=show_flash_message
self.filters['HeaderHTML']=self.headerhtml
self.filters['show_flash_message']=self.headerhtml.show_flash_message
self.env=self.env_theme(module)
#self.auto_reload=True
# Clean HeaderHTML
"""
HeaderHTML.css=[]
HeaderHTML.js=[]
HeaderHTML.header=[]
HeaderHTML.cache_header=[]
HeaderHTML.css_local={}
HeaderHTML.js_local={}
@staticmethod
def clean_header_cache():
HeaderHTML.css=[]
HeaderHTML.js=[]
HeaderHTML.css_local={}
HeaderHTML.js_local={}
HeaderHTML.header=[]
HeaderHTML.cache_header=[]
"""
def guess_autoescape(self, template_name):
@ -127,9 +121,14 @@ class ptemplate:
theme_templates='themes/'+config.theme+'/templates'
search_folders=[theme_templates, module_templates, standard_templates]
#if self.inject_folder is not None:
#search_folders.insert(1, self.inject_folder+'/templates')
#Standard templates
#print(standard_templates)
return TemplateLookup(directories=[theme_templates, module_templates, standard_templates], default_filters=['h'], input_encoding='utf-8', encoding_errors='replace', cache_enabled=self.cache_enabled, cache_impl=self.cache_impl, cache_args=self.cache_args, module_directory=self.module_directory)
return TemplateLookup(directories=search_folders, default_filters=['h'], input_encoding='utf-8', encoding_errors='replace', cache_enabled=self.cache_enabled, cache_impl=self.cache_impl, cache_args=self.cache_args, module_directory=self.module_directory)
#, cache_enabled=self.cache_enabled, cache_impl=self.cache_impl, cache_args=self.cache_args
@ -164,121 +163,125 @@ class ptemplate:
class HeaderHTML:
css=[]
js=[]
header=[]
cache_header={}
def __init__(self):
def header_home():
self.css=[]
self.js=[]
self.header=[]
self.cache_header={}
self.css_local={}
self.js_local={}
final_header="\n".join(HeaderHTML.header)
def header_home(self):
HeaderHTML.header=[]
final_header="\n".join(self.header)
self.header=[]
return final_header
def js_home():
def js_home(self):
final_js=[]
for js in HeaderHTML.js:
for js in self.js:
final_js.append('<script language="Javascript" src="'+make_media_url('js/'+js)+'"></script>')
for module, arr_js in HeaderHTML.js_local.items():
for module, arr_js in self.js_local.items():
for js in arr_js:
final_js.append('<script language="Javascript" src="'+make_media_url_module('js/'+js, module)+'"></script>')
HeaderHTML.js=[]
HeaderHTML.js_local={}
self.js=[]
self.js_local={}
return "\n".join(final_js)
def css_home():
def css_home(self):
final_css=[]
for css in HeaderHTML.css:
for css in self.css:
final_css.append('<link href="'+make_media_url('css/'+css)+'" rel="stylesheet" type="text/css"/>')
for module, arr_css in HeaderHTML.css_local.items():
for module, arr_css in self.css_local.items():
for css in arr_css:
final_css.append('<link href="'+make_media_url_module('css/'+css, module)+'" rel="stylesheet" type="text/css"/>')
HeaderHTML.css=[]
HeaderHTML.css_local={}
self.css=[]
self.css_local={}
return "\n".join(final_css)
def add_header_home(variable, only_one_time=False):
def add_header_home(self, variable, only_one_time=False):
if only_one_time==True:
HeaderHTML.cache_header.get(variable, 0)
if only_one_time==True:
self.cache_header.get(variable, 0)
if cache_header[variable]==1:
return ''
#HeaderHTML.cache_header[variable]=1
if cache_header[variable]==1:
return ''
#self.cache_header[variable]=1
HeaderHTML.header.append(variable)
self.header.append(variable)
return ''
def add_css_home(self, css):
if not css in self.css:
self.css.append(css)
return ''
def add_css_home(css):
def add_js_home(self, js):
if not css in HeaderHTML.css:
HeaderHTML.css.append(css)
if not js in self.js:
self.js.append(js)
return ''
return ''
def add_js_home(js):
def add_css_home_local(self, css, module):
if not js in HeaderHTML.js:
HeaderHTML.js.append(js)
if not css in self.css_local:
return ''
self.css_local[module]=self.css_local.get(module, [])
def add_css_home_local(css, module):
self.css_local[module].append(css)
if not css in HeaderHTML.css_local:
return ''
HeaderHTML.css_local[module]=HeaderHTML.css_local.get(module, [])
def add_js_home_local(self, js, module):
HeaderHTML.css_local[module].append(css)
if not js in self.js_local:
return ''
self.js_local[module]=self.js_local.get(module, [])
def add_js_home_local(js, module):
self.js_local[module].append(js)
if not js in HeaderHTML.js_local:
return ''
HeaderHTML.js_local[module]=HeaderHTML.js_local.get(module, [])
def show_flash_message(self):
HeaderHTML.js_local[module].append(js)
message=""
return ''
s=get_session()
def set_flash_message(message):
s['flash']=s.get('flash', "")
if s['flash']!="":
message='<div class="flash">'+s['flash']+'</div>'
s['flash']=''
return message
def set_flash_message(self, message):
s=get_session()
s['flash']=message
def show_flash_message():
message=""
s=get_session()
s['flash']=s.get('flash', "")
if s['flash']!="":
message='<div class="flash">'+s['flash']+'</div>'
s['flash']=''
return message
standard_t=ptemplate(__file__)

View file

@ -10,8 +10,8 @@ class SqlClass:
def __init__(self):
self.max_overflow=30
self.pool_size=15
self.max_overflow=45
self.pool_size=30
self.error_connection=""
self.connection={}
self.connected=False
@ -90,9 +90,7 @@ class SqlClass:
"""
def __del__(self):
for key in self.connection:
self.close(self.connection)
self.close()
"""
def close(self, name_connection="default"):
@ -100,7 +98,7 @@ class SqlClass:
if self.connection[name_connection]:
self.connection[name_connection].close()
self.connection[name_connection]=False
#self.connection[name_connection]=False
pass

View file

@ -421,7 +421,9 @@ class WebModel:
def select_a_row_where(self, fields_selected=[], raw_query=0):
self.limit="limit 1"
if self.limit=='':
self.limit="limit 1"
cursor=self.select(fields_selected, raw_query)
@ -846,18 +848,21 @@ class WebModel:
def show_errors(self):
arr_error=[]
error_txt=''
for k_error in self.fields_errors.values():
for error in k_error:
error_txt+=error+"\n"
arr_error.append(error)
for type_error in self.errors.values():
for error in type_error:
error_txt+=error+"\n"
arr_error.append(error)
error_txt=self.query_error+"\n"
arr_error.append(self.query_error)
error_txt="\n".join(arr_error)
return error_txt

View file

@ -122,20 +122,21 @@ if config.ssl==True:
app = application = default_app()
app.add_hook('before_request', print_memory)
#app.add_hook('before_request', print_memory)
#app.add_hook('after_request', WebModel.close)
if config.session_enabled==True:
#Create dir for sessions
"""
key_encrypt=config.key_encrypt
if 'session.data_dir' in config.session_opts:
if not os.path.isdir(config.session_opts['session.data_dir']):
os.makedirs(config.session_opts['session.data_dir'], 0o700, True)
"""
key_encrypt=config.key_encrypt
if config.session_opts['session.type']=='file':
def load_session():

View file

@ -33,6 +33,12 @@ module_admin=path.dirname(__file__)
t=ptemplate(__file__)
def make_admin_url(url):
return make_url('%s/%s' % (config.admin_folder, url))
t.add_filter(make_admin_url)
@get('/'+config.admin_folder)
@get('/'+config.admin_folder+'/<module>')
@post('/'+config.admin_folder+'/<module>')
@ -103,6 +109,11 @@ def home(module='', submodule=''):
try:
new_module=import_module(menu[module][1])
#t.inject_folder=path.dirname(new_module.__file__).replace('/admin', '')
#t.env=t.env_theme(path.dirname(__file__))
t.env.directories.insert(1, path.dirname(new_module.__file__).replace('/admin', '')+'/templates')
#print(t.env.directories)
if config.reloader:
reload(new_module)

View file

@ -7,8 +7,8 @@
<link href="{{'css/font-awesome.min.css'|make_media_url}}" rel="stylesheet" type="text/css"/>-->
${add_css_home_local('admin.css', 'admin')}
${add_css_home_local('font-awesome.min.css', 'admin')}
${HeaderHTML.css_home()|n}
${add_js_home_local('jquery.min.js', 'admin')}
${HeaderHTML.css_home()|n}
${HeaderHTML.js_home()|n}
${HeaderHTML.header_home()|n}
</head>