From f9927f4f3d78c50fd98979a0fbe82a6b9f0f1cd3 Mon Sep 17 00:00:00 2001 From: ilvalle Date: Fri, 15 Jul 2016 20:34:27 +0200 Subject: [PATCH 1/2] fix local import for contrib modules --- gluon/custom_import.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gluon/custom_import.py b/gluon/custom_import.py index 8e848626..ef6c7ab2 100644 --- a/gluon/custom_import.py +++ b/gluon/custom_import.py @@ -62,6 +62,9 @@ def custom_importer(name, globals=None, locals=None, fromlist=None, level=-1): except: # there is no current.request (should never happen) base_importer = NATIVE_IMPORTER + if not(PY2) and level < 0: + level = 0 + # if not relative and not from applications: if hasattr(current, 'request') \ and level <= 0 \ @@ -104,9 +107,6 @@ def custom_importer(name, globals=None, locals=None, fromlist=None, level=-1): finally: if import_tb: import_tb = None - elif not(PY2) and level < 0: - # FIXME PY3 why level is < 0? - level = 0 return NATIVE_IMPORTER(name, globals, locals, fromlist, level) From 73399fdee62aca7107d917e34bd4133784c9f682 Mon Sep 17 00:00:00 2001 From: ilvalle Date: Fri, 15 Jul 2016 20:35:54 +0200 Subject: [PATCH 2/2] fix py3 html --- gluon/globals.py | 4 ++-- gluon/sqlhtml.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gluon/globals.py b/gluon/globals.py index 25727560..6d090dd2 100644 --- a/gluon/globals.py +++ b/gluon/globals.py @@ -453,9 +453,9 @@ class Response(Storage): for meta in iteritems((self.meta or {})): k, v = meta if isinstance(v, dict): - s += '\n' + s += '\n' else: - s += '\n' % (k, xmlescape(v)) + s += '\n' % (k, to_native(xmlescape(v))) self.write(s, escape=False) def include_files(self, extensions=None): diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py index 6bf336b4..c0354508 100644 --- a/gluon/sqlhtml.py +++ b/gluon/sqlhtml.py @@ -19,7 +19,7 @@ import urllib import re import os -from gluon._compat import StringIO, unichr, urllib_quote, iteritems, basestring, long, unicodeT +from gluon._compat import StringIO, unichr, urllib_quote, iteritems, basestring, long, unicodeT, to_native from gluon.http import HTTP, redirect from gluon.html import XmlComponent, truncate_string from gluon.html import XML, SPAN, TAG, A, DIV, CAT, UL, LI, TEXTAREA, BR, IMG @@ -1395,8 +1395,8 @@ class SQLFORM(FORM): self['hidden']['id'] = record[table._id.name] (begin, end) = self._xml() - self.custom.begin = XML("<%s %s>" % (self.tag, begin)) - self.custom.end = XML("%s" % (end, self.tag)) + self.custom.begin = XML("<%s %s>" % (self.tag, to_native(begin))) + self.custom.end = XML("%s" % (to_native(end), self.tag)) table = self.createform(xfields) self.components = [table]