diff --git a/gluon/_compat.py b/gluon/_compat.py index 44baefc3..1c3421c5 100644 --- a/gluon/_compat.py +++ b/gluon/_compat.py @@ -45,11 +45,6 @@ if PY2: unichr = unichr unicodeT = unicode - def implements_iterator(cls): - cls.next = cls.__next__ - del cls.__next__ - return cls - def implements_bool(cls): cls.__nonzero__ = cls.__bool__ del cls.__bool__ diff --git a/gluon/cache.py b/gluon/cache.py index 8a4b0a85..474910bb 100644 --- a/gluon/cache.py +++ b/gluon/cache.py @@ -40,7 +40,7 @@ try: except ImportError: have_settings = False -from gluon._compat import pickle, thread, to_bytes, to_native +from gluon._compat import pickle, thread, to_bytes, to_native, hashlib_md5 try: import psutil @@ -624,7 +624,7 @@ class Cache(object): cache_key.append(current.request.env.query_string) if lang_: cache_key.append(current.T.accepted_language) - cache_key = hashlib.md5('__'.join(cache_key)).hexdigest() + cache_key = hashlib_md5('__'.join(cache_key)).hexdigest() if prefix: cache_key = prefix + cache_key try: diff --git a/gluon/html.py b/gluon/html.py index 183bb4e0..11f9653e 100644 --- a/gluon/html.py +++ b/gluon/html.py @@ -21,7 +21,7 @@ import base64 from gluon import sanitizer, decoder import itertools from gluon._compat import reduce, pickle, copyreg, HTMLParser, name2codepoint, iteritems, unichr, unicodeT, urllib_quote, to_bytes, \ - to_native, to_unicode, _local_html_escape, basestring, urlencode + to_native, to_unicode, _local_html_escape, basestring, urlencode, implements_bool import marshal from gluon.storage import Storage @@ -671,7 +671,7 @@ def XML_pickle(data): return XML_unpickle, (marshal.dumps(str(data)),) copyreg.pickle(XML, XML_pickle, XML_unpickle) - +@implements_bool class DIV(XmlComponent): """ HTML helper, for easy generating and manipulating a DOM structure. @@ -824,8 +824,6 @@ class DIV(XmlComponent): """ return True - __nonzero__ = __bool__ - def _fixup(self): """ Handling of provided components. diff --git a/gluon/settings.py b/gluon/settings.py index 48fee6d4..5e2af7e0 100644 --- a/gluon/settings.py +++ b/gluon/settings.py @@ -10,6 +10,7 @@ import os import sys import platform from gluon.storage import Storage +from gluon._compat import PY2 global_settings = Storage() settings = global_settings # legacy compatibility @@ -40,3 +41,5 @@ global_settings.is_jython = \ global_settings.is_source = os.path.exists(os.path.join( global_settings.gluon_parent, 'web2py.py')) + +global_settings.is_py2 = PY2