fix compileapp

This commit is contained in:
ilvalle
2016-06-12 13:22:34 +02:00
parent 34f753be56
commit 48209f5bdf
7 changed files with 19 additions and 16 deletions
+3 -3
View File
@@ -18,7 +18,7 @@ import fnmatch
import os
import copy
import random
from gluon._compat import builtin, PY2
from gluon._compat import builtin, PY2, unicodeT, to_native
from gluon.storage import Storage, List
from gluon.template import parse_template
from gluon.restricted import restricted, compile2
@@ -650,8 +650,8 @@ def run_controller_in(controller, function, environment):
vars = response._vars
if response.postprocessing:
vars = reduce(lambda vars, p: p(vars), response.postprocessing, vars)
if isinstance(vars, unicode):
vars = vars.encode('utf8')
if isinstance(vars, unicodeT):
vars = to_native(vars)
elif hasattr(vars, 'xml') and callable(vars.xml):
vars = vars.xml()
return vars
+3 -3
View File
@@ -8,7 +8,7 @@
Support for smart import syntax for web2py applications
-------------------------------------------------------
"""
from gluon._compat import builtin, unicodeT, PY2
from gluon._compat import builtin, unicodeT, PY2, to_native
import os
import sys
import threading
@@ -47,8 +47,8 @@ def custom_importer(name, globals=None, locals=None, fromlist=None, level=-1):
If the import fails, it falls back on naive_importer
"""
if isinstance(name, unicodeT) and PY2:
name = name.encode('utf8')
if isinstance(name, unicodeT):
name = to_native(name)
globals = globals or {}
locals = locals or {}
+5 -1
View File
@@ -21,6 +21,7 @@ import logging
from gluon.http import HTTP
from gzip import open as gzopen
from gluon.recfile import generate
from gluon._compat import PY2
__all__ = [
'parse_version',
@@ -100,7 +101,10 @@ def read_file(filename, mode='r'):
"""Returns content from filename, making sure to close the file explicitly
on exit.
"""
f = open(filename, mode)
if PY2 or 'b' in mode:
f = open(filename, mode)
else:
f = open(filename, mode, encoding="utf8")
try:
return f.read()
finally:
+2 -2
View File
@@ -13,7 +13,7 @@ Contains the classes for the global used variables:
- Session
"""
from gluon._compat import pickle, StringIO, copyreg, Cookie, urlparse, PY2, iteritems, to_unicode, to_native
from gluon._compat import pickle, StringIO, copyreg, Cookie, urlparse, PY2, iteritems, to_unicode, to_native, unicodeT
from gluon.storage import Storage, List
from gluon.streamer import streamer, stream_file_or_304_or_206, DEFAULT_CHUNK_SIZE
from gluon.contenttype import contenttype
@@ -569,7 +569,7 @@ class Response(Storage):
if not request:
request = current.request
if isinstance(stream, (str, unicode)):
if isinstance(stream, (str, unicodeT)):
stream_file_or_304_or_206(stream,
chunk_size=chunk_size,
request=request,
+3 -4
View File
@@ -263,7 +263,6 @@ class TemplateParser(object):
# This will end up as
# "%s(%s, escape=False)" % (self.writer, value)
self.writer = writer
# Dictionary of custom name lexers to use.
if isinstance(lexers, dict):
self.lexers = lexers
@@ -448,7 +447,7 @@ class TemplateParser(object):
fileobj.close()
except IOError:
self._raise_error('Unable to open included view file: ' + filepath)
text = to_native(text)
return text
def include(self, content, filename):
@@ -788,7 +787,7 @@ def parse_template(filename,
raise RestrictedError(filename, '', 'Unable to find the file')
else:
text = filename.read()
text = to_native(text)
# Use the file contents to get a parsed template and return it.
return str(TemplateParser(text, context=context, path=path, lexers=lexers, delimiters=delimiters))
@@ -885,7 +884,7 @@ def render(content="hello world",
"""
# here to avoid circular Imports
try:
from globals import Response
from gluon.globals import Response
except ImportError:
# Working standalone. Build a mock Response object.
Response = DummyResponse
+1 -1
View File
@@ -18,9 +18,9 @@ from .test_tools import *
from .test_utils import *
from .test_serializers import *
from .test_languages import *
from .test_compileapp import *
if sys.version[:3] == '2.7':
from .test_compileapp import *
from .test_is_url import *
from .test_appadmin import *
from .test_scheduler import *
+2 -2
View File
@@ -1457,7 +1457,7 @@ class AuthJWT(object):
def f(*args, **kwargs):
try:
token = self.get_jwt_token_from_request(token_param=token_param)
except HTTP, e:
except HTTP as e:
if required:
raise e
token = None
@@ -4759,7 +4759,7 @@ class Auth(object):
self._wiki.automenu()
class Crud(object):
class Crud(object): # pragma: no cover
def url(self, f=None, args=None, vars=None):
"""