fix compiled app in py3
This commit is contained in:
@@ -59,8 +59,6 @@ def app_pack(app, request, raise_ex=False, filenames=None):
|
||||
w2p_pack(filename, apath(app, request), filenames=filenames)
|
||||
return filename
|
||||
except Exception as e:
|
||||
import traceback
|
||||
print(traceback.format_exc())
|
||||
if raise_ex:
|
||||
raise
|
||||
return False
|
||||
|
||||
+6
-8
@@ -44,18 +44,15 @@ from functools import reduce
|
||||
logger = logging.getLogger("web2py")
|
||||
from gluon import rewrite
|
||||
from gluon.custom_import import custom_import_install
|
||||
|
||||
try:
|
||||
import py_compile
|
||||
except:
|
||||
logger.warning('unable to import py_compile')
|
||||
import py_compile
|
||||
|
||||
is_pypy = settings.global_settings.is_pypy
|
||||
is_gae = settings.global_settings.web2py_runtime_gae
|
||||
is_jython = settings.global_settings.is_jython
|
||||
|
||||
pjoin = os.path.join
|
||||
|
||||
marshal_header_size = 8 if PY2 else 12
|
||||
|
||||
TEST_CODE = \
|
||||
r"""
|
||||
def _TEST():
|
||||
@@ -456,7 +453,8 @@ def save_pyc(filename):
|
||||
"""
|
||||
Bytecode compiles the file `filename`
|
||||
"""
|
||||
py_compile.compile(filename)
|
||||
cfile = "%sc" % filename
|
||||
py_compile.compile(filename, cfile=cfile)
|
||||
|
||||
|
||||
def read_pyc(filename):
|
||||
@@ -470,7 +468,7 @@ def read_pyc(filename):
|
||||
data = read_file(filename, 'rb')
|
||||
if not is_gae and data[:4] != imp.get_magic():
|
||||
raise SystemError('compiled code is incompatible')
|
||||
return marshal.loads(data[8:])
|
||||
return marshal.loads(data[marshal_header_size:])
|
||||
|
||||
|
||||
def compile_views(folder, skip_failed_views=False):
|
||||
|
||||
+10
-8
@@ -97,14 +97,19 @@ def parse_version(version):
|
||||
return version_tuple
|
||||
|
||||
|
||||
def read_file(filename, mode='r'):
|
||||
"""Returns content from filename, making sure to close the file explicitly
|
||||
on exit.
|
||||
"""
|
||||
def open_file(filename, mode):
|
||||
if PY2 or 'b' in mode:
|
||||
f = open(filename, mode)
|
||||
else:
|
||||
f = open(filename, mode, encoding="utf8")
|
||||
return f
|
||||
|
||||
|
||||
def read_file(filename, mode='r'):
|
||||
"""Returns content from filename, making sure to close the file explicitly
|
||||
on exit.
|
||||
"""
|
||||
f = open_file(filename, mode)
|
||||
try:
|
||||
return f.read()
|
||||
finally:
|
||||
@@ -115,10 +120,7 @@ def write_file(filename, value, mode='w'):
|
||||
"""Writes <value> to filename, making sure to close the file
|
||||
explicitly on exit.
|
||||
"""
|
||||
if PY2:
|
||||
f = open(filename, mode)
|
||||
else:
|
||||
f = open(filename, mode, encoding="utf8")
|
||||
f = open_file(filename, mode)
|
||||
try:
|
||||
return f.write(value)
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user