fix iteritems, enabled test_cache & test_dal for 3.5
This commit is contained in:
@@ -11,6 +11,7 @@ HTTP statuses helpers
|
||||
"""
|
||||
|
||||
import re
|
||||
from gluon._compat import iteritems
|
||||
|
||||
__all__ = ['HTTP', 'redirect']
|
||||
|
||||
@@ -112,7 +113,7 @@ class HTTP(Exception):
|
||||
if isinstance(body, str):
|
||||
headers['Content-Length'] = len(body)
|
||||
rheaders = []
|
||||
for k, v in headers.iteritems():
|
||||
for k, v in iteritems(headers):
|
||||
if isinstance(v, list):
|
||||
rheaders += [(k, str(item)) for item in v]
|
||||
elif not v is None:
|
||||
|
||||
@@ -18,7 +18,7 @@ import pkgutil
|
||||
import logging
|
||||
from cgi import escape
|
||||
from threading import RLock
|
||||
from gluon._compat import copyreg, PY2, maketrans, iterkeys, unicodeT, to_unicode, to_bytes
|
||||
from gluon._compat import copyreg, PY2, maketrans, iterkeys, unicodeT, to_unicode, to_bytes, iteritems
|
||||
|
||||
from gluon.portalocker import read_locked, LockedFile
|
||||
from gluon.utf8 import Utf8
|
||||
@@ -756,7 +756,7 @@ class translator(object):
|
||||
if isinstance(symbols, dict):
|
||||
symbols.update(
|
||||
(key, xmlescape(value).translate(ttab_in))
|
||||
for key, value in symbols.iteritems()
|
||||
for key, value in iteritems(symbols)
|
||||
if not isinstance(value, NUMBERS))
|
||||
else:
|
||||
if not isinstance(symbols, tuple):
|
||||
@@ -939,7 +939,7 @@ class translator(object):
|
||||
if isinstance(symbols, dict):
|
||||
symbols.update(
|
||||
(key, str(value).translate(ttab_in))
|
||||
for key, value in symbols.iteritems()
|
||||
for key, value in iteritems(symbols)
|
||||
if not isinstance(value, NUMBERS))
|
||||
else:
|
||||
if not isinstance(symbols, tuple):
|
||||
|
||||
@@ -11,6 +11,7 @@ import errno
|
||||
import socket
|
||||
import logging
|
||||
import platform
|
||||
from gluon._compat import iteritems
|
||||
|
||||
# Define Constants
|
||||
VERSION = '1.2.6'
|
||||
@@ -1430,7 +1431,7 @@ class Worker(Thread):
|
||||
raise BadRequest
|
||||
|
||||
req = match.groupdict()
|
||||
for k, v in req.iteritems():
|
||||
for k, v in iteritems(req):
|
||||
if not v:
|
||||
req[k] = ""
|
||||
if k == 'path':
|
||||
@@ -1654,7 +1655,7 @@ class WSGIWorker(Worker):
|
||||
environ = self.base_environ.copy()
|
||||
|
||||
# Grab the headers
|
||||
for k, v in self.read_headers(sock_file).iteritems():
|
||||
for k, v in iteritems(self.read_headers(sock_file)):
|
||||
environ[str('HTTP_' + k)] = v
|
||||
|
||||
# Add CGI Variables
|
||||
|
||||
@@ -9,7 +9,7 @@ Background processes made simple
|
||||
---------------------------------
|
||||
"""
|
||||
from __future__ import print_function
|
||||
from gluon._compat import Queue, long
|
||||
from gluon._compat import Queue, long, iteritems
|
||||
|
||||
import os
|
||||
import time
|
||||
@@ -234,7 +234,7 @@ def _decode_list(lst):
|
||||
|
||||
def _decode_dict(dct):
|
||||
newdict = {}
|
||||
for k, v in dct.iteritems():
|
||||
for k, v in iteritems(dct):
|
||||
if isinstance(k, unicode):
|
||||
k = k.encode('utf-8')
|
||||
if isinstance(v, unicode):
|
||||
|
||||
@@ -30,6 +30,7 @@ from gluon.globals import Request, Response, Session
|
||||
from gluon.storage import Storage, List
|
||||
from gluon.admin import w2p_unpack
|
||||
from pydal.base import BaseAdapter
|
||||
from gluon._compat import iteritems
|
||||
|
||||
logger = logging.getLogger("web2py")
|
||||
|
||||
@@ -146,7 +147,7 @@ def env(
|
||||
path_info = '%s/%s' % (path_info, '/'.join(request.args))
|
||||
if request.vars:
|
||||
vars = ['%s=%s' % (k, v) if v else '%s' % k
|
||||
for (k, v) in request.vars.iteritems()]
|
||||
for (k, v) in iteritems(request.vars)]
|
||||
path_info = '%s?%s' % (path_info, '&'.join(vars))
|
||||
request.env.path_info = path_info
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import urllib
|
||||
import re
|
||||
|
||||
import os
|
||||
from gluon._compat import StringIO, unichr, urllib_quote
|
||||
from gluon._compat import StringIO, unichr, urllib_quote, iteritems
|
||||
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
|
||||
@@ -2222,7 +2222,7 @@ class SQLFORM(FORM):
|
||||
if fields:
|
||||
# add missing tablename to virtual fields
|
||||
for table in tables:
|
||||
for k, f in table.iteritems():
|
||||
for k, f in iteritems(table):
|
||||
if isinstance(f, Field.Virtual):
|
||||
f.tablename = table._tablename
|
||||
columns = [f for f in fields if f.tablename in tablenames]
|
||||
@@ -2234,7 +2234,7 @@ class SQLFORM(FORM):
|
||||
for table in tables:
|
||||
fields += filter(filter1, table)
|
||||
columns += filter(filter2, table)
|
||||
for k, f in table.iteritems():
|
||||
for k, f in iteritems(table):
|
||||
if not k.startswith('_'):
|
||||
if isinstance(f, Field.Virtual) and f.readable:
|
||||
f.tablename = table._tablename
|
||||
@@ -2434,7 +2434,7 @@ class SQLFORM(FORM):
|
||||
selectable_columns.append(str(field))
|
||||
# look for virtual fields not displayed (and virtual method
|
||||
# fields to be added here?)
|
||||
for (field_name, field) in table.iteritems():
|
||||
for (field_name, field) in iteritems(table):
|
||||
if isinstance(field, Field.Virtual) and not str(field) in expcolumns:
|
||||
expcolumns.append(str(field))
|
||||
|
||||
|
||||
@@ -6,10 +6,11 @@ from .test_fileutils import *
|
||||
from .test_globals import *
|
||||
from .test_recfile import *
|
||||
from .test_storage import *
|
||||
from .test_dal import *
|
||||
from .test_cache import *
|
||||
|
||||
|
||||
if sys.version[:3] == '2.7':
|
||||
from .test_cache import *
|
||||
from .test_compileapp import *
|
||||
from .test_html import *
|
||||
from .test_is_url import *
|
||||
@@ -20,7 +21,6 @@ if sys.version[:3] == '2.7':
|
||||
from .test_template import *
|
||||
from .test_validators import *
|
||||
from .test_utils import *
|
||||
from .test_dal import *
|
||||
from .test_tools import *
|
||||
from .test_appadmin import *
|
||||
from .test_scheduler import *
|
||||
|
||||
@@ -34,7 +34,7 @@ class TestDALSubclass(unittest.TestCase):
|
||||
db.close()
|
||||
|
||||
def testSerialization(self):
|
||||
import pickle
|
||||
from gluon._compat import pickle
|
||||
db = DAL(check_reserved=['all'])
|
||||
db.define_table('t_a', Field('f_a'))
|
||||
db.t_a.insert(f_a='test')
|
||||
|
||||
@@ -13,7 +13,7 @@ Auth, Mail, PluginManager and various utilities
|
||||
import base64
|
||||
from functools import reduce
|
||||
from gluon._compat import pickle, thread, urllib2, Cookie, StringIO, configparser, MIMEBase, MIMEMultipart, \
|
||||
MIMEText, Encoders, Charset, long, urllib_quote
|
||||
MIMEText, Encoders, Charset, long, urllib_quote, iteritems
|
||||
import datetime
|
||||
import logging
|
||||
import sys
|
||||
@@ -744,7 +744,7 @@ class Mail(object):
|
||||
to.extend(bcc)
|
||||
payload['Subject'] = encoded_or_raw(subject.decode(encoding))
|
||||
payload['Date'] = email.utils.formatdate()
|
||||
for k, v in headers.iteritems():
|
||||
for k, v in iteritems(headers):
|
||||
payload[k] = encoded_or_raw(v.decode(encoding))
|
||||
result = {}
|
||||
try:
|
||||
@@ -1230,7 +1230,7 @@ class AuthJWT(object):
|
||||
self.header_prefix = header_prefix
|
||||
self.jwt_add_header = jwt_add_header or {}
|
||||
base_header = {'alg': self.algorithm, 'typ': 'JWT'}
|
||||
for k, v in self.jwt_add_header.iteritems():
|
||||
for k, v in iteritems(self.jwt_add_header):
|
||||
base_header[k] = v
|
||||
self.cached_b64h = self.jwt_b64e(json.dumps(base_header))
|
||||
digestmod_mapping = {
|
||||
@@ -5879,7 +5879,7 @@ class Service(object):
|
||||
prefix='pys',
|
||||
documentation=documentation,
|
||||
ns=True)
|
||||
for method, (function, returns, args, doc) in procedures.iteritems():
|
||||
for method, (function, returns, args, doc) in iteritems(procedures):
|
||||
dispatcher.register_function(method, function, returns, args, doc)
|
||||
if request.env.request_method == 'POST':
|
||||
fault = {}
|
||||
|
||||
@@ -11,7 +11,7 @@ Utilities and class for UTF8 strings managing
|
||||
----------------------------------------------
|
||||
"""
|
||||
from __future__ import print_function
|
||||
from gluon._compat import builtin as __builtin__, unicodeT
|
||||
from gluon._compat import builtin as __builtin__, unicodeT, iteritems
|
||||
|
||||
__all__ = ['Utf8']
|
||||
|
||||
@@ -339,9 +339,8 @@ class Utf8(str):
|
||||
s, 'utf-8') if isinstance(s, str) else s for s in args]
|
||||
kwargs = dict((unicode(k, 'utf-8') if isinstance(k, str) else k,
|
||||
unicode(v, 'utf-8') if isinstance(v, str) else v)
|
||||
for k, v in kwargs.iteritems())
|
||||
return str.__new__(Utf8, unicode(self, 'utf-8').
|
||||
format(*args, **kwargs).encode('utf-8'))
|
||||
for k, v in iteritems(kwargs))
|
||||
return str.__new__(Utf8, unicode(self, 'utf-8').format(*args, **kwargs).encode('utf-8'))
|
||||
|
||||
def __mod__(self, right):
|
||||
if isinstance(right, tuple):
|
||||
@@ -350,7 +349,7 @@ class Utf8(str):
|
||||
elif isinstance(right, dict):
|
||||
right = dict((unicode(k, 'utf-8') if isinstance(k, str) else k,
|
||||
unicode(v, 'utf-8') if isinstance(v, str) else v)
|
||||
for k, v in right.iteritems())
|
||||
for k, v in iteritems(right))
|
||||
elif isinstance(right, str):
|
||||
right = unicode(right, 'utf-8')
|
||||
return str.__new__(Utf8, unicode(self, 'utf-8').__mod__(right).encode('utf-8'))
|
||||
|
||||
Reference in New Issue
Block a user