Merge branch 'master' of github.com:web2py/web2py
This commit is contained in:
@@ -10,6 +10,7 @@ import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
from gluon._compat import iteritems
|
||||
|
||||
try:
|
||||
import pygraphviz as pgv
|
||||
@@ -267,7 +268,7 @@ def select():
|
||||
else:
|
||||
rows = db(query, ignore_common_filters=True).select(
|
||||
*fields, limitby=(start, stop))
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
import traceback
|
||||
tb = traceback.format_exc()
|
||||
(rows, nrows) = ([], 0)
|
||||
@@ -286,7 +287,7 @@ def select():
|
||||
import_csv(db[request.vars.table],
|
||||
request.vars.csvfile.file)
|
||||
response.flash = T('data uploaded')
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
response.flash = DIV(T('unable to parse csv file'), PRE(str(e)))
|
||||
# end handle upload csv
|
||||
|
||||
@@ -454,7 +455,7 @@ def ccache():
|
||||
except (KeyError, ZeroDivisionError):
|
||||
ram['ratio'] = 0
|
||||
|
||||
for key, value in cache.ram.storage.iteritems():
|
||||
for key, value in iteritems(cache.ram.storage):
|
||||
if hp:
|
||||
ram['bytes'] += hp.iso(value[1]).size
|
||||
ram['objects'] += hp.iso(value[1]).count
|
||||
|
||||
@@ -15,6 +15,7 @@ from gluon.utils import web2py_uuid
|
||||
from gluon.tools import Config
|
||||
from gluon.compileapp import find_exposed_functions
|
||||
from glob import glob
|
||||
from gluon._compat import iteritems, PY2
|
||||
import shutil
|
||||
import platform
|
||||
|
||||
@@ -23,7 +24,7 @@ try:
|
||||
if git.__version__ < '0.3.1':
|
||||
raise ImportError("Your version of git is %s. Upgrade to 0.3.1 or better." % git.__version__)
|
||||
have_git = True
|
||||
except ImportError, e:
|
||||
except ImportError as e:
|
||||
have_git = False
|
||||
GIT_MISSING = 'Requires gitpython module, but not installed or incompatible version: %s' % e
|
||||
|
||||
@@ -81,7 +82,10 @@ def safe_open(a, b):
|
||||
def close(self):
|
||||
pass
|
||||
return tmp()
|
||||
return open(a, b)
|
||||
if PY2 or 'b' in b:
|
||||
return open(a, b)
|
||||
else:
|
||||
return open(a, b, encoding="utf8")
|
||||
|
||||
|
||||
def safe_read(a, b='r'):
|
||||
@@ -123,6 +127,7 @@ def index():
|
||||
redirect(send)
|
||||
elif failed_login_count() >= allowed_number_of_attempts:
|
||||
time.sleep(2 ** allowed_number_of_attempts)
|
||||
print('4033')
|
||||
raise HTTP(403)
|
||||
elif request.vars.password:
|
||||
if verify_password(request.vars.password[:1024]):
|
||||
@@ -262,7 +267,7 @@ def site():
|
||||
new_repo = git.Repo.clone_from(form_update.vars.url, target)
|
||||
session.flash = T('new application "%s" imported',
|
||||
form_update.vars.name)
|
||||
except git.GitCommandError, err:
|
||||
except git.GitCommandError as err:
|
||||
session.flash = T('Invalid git repository specified.')
|
||||
redirect(URL(r=request))
|
||||
|
||||
@@ -272,7 +277,7 @@ def site():
|
||||
f = urllib.urlopen(form_update.vars.url)
|
||||
if f.code == 404:
|
||||
raise Exception("404 file not found")
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
session.flash = \
|
||||
DIV(T('Unable to download app because:'), PRE(repr(e)))
|
||||
redirect(URL(r=request))
|
||||
@@ -313,7 +318,7 @@ def site():
|
||||
if FILTER_APPS:
|
||||
apps = [f for f in apps if f in FILTER_APPS]
|
||||
|
||||
apps = sorted(apps, lambda a, b: cmp(a.upper(), b.upper()))
|
||||
apps = sorted(apps, key=lambda a: a.upper())
|
||||
myplatform = platform.python_version()
|
||||
return dict(app=None, apps=apps, myversion=myversion, myplatform=myplatform,
|
||||
form_create=form_create, form_update=form_update)
|
||||
@@ -347,7 +352,7 @@ def pack():
|
||||
else:
|
||||
fname = 'web2py.app.%s.compiled.w2p' % app
|
||||
filename = app_pack_compiled(app, request, raise_ex=True)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
filename = None
|
||||
|
||||
if filename:
|
||||
@@ -421,7 +426,7 @@ def pack_custom():
|
||||
fname = 'web2py.app.%s.w2p' % app
|
||||
try:
|
||||
filename = app_pack(app, request, raise_ex=True, filenames=files)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
filename = None
|
||||
if filename:
|
||||
response.headers['Content-Type'] = 'application/w2p'
|
||||
@@ -732,7 +737,7 @@ def edit():
|
||||
try:
|
||||
code = request.vars.data.rstrip().replace('\r\n', '\n') + '\n'
|
||||
compile(code, path, "exec", _ast.PyCF_ONLY_AST)
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
# offset calculation is only used for textarea (start/stop)
|
||||
start = sum([len(line) + 1 for l, line
|
||||
in enumerate(request.vars.data.split("\n"))
|
||||
@@ -757,11 +762,11 @@ def edit():
|
||||
# Lets try to reload the modules
|
||||
try:
|
||||
mopath = '.'.join(request.args[2:])[:-3]
|
||||
exec 'import applications.%s.modules.%s' % (
|
||||
request.args[0], mopath)
|
||||
exec('import applications.%s.modules.%s' % (
|
||||
request.args[0], mopath))
|
||||
reload(sys.modules['applications.%s.modules.%s'
|
||||
% (request.args[0], mopath)])
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
response.flash = DIV(
|
||||
T('failed to reload module because:'), PRE(repr(e)))
|
||||
|
||||
@@ -1151,7 +1156,7 @@ def design():
|
||||
# Get all languages
|
||||
langpath = os.path.join(apath(app, r=request), 'languages')
|
||||
languages = dict([(lang, info) for lang, info
|
||||
in read_possible_languages(langpath).iteritems()
|
||||
in iteritems(read_possible_languages(langpath))
|
||||
if info[2] != 0]) # info[2] is langfile_mtime:
|
||||
# get only existed files
|
||||
|
||||
@@ -1287,7 +1292,7 @@ def plugin():
|
||||
|
||||
# Get all languages
|
||||
languages = sorted([lang + '.py' for lang, info in
|
||||
T.get_possible_languages_info().iteritems()
|
||||
iteritems(T.get_possible_languages_info())
|
||||
if info[2] != 0]) # info[2] is langfile_mtime:
|
||||
# get only existed files
|
||||
|
||||
@@ -1468,7 +1473,7 @@ def create_file():
|
||||
redirect(URL('edit',
|
||||
args=[os.path.join(request.vars.location, filename)], vars=vars))
|
||||
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
if not isinstance(e, HTTP):
|
||||
session.flash = T('cannot create file')
|
||||
|
||||
@@ -1661,7 +1666,7 @@ def errors():
|
||||
pickel=error, causer=error_causer,
|
||||
last_line=last_line, hash=hash,
|
||||
ticket=fn.ticket_id)
|
||||
except AttributeError, e:
|
||||
except AttributeError as e:
|
||||
tk_db(tk_table.id == fn.id).delete()
|
||||
tk_db.commit()
|
||||
|
||||
|
||||
@@ -700,6 +700,7 @@
|
||||
'Welcome to web2py': 'Vitejte ve Web2py aplikaci.',
|
||||
'Welcome to web2py!': 'Vítejte ve Web2py aplikaci.',
|
||||
'Which called the function %s located in the file %s': 'která zavolala funkci %s v souboru (kontroléru) %s.',
|
||||
'Working...': 'Pracuji...',
|
||||
'WSGI reference name': 'jméno WSGI reference',
|
||||
'YES': 'ANO',
|
||||
'Yes': 'Ano',
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
{{=XML(snapshot.get('response','no response available in snapshot'))}}
|
||||
</div>
|
||||
</div>
|
||||
{{except Exception, e:}}
|
||||
{{except Exception as e:}}
|
||||
<!-- this should not happen, just in case... (cannot output normal hmtl as we don't know current open tags) -->
|
||||
{{import traceback;tb=traceback.format_exc().replace("\n","\\n") }}
|
||||
<script language='javascript'>alert("Exception during snapshot rendering: {{=tb}} ");</script>
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
<div class="hide inspect" id="session"><h6>session</h6>{{=BEAUTIFY(snapshot['session'])}}</div>
|
||||
<div class="hide inspect" id="response"><h6>response</h6>{{=BEAUTIFY(snapshot['response'])}}</div>
|
||||
</div>
|
||||
{{except Exception, e:}}
|
||||
{{except Exception as e:}}
|
||||
<!-- this should not happen, just in case... (cannot output normal hmtl as we don't know current open tags) -->
|
||||
{{import traceback;tb=traceback.format_exc().replace("\n","\\n") }}
|
||||
<script language='javascript'>alert("Exception during snapshot rendering: {{=tb}} ");</script>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
{{if hasattr(T,'get_possible_languages_info'):}}
|
||||
- {{=T('Admin language')}}</span>
|
||||
<select name="adminlanguage" onchange="var date = new Date();cookieDate=date.setTime(date.getTime()+(100*24*60*60*1000));document.cookie='adminLanguage='+this.options[this.selectedIndex].id+'; expires='+cookieDate+'; path=/';window.location.reload()">
|
||||
{{for langinfo in sorted([(code,info[1]) for code,info in T.get_possible_languages_info().iteritems() if code != 'default']):}}
|
||||
{{for langinfo in sorted([(code,info[1]) for code,info in iteritems(T.get_possible_languages_info()) if code != 'default']):}}
|
||||
<option {{=T.accepted_language==langinfo[0] and 'selected' or ''}} {{='id='+langinfo[0]}} >{{=langinfo[1]}}</option>
|
||||
{{pass}}
|
||||
</select>
|
||||
|
||||
@@ -10,6 +10,7 @@ import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
from gluon._compat import iteritems
|
||||
|
||||
try:
|
||||
import pygraphviz as pgv
|
||||
@@ -267,7 +268,7 @@ def select():
|
||||
else:
|
||||
rows = db(query, ignore_common_filters=True).select(
|
||||
*fields, limitby=(start, stop))
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
import traceback
|
||||
tb = traceback.format_exc()
|
||||
(rows, nrows) = ([], 0)
|
||||
@@ -286,7 +287,7 @@ def select():
|
||||
import_csv(db[request.vars.table],
|
||||
request.vars.csvfile.file)
|
||||
response.flash = T('data uploaded')
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
response.flash = DIV(T('unable to parse csv file'), PRE(str(e)))
|
||||
# end handle upload csv
|
||||
|
||||
@@ -454,7 +455,7 @@ def ccache():
|
||||
except (KeyError, ZeroDivisionError):
|
||||
ram['ratio'] = 0
|
||||
|
||||
for key, value in cache.ram.storage.iteritems():
|
||||
for key, value in iteritems(cache.ram.storage):
|
||||
if hp:
|
||||
ram['bytes'] += hp.iso(value[1]).size
|
||||
ram['objects'] += hp.iso(value[1]).count
|
||||
|
||||
@@ -44,7 +44,7 @@ def test_soap_sub():
|
||||
try:
|
||||
ret = client.SubIntegers(a=3, b=2)
|
||||
result = ret['SubResult']
|
||||
except SoapFault, sf:
|
||||
except SoapFault as sf:
|
||||
result = sf
|
||||
response.view = "soap_examples/generic.html"
|
||||
return dict(xml_request=client.xml_request,
|
||||
|
||||
@@ -28,7 +28,7 @@ def get_content(b=None,
|
||||
|
||||
try:
|
||||
openedfile = openfile()
|
||||
except Exception, IOError:
|
||||
except (Exception, IOError):
|
||||
l = 'en'
|
||||
openedfile = openfile()
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import datetime
|
||||
import copy
|
||||
import gluon.contenttype
|
||||
import gluon.fileutils
|
||||
from gluon._compat import iteritems
|
||||
|
||||
try:
|
||||
import pygraphviz as pgv
|
||||
@@ -454,7 +455,7 @@ def ccache():
|
||||
except (KeyError, ZeroDivisionError):
|
||||
ram['ratio'] = 0
|
||||
|
||||
for key, value in cache.ram.storage.iteritems():
|
||||
for key, value in iteritems(cache.ram.storage):
|
||||
if hp:
|
||||
ram['bytes'] += hp.iso(value[1]).size
|
||||
ram['objects'] += hp.iso(value[1]).count
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
'(requires internet access)': '(vyžaduje připojení k internetu)',
|
||||
'(requires internet access, experimental)': '(vyžaduje internetové připojení, experimentální)',
|
||||
'(something like "it-it")': '(například "cs-cz")',
|
||||
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '@markmin\x01(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': '@markmin\x01Došlo k chybě, prosím [[obnovte stránku %s]]',
|
||||
'@markmin\x01Searching: **%s** %%{file}': '@markmin\x01Hledání: **%s** %%{soubor}',
|
||||
'@markmin\x01(file **gluon/contrib/plural_rules/%s.py** is not found)': '(soubor **gluon/contrib/plural_rules/%s.py** nenalezen)',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'Došlo k chybě, prosím [[obnovte stránku %s]]',
|
||||
'@markmin\x01Searching: **%s** %%{file}': 'Hledání: **%s** %%{soubor}',
|
||||
'About': 'O programu',
|
||||
'About application': 'O aplikaci',
|
||||
'Access Control': 'Řízení přístupu',
|
||||
|
||||
@@ -14,7 +14,8 @@ names = localhost:*, 127.0.0.1:*, *:*, *
|
||||
[db]
|
||||
uri = sqlite://storage.sqlite
|
||||
migrate = true
|
||||
pool_size = 10 ; ignored for sqlite
|
||||
; ignored for sqlite
|
||||
pool_size = 10
|
||||
|
||||
; smtp address and credentials
|
||||
[smtp]
|
||||
@@ -27,4 +28,4 @@ ssl = true
|
||||
; form styling
|
||||
[forms]
|
||||
formstyle = bootstrap3_inline
|
||||
separator =
|
||||
separator =
|
||||
|
||||
Reference in New Issue
Block a user