<86>Apr 18 05:56:52 userdel[573238]: delete user 'rooter'
<86>Apr 18 05:56:52 userdel[573238]: removed shadow group 'rooter' owned by 'rooter'
<86>Apr 18 05:56:52 groupadd[573246]: group added to /etc/group: name=rooter, GID=639
<86>Apr 18 05:56:52 groupadd[573246]: group added to /etc/gshadow: name=rooter
<86>Apr 18 05:56:52 groupadd[573246]: new group: name=rooter, GID=639
<86>Apr 18 05:56:52 useradd[573251]: new user: name=rooter, UID=639, GID=639, home=/root, shell=/bin/bash
<86>Apr 18 05:56:52 userdel[573258]: delete user 'builder'
<86>Apr 18 05:56:52 userdel[573258]: removed group 'builder' owned by 'builder'
<86>Apr 18 05:56:52 userdel[573258]: removed shadow group 'builder' owned by 'builder'
<86>Apr 18 05:56:52 groupadd[573264]: group added to /etc/group: name=builder, GID=640
<86>Apr 18 05:56:52 groupadd[573264]: group added to /etc/gshadow: name=builder
<86>Apr 18 05:56:52 groupadd[573264]: new group: name=builder, GID=640
<86>Apr 18 05:56:52 useradd[573272]: new user: name=builder, UID=640, GID=640, home=/usr/src, shell=/bin/bash
<13>Apr 18 05:56:55 rpmi: libgdbm-1.8.3-alt10 1454943313 installed
<13>Apr 18 05:56:55 rpmi: libexpat-2.2.10-alt1 p9+261554.100.1.1 1605103332 installed
<13>Apr 18 05:56:55 rpmi: libp11-kit-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Apr 18 05:56:55 rpmi: libtasn1-4.14-alt1 p9+235792.100.2.1 1565425233 installed
<13>Apr 18 05:56:55 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Apr 18 05:56:55 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Apr 18 05:56:55 rpmi: ca-certificates-2020.06.29-alt1 p9+258899.100.3.1 1601998604 installed
<13>Apr 18 05:56:55 rpmi: ca-trust-0.1.2-alt1 p9+233349.100.1.1 1561655062 installed
<13>Apr 18 05:56:55 rpmi: p11-kit-trust-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Apr 18 05:56:55 rpmi: libcrypto1.1-1.1.1k-alt1 p9+268376.100.3.1 1616720932 installed
<13>Apr 18 05:56:55 rpmi: libssl1.1-1.1.1k-alt1 p9+268376.100.3.1 1616720932 installed
<13>Apr 18 05:56:55 rpmi: python3-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Apr 18 05:56:56 rpmi: libpython3-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Apr 18 05:56:56 rpmi: python3-base-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Apr 18 05:56:56 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Apr 18 05:56:56 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Apr 18 05:56:56 rpmi: rpm-macros-sphinx-1:1.6.5-alt8 p9+250806.100.2.1 1588178467 installed
<13>Apr 18 05:57:03 rpmi: python-module-repoze-2.2-alt4.git20140327 sisyphus+228552.100.1.2 1556748365 installed
<13>Apr 18 05:57:03 rpmi: python-module-sphinxcontrib-2.1.1-alt2.1.2 sisyphus+227529.1100.1.2 1555924423 installed
<13>Apr 18 05:57:03 rpmi: libsqlite3-3.33.0-alt1 p9+258834.40.2.1 1601364885 installed
<13>Apr 18 05:57:03 rpmi: python3-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Apr 18 05:57:03 rpmi: python-module-imagesize-1.1.0-alt1 sisyphus+229015.100.2.1 1557233756 installed
<13>Apr 18 05:57:03 rpmi: python-sphinx-objects.inv-1:2.3.8.20190514-alt1 p9+229421.100.1.1 1557927689 installed
<13>Apr 18 05:57:03 rpmi: python-module-google-0.4.2-alt2.1 sisyphus+228356.1500.3.1 1556633038 installed
<13>Apr 18 05:57:03 rpmi: python-module-markupsafe-1.1.1-alt1 p9+254838.60.14.1 1602882123 installed
<13>Apr 18 05:57:03 rpmi: python-module-enum34-1.1.6-alt3 1527251693 installed
<13>Apr 18 05:57:03 rpmi: libxapian-1.4.15-alt1 p9+258827.100.1.1 1601305414 installed
<13>Apr 18 05:57:04 rpmi: libgpg-error-1.36-alt1 p9+261942.140.4.1 1606237682 installed
<13>Apr 18 05:57:04 rpmi: libgcrypt20-1.8.5-alt3 p9+261942.200.4.1 1606237844 installed
<13>Apr 18 05:57:04 rpmi: libxslt-1.1.34-alt1.p9.1 p9+261811.300.3.1 1605513910 installed
<13>Apr 18 05:57:04 rpmi: python-modules-curses-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:04 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Apr 18 05:57:04 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Apr 18 05:57:04 rpmi: python3-dev-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Apr 18 05:57:04 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994917 installed
<13>Apr 18 05:57:04 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512088 installed
<13>Apr 18 05:57:04 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091653 installed
<86>Apr 18 05:57:04 groupadd[584113]: group added to /etc/group: name=_keytab, GID=499
<86>Apr 18 05:57:04 groupadd[584113]: group added to /etc/gshadow: name=_keytab
<86>Apr 18 05:57:04 groupadd[584113]: new group: name=_keytab, GID=499
<13>Apr 18 05:57:04 rpmi: libkrb5-1.17.2-alt1 p9+262110.100.3.1 1606242396 installed
<13>Apr 18 05:57:04 rpmi: libtirpc-1.0.3-alt1 1532008015 installed
<13>Apr 18 05:57:04 rpmi: libnsl2-1.1.0-alt1_1 1511548748 installed
<13>Apr 18 05:57:05 rpmi: python-modules-compiler-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:05 rpmi: python-modules-email-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:05 rpmi: python-modules-unittest-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:05 rpmi: python-modules-encodings-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-nis-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed
<13>Apr 18 05:57:06 rpmi: python-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Apr 18 05:57:06 rpmi: python-modules-xml-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-ctypes-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-json-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-module-jinja2-2.11.2-alt1 p9+254838.40.14.1 1602882082 installed
<13>Apr 18 05:57:06 rpmi: python-modules-multiprocessing-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-logging-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-modules-hotshot-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:06 rpmi: python-module-chardet-3.0.4-alt1 sisyphus+227476.1700.1.2 1555756717 installed
<13>Apr 18 05:57:06 rpmi: python-tools-2to3-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:07 rpmi: python-module-whoosh-2.7.4-alt1 1527697941 installed
<13>Apr 18 05:57:07 rpmi: python-module-webencodings-0.5.1-alt1.1 1517943573 installed
<13>Apr 18 05:57:07 rpmi: python-module-webob-1.8.5-alt1 sisyphus.219072.100 1547030251 installed
<13>Apr 18 05:57:07 rpmi: python-modules-bsddb-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:07 rpmi: python-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:07 rpmi: python-strict-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:07 rpmi: python-modules-distutils-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:07 rpmi: python-module-pycparser-2.19-alt1 sisyphus+228366.1000.2.3 1556706938 installed
<13>Apr 18 05:57:07 rpmi: python-module-cffi-1.12.3-alt1 sisyphus+229040.200.3.1 1557316502 installed
<13>Apr 18 05:57:08 rpmi: python-module-asn1crypto-0.24.0-alt1 sisyphus+227473.1300.1.2 1555756512 installed
<13>Apr 18 05:57:08 rpmi: python-module-PyStemmer-1.0.1-alt1.2.1 1321387369 installed
<13>Apr 18 05:57:08 rpmi: python-module-snowballstemmer-1.2.0-alt2.1 1457859319 installed
<13>Apr 18 05:57:08 rpmi: python-module-cssselect-0.9.1-alt1.2 sisyphus+227479.1100.1.2 1555757152 installed
<13>Apr 18 05:57:08 rpmi: python-module-html5lib-1:0.999999999-alt4.qa1 sisyphus+227493.600.1.3 1555835341 installed
<13>Apr 18 05:57:08 rpmi: python-module-lxml-4.4.2-alt1 p9+244111.100.1.1 1578758711 installed
<13>Apr 18 05:57:08 rpmi: python-module-docutils-0.14-alt2 1535729778 installed
<13>Apr 18 05:57:08 rpmi: python-module-idna-2.8-alt1 sisyphus+227494.400.1.3 1555838720 installed
<13>Apr 18 05:57:08 rpmi: python-module-ntlm-1.1.0-alt1.2 sisyphus+228512.100.1.1 1556654575 installed
<13>Apr 18 05:57:08 rpmi: python-module-pytz-1:2016.10-alt1 1484291011 installed
<13>Apr 18 05:57:09 rpmi: python-module-babel-1:2.6.0-alt1 sisyphus+228351.2400.6.2 1556652168 installed
<13>Apr 18 05:57:10 rpmi: python-module-ipaddress-1.0.18-alt1.1 sisyphus+227494.1700.1.3 1555839523 installed
<13>Apr 18 05:57:10 rpmi: python-module-cryptography-2.6.1-alt1 sisyphus+225625.24400.91.1 1555299604 installed
<13>Apr 18 05:57:10 rpmi: python-module-OpenSSL-18.0.0-alt1 1532996168 installed
<13>Apr 18 05:57:10 rpmi: python-module-simplejson-3.15.0-alt1.qa1 sisyphus+225625.16100.91.1 1555293606 installed
<13>Apr 18 05:57:10 rpmi: python-module-ndg-0.4.2-alt1.qa1 sisyphus+227504.1300.1.2 1555853074 installed
<13>Apr 18 05:57:10 rpmi: python-module-ndg-httpsclient-0.4.2-alt1.qa1 sisyphus+227504.1300.1.2 1555853074 installed
<13>Apr 18 05:57:10 rpmi: python-module-backports-3.5.0.1-alt1.1.1 1517645428 installed
<13>Apr 18 05:57:10 rpmi: python-module-backports.ssl_match_hostname-3.5.0.1-alt1.1.1 1517645428 installed
<13>Apr 18 05:57:10 rpmi: python-module-urllib3-2:1.25.6-alt1 p9+250567.200.5.1 1590420860 installed
<13>Apr 18 05:57:10 rpmi: python-module-requests-2.23.0-alt1 p9+250567.400.5.1 1590420890 installed
<13>Apr 18 05:57:10 rpmi: python-module-typing-3.6.6-alt2 sisyphus+220108.100.1.1 1548749697 installed
<13>Apr 18 05:57:10 rpmi: python-modules-sqlite3-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:10 rpmi: python-module-SQLAlchemy-1.2.15-alt1 sisyphus+225625.4500.91.1 1555285684 installed
<13>Apr 18 05:57:10 rpmi: python-module-repoze.lru-0.6-alt2.git20140202.2 sisyphus+228533.100.1.1 1556656201 installed
<13>Apr 18 05:57:11 rpmi: python-module-xapian-1.4.15-alt1 p9+258827.200.2.1 1601308059 installed
<13>Apr 18 05:57:11 rpmi: python-module-sphinxcontrib-websupport-1.0.1-alt5 p9+247680.340.15.1 1585331199 installed
<13>Apr 18 05:57:11 rpmi: python-module-alabaster-0.7.6-alt3 sisyphus+228351.700.4.1 1556637370 installed
<13>Apr 18 05:57:11 rpmi: python-module-Pygments-2.4.2-alt3 p9+263160.400.4.1 1607939146 installed
<13>Apr 18 05:57:11 rpmi: python-module-sphinx-1:1.6.5-alt8 p9+250806.100.2.1 1588178467 installed
<13>Apr 18 05:57:11 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548748 installed
<13>Apr 18 05:57:11 rpmi: python-dev-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Apr 18 05:57:11 rpmi: python-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Apr 18 05:57:11 rpmi: python-module-routes-2.4.1-alt1 sisyphus+227525.1400.1.2 1555924482 installed
<13>Apr 18 05:57:11 rpmi: python-module-nose-1:1.3.7-alt4.git20160316 sisyphus+229068.100.1.1 1557255939 installed
<13>Apr 18 05:57:11 rpmi: python-module-pysqlite2-2.8.3-alt1 1526055395 installed
<13>Apr 18 05:57:12 rpmi: python3-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
Building target platforms: x86_64
Building for target x86_64
Wrote: /usr/src/in/nosrpm/python-module-webhelpers-1.3-alt2.1.1.1.nosrc.rpm (w1.gzdio)
Installing python-module-webhelpers-1.3-alt2.1.1.1.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.36345
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf python-module-webhelpers-1.3
+ echo 'Source #0 (WebHelpers-1.3.tar.gz):'
Source #0 (WebHelpers-1.3.tar.gz):
+ /bin/tar -xf -
+ /bin/gzip -dc /usr/src/RPM/SOURCES/WebHelpers-1.3.tar.gz
+ cd python-module-webhelpers-1.3
+ /bin/chmod -c -Rf u+rwX,go-w .
+ cp -fR . ../python3
+ find ../python3 -type f -name '*.py' -exec 2to3 -w -n '{}' +
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored ../python3/webhelpers/util.py
RefactoringTool: Refactored ../python3/webhelpers/textile.py
--- ../python3/webhelpers/util.py	(original)
+++ ../python3/webhelpers/util.py	(refactored)
@@ -7,8 +7,8 @@
 import cgi
 import copy
 import sys
-import urllib
-import urlparse
+import urllib.request, urllib.parse, urllib.error
+import urllib.parse
 try: 
   from UserDict import DictMixin
 except ImportError:
@@ -16,7 +16,7 @@
 from xml.sax.saxutils import XMLGenerator
 
 try:
-    from urlparse import parse_qs
+    from urllib.parse import parse_qs
 except ImportError:   # Python < 2.6
     from cgi import parse_qs
 
@@ -56,20 +56,20 @@
     'http://www.mau.de?foo=C&foo=D'
 
     """
-    url, fragment = urlparse.urldefrag(_url)
+    url, fragment = urllib.parse.urldefrag(_url)
     if "?" in url:
         url, qs = url.split("?", 1)
         query = parse_qs(qs)
     else:
         query = {}
-    for key, value in params.iteritems():
+    for key, value in params.items():
         if value is not None:
             query[key] = value
         elif key in query:
             del query[key]
     if _debug:
         return url, query, fragment
-    qs = urllib.urlencode(query, True)
+    qs = urllib.parse.urlencode(query, True)
     if qs:
         qs = "?" + qs
     if fragment:
@@ -116,13 +116,13 @@
     """
     if s is None:
         return ''
-    if not isinstance(s, basestring):
+    if not isinstance(s, str):
         if hasattr(s, '__unicode__'):
-            s = unicode(s)
+            s = str(s)
         else:
             s = str(s)
     s = cgi_escape(s, True)
-    if isinstance(s, unicode):
+    if isinstance(s, str):
         s = s.encode('ascii', 'xmlcharrefreplace')
     return s
 
@@ -147,7 +147,7 @@
     # section 3.1 of RFC 3987.
     if iri is None:
         return iri
-    return urllib.quote(iri, safe='/#%[]=:;$&()+,!?')
+    return urllib.parse.quote(iri, safe='/#%[]=:;$&()+,!?')
 
 
 class Partial(object):
@@ -267,7 +267,7 @@
         
         """
         unicode_mixed = {}
-        for key, value in self.multi.mixed().iteritems():
+        for key, value in self.multi.mixed().items():
             if isinstance(value, list):
                 value = [self._decode_value(value) for value in value]
             else:
@@ -278,7 +278,7 @@
     def dict_of_lists(self):
         """Return dict where each key is associated with a list of values."""
         unicode_dict = {}
-        for key, value in self.multi.dict_of_lists().iteritems():
+        for key, value in self.multi.dict_of_lists().items():
             value = [self._decode_value(value) for value in value]
             unicode_dict[self._decode_key(key)] = value
         return unicode_dict
@@ -308,7 +308,7 @@
         return (self._decode_key(k), self._decode_value(v))
 
     def __repr__(self):
-        items = ', '.join(['(%r, %r)' % v for v in self.items()])
+        items = ', '.join(['(%r, %r)' % v for v in list(self.items())])
         return '%s([%s])' % (self.__class__.__name__, items)
 
     def __len__(self):
@@ -319,25 +319,25 @@
     ##
 
     def keys(self):
-        return [self._decode_key(k) for k in self.multi.iterkeys()]
+        return [self._decode_key(k) for k in self.multi.keys()]
 
     def iterkeys(self):
-        for k in self.multi.iterkeys():
+        for k in self.multi.keys():
             yield self._decode_key(k)
 
     __iter__ = iterkeys
 
     def items(self):
         return [(self._decode_key(k), self._decode_value(v)) for \
-                    k, v in self.multi.iteritems()]
+                    k, v in self.multi.items()]
 
     def iteritems(self):
-        for k, v in self.multi.iteritems():
+        for k, v in self.multi.items():
             yield (self._decode_key(k), self._decode_value(v))
 
     def values(self):
-        return [self._decode_value(v) for v in self.multi.itervalues()]
+        return [self._decode_value(v) for v in self.multi.values()]
 
     def itervalues(self):
-        for v in self.multi.itervalues():
+        for v in self.multi.values():
             yield self._decode_value(v)
--- ../python3/webhelpers/textile.py	(original)
+++ ../python3/webhelpers/textile.py	(refacRefactoringTool: Refactored ../python3/webhelpers/text.py
tored)
@@ -193,7 +193,7 @@
 try:
     #from twisted.python import htmlizer
     import htmlizer
-    from StringIO import StringIO
+    from io import StringIO
 
     def _color(code):
         """Colorizer Python code.
@@ -264,7 +264,7 @@
     This function outputs debug information if DEBUGLEVEL is
     higher than a given treshold.
     """
-    if DEBUGLEVEL >= level: print >> sys.stderr, s
+    if DEBUGLEVEL >= level: print(s, file=sys.stderr)
 
 
 #############################
@@ -516,7 +516,7 @@
 
     def normalize_attrs(self, attrs):
         # utility method to be called by descendants
-        attrs = [(k.lower(), sgmllib.charref.sub(lambda m: unichr(int(m.groups()[0])), v).strip()) for k, v in attrs]
+        attrs = [(k.lower(), sgmllib.charref.sub(lambda m: chr(int(m.groups()[0])), v).strip()) for k, v in attrs]
         attrs = [(k, k in ('rel', 'type') and v.lower() or v) for k, v in attrs]
         return attrs
     
@@ -851,7 +851,7 @@
 
         # Convert to desired output.
         if isinstance(text, str):
-            text = unicode(text, encoding)
+            text = str(text, encoding)
         text = text.encode(output, 'xmlcharrefreplace')
 
         # Sanitize?
@@ -984,19 +984,19 @@
                         if extending and not captures.get('dot', None):
                             output[-1][1]['text'] += block
                             break 
-                        elif captures.has_key('dot'):
+                        elif 'dot' in captures:
                             del captures['dot']
                             
                         # If a signature matches, we are not extending a block.
                         extending = 0
 
                         # Check if we should extend this block.
-                        if captures.has_key('extend'):
+                        if 'extend' in captures:
                             extending = captures['extend']
                             del captures['extend']
                             
                         # Apply head_offset.
-                        if captures.has_key('header'):
+                        if 'header' in captures:
                             captures['header'] = int(captures['header']) + self.head_offset
 
                         # Apply clear.
@@ -1165,7 +1165,7 @@
         output['style'] = output.get('style', '') + ''.join(style)
 
         # Remove excess whitespace.
-        if output.has_key('class'):
+        if 'class' in output:
             output['class'] = output['class'].strip()
 
         return output 
@@ -1180,7 +1180,7 @@
         """
         # Open tag.
         open_tag = ['<%s' % tag]
-        for k,v in attributes.items():
+        for k,v in list(attributes.items()):
             # The ALT attribute can be empty.
             if k == 'alt' or v: open_tag.append(' %s="%s"' % (k, v))
 
@@ -1237,7 +1237,7 @@
                 close_tag = '</p>'
 
                 # Pop the id because it must be unique.
-                if attributes.has_key('id'): del attributes['id']
+                if 'id' in attributes: del attributes['id']
 
                 # Break lines. 
                 line = preg_replace(r'(<br />|\n)+', '<br />\n', line)
@@ -1341,7 +1341,7 @@
         attributes = self.parse_params(parameters, clear)
 
         # XHTML <code> can't have the attribute lang.
-        if attributes.has_key('lang'):
+        if 'lang' in attributes:
             lang = attributes['lang']
             del attributes['lang']
         else:
@@ -2804,7 +2804,7 @@
                 query = query.replace(' ', '+')
 
                 # Look for smart search.
-                if self.searches.has_key(proto):
+                if proto in self.searches:
                     link = self.searches[proto] % query
                 
                 # Fix URL.
@@ -2879,4 +2879,4 @@
 
 
 if __name__ == '__main__':
-    print textile('tell me about textile.', head_offset=1)
+    print(textile('tell me about textile.', head_offset=1))
--- ../python3/webhelpers/text.py	(original)
+++ ../python3/webhelpers/text.py	RefactoringTool: No changes to ../python3/webhelpers/pylonslib/secure_form.py
RefactoringTool: Refactored ../python3/webhelpers/pylonslib/minify.py
RefactoringTool: No changes to ../python3/webhelpers/pylonslib/grid.py
RefactoringTool: No changes to ../python3/webhelpers/pylonslib/flash.py
RefactoringTool: No changes to ../python3/webhelpers/pylonslib/_jsmin.py
RefactoringTool: No changes to ../python3/webhelpers/pylonslib/__init__.py
RefactoringTool: Refactored ../python3/webhelpers/paginate.py
(refactored)
@@ -6,7 +6,7 @@
 
 import re
 import textwrap
-import urllib
+import urllib.request, urllib.parse, urllib.error
 
 from webhelpers.html.tools import strip_tags
 
@@ -275,7 +275,7 @@
     s = remove_formatting(string).lower()
     s = replace_whitespace(s, '-')
     s = collapse(s, '-')
-    return urllib.quote(s)
+    return urllib.parse.quote(s)
 
 
 def remove_formatting(string):
@@ -356,7 +356,7 @@
         "(#190|frac34)": "three fourths",
         "(#176|deg)": " degrees"
     }
-    for textiled, normal in replace_dict.items():
+    for textiled, normal in list(replace_dict.items()):
         string = re.sub(r'\&%s;' % textiled, normal, string)
     return re.sub(r'\&[^;]+;', '', string)
 
--- ../python3/webhelpers/pylonslib/minify.py	(original)
+++ ../python3/webhelpers/pylonslib/minify.py	(refactored)
@@ -29,7 +29,7 @@
 import re
 import os
 import logging
-import StringIO
+import io
 import warnings
 
 from webhelpers.html.tags import javascript_link as __javascript_link
@@ -63,7 +63,7 @@
         return sources
 
     names = list()
-    js_buffer = StringIO.StringIO()
+    js_buffer = io.StringIO()
     base = os.path.commonprefix([os.path.dirname(s) for s in sources])
 
     for source in sources:
@@ -175,7 +175,7 @@
             def do_css_CSSStyleDeclaration(self, style, separator=None):
                 try:
                     color = style.getPropertyValue('color')
-                    if color and color is not u'':
+                    if color and color is not '':
                         color = self.change_colors(color)
                         style.setProperty('color', color)
                 except:
--- ../python3/webhelpers/paginate.py	(original)
+++ ../python3/webhelpers/paginate.py	(refactored)
@@ -173,7 +173,7 @@
 
 import re
 from string import Template
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import warnings
 
 from webhelpers.html import literal, HTML
@@ -247,7 +247,7 @@
 
     def __getitem__(self, range):
         if not isinstance(range, slice):
-            raise Exception, "__getitem__ without slicing not supported"
+            raise Exception("__getitem__ without slicing not supported")
         offset = range.start
         limit = range.stop - range.start
         select = self.obj.offset(offset).limit(limit)
@@ -265,7 +265,7 @@
 
     def __getitem__(self, range):
         if not isinstance(range, slice):
-            raise Exception, "__getitem__ without slicing not supported"
+            raise Exception("__getitem__ without slicing not supported")
         return self.obj[range]
 
     def __len__(self):
@@ -441,7 +441,7 @@
                     first = self.first_item - 1
                     last = self.last_item
                     self.items = list(self.collection[first:last])
-                except TypeError, e:
+                except TypeError as e:
                     if str(e) == "unhashable type":
                         # Assume this means collection is unsliceable.
                         raise TypeError(INCOMPATIBLE_COLLECTION_TYPE)
@@ -759,7 +759,7 @@
                 text = HTML.span(c=text, **self.dotdot_attr)
             nav_items.append(text)
 
-        for thispage in xrange(leftmost_page, rightmost_page+1):
+        for thispage in range(leftmost_page, rightmost_page+1):
             # Hilight the current page number and do not use a link
             if thispage == self.page:
                 text = '%s' % (thispage,)
@@ -833,7 +833,7 @@
                     # the controller and action manually
                     if config.mapper.explicit:
                         if hasattr(config, 'mapper_dict'):
-                            for k, v in config.mapper_dict.items():
+                            for k, v in list(config.mapper_dict.items()):
                                 if k != self.page_param:
                                     link_params[k] = v
 
@@ -881,9 +881,9 @@
     if partial:
         params["partial"] = "1"
     if sort:
-        params = params.items()
+        params = list(params.items())
    RefactoringTool: Refactored ../python3/webhelpers/number.py
RefactoringTool: Refactored ../python3/webhelpers/misc.py
RefactoringTool: No changes to ../python3/webhelpers/mimehelper.py
RefactoringTool: Refactored ../python3/webhelpers/media.py
RefactoringTool: Refactored ../python3/webhelpers/markdown.py
     params.sort()
-    qs = urllib.urlencode(params, True)
+    qs = urllib.parse.urlencode(params, True)
     return "%s?%s" % (path, qs)
     
 class PageURL(object):
--- ../python3/webhelpers/number.py	(original)
+++ ../python3/webhelpers/number.py	(refactored)
@@ -199,7 +199,7 @@
         self.max = None
         self._init_stats()
         
-    def __nonzero__(self):
+    def __bool__(self):
         """The instance is true if it has seen any data."""
         return bool(self.count)
 
--- ../python3/webhelpers/misc.py	(original)
+++ ../python3/webhelpers/misc.py	(refactored)
@@ -25,7 +25,7 @@
 
     From recipe in itertools docs.
     """
-    for elm in itertools.ifilterfalse(pred, seq):
+    for elm in itertools.filterfalse(pred, seq):
         return False
     return True
 
@@ -48,7 +48,7 @@
 
     From recipe in itertools docs.
     """
-    for elm in itertools.ifilter(pred, seq):
+    for elm in filter(pred, seq):
         return True
     return False
 
@@ -70,7 +70,7 @@
 
     From recipe in itertools docs.
     """
-    for elm in itertools.ifilter(pred, seq):
+    for elm in filter(pred, seq):
         return False
     return True
 
@@ -145,8 +145,8 @@
     This is mainly used to exclude abstract subclasses.
     """
     if isinstance(it, dict):
-        it = it.itervalues()
-    class_types = (type, types.ClassType)
+        it = iter(it.values())
+    class_types = (type, type)
     ignore = [class_]
     if exclude:
         ignore.extend(exclude)
--- ../python3/webhelpers/media.py	(original)
+++ ../python3/webhelpers/media.py	(refactored)
@@ -117,19 +117,19 @@
         sys.exit("usage: %s FILES ...\nPrints dimensions of each image")
     for file in files:
         apath = os.path.abspath(file)
-        print "%s:" % apath,
+        print("%s:" % apath, end=' ')
         if not os.path.isfile(file):
-            print "does not exist or is not a plain file"
+            print("does not exist or is not a plain file")
             continue
         width, height = get_dimensions(file)
         if width is None and height is None:
-            print "could not get dimensions"
+            print("could not get dimensions")
         else:
             if width is None:
                 width = "UNKNOWN"
             if height is None:
                 height = "UNKNOWN"
-            print "%s x %s" % (width, height)
+            print("%s x %s" % (width, height))
             
         
 if __name__ == "__main__":  test_get_dimensions()
--- ../python3/webhelpers/markdown.py	(original)
+++ ../python3/webhelpers/markdown.py	(refactored)
@@ -62,9 +62,9 @@
 SMART_EMPHASIS = 1        # this_or_that does not become this<i>or</i>that
 HTML_REMOVED_TEXT = "[HTML_REMOVED]" # text used instead of HTML in safe mode
 
-RTL_BIDI_RANGES = ( (u'\u0590', u'\u07FF'),
+RTL_BIDI_RANGES = ( ('\u0590', '\u07FF'),
                     # from Hebrew to Nko (includes Arabic, Syriac and Thaana)
-                    (u'\u2D30', u'\u2D7F'),
+                    ('\u2D30', '\u2D7F'),
                     # Tifinagh
                     )
 
@@ -82,7 +82,7 @@
          }
 
 def removeBOM(text, encoding):
-    convert = isinstance(text, unicode)
+    convert = isinstance(text, str)
     for bom in BOMS[encoding]:
         bom = convert and bom.decode(encoding) or bom
         if text.startswith(bom):
@@ -141,7 +141,7 @@
 
     ch = text[0]
 
-    if not isinstance(ch, unicode) or not ch.isalpha():
+    if not isinstance(ch, str) or not ch.isalpha():
         return None
 
     else:
@@ -325,7 +325,7 @@
         if self.nodeName in ['p', 'li', 'ul', 'ol',
                              'h1', 'h2', 'h3', 'h4', 'h5', 'h6']:
 
-            if not self.attribute_values.has_key("dir"):
+            if "dir" not in self.attribute_values:
                 if self.bidi:
                     bidi = self.bidi
                 else:
@@ -832,7 +832,7 @@
             # we'll use "google" as the id
             id = m.group(2).lower()
 
-        if not self.references.has_key(id): # ignore undefined refs
+        if id not in self.references: # igRefactoringTool: Refactored ../python3/webhelpers/html/tools.py
nore undefined refs
             return None
         href, title = self.references[id]
         text = m.group(2)
@@ -1136,7 +1136,7 @@
     def __init__ (self):
 
         self.regExp = {}
-        for key in self.patterns.keys():
+        for key in list(self.patterns.keys()):
             self.regExp[key] = re.compile("^%s$" % self.patterns[key],
                                           re.DOTALL)
 
@@ -1237,7 +1237,7 @@
                         % (ext, extension_module_name) )
             else:
 
-                if configs.has_key(ext):
+                if ext in configs:
                     configs_for_ext = configs[ext]
                 else:
                     configs_for_ext = []
@@ -1621,7 +1621,7 @@
                 
                 x = parts[i]
 
-                if isinstance(x, (str, unicode)):
+                if isinstance(x, str):
                     result = self._applyPattern(x, \
                                 self.inlinePatterns[patternIndex], \
                                 patternIndex)
@@ -1637,7 +1637,7 @@
 
         for i in range(len(parts)):
             x = parts[i]
-            if isinstance(x, (str, unicode)):
+            if isinstance(x, str):
                 parts[i] = self.doc.createTextNode(x)
 
         return parts
@@ -1693,7 +1693,7 @@
 
                             for item in result:
 
-                                if isinstance(item, (str, unicode)):
+                                if isinstance(item, str):
                                     if len(item) > 0:
                                         node.insertChild(position,
                                              self.doc.createTextNode(item))
@@ -1721,13 +1721,13 @@
             self.source = source
 
         if not self.source:
-            return u""
+            return ""
 
         try:
-            self.source = unicode(self.source)
+            self.source = str(self.source)
         except UnicodeDecodeError:
             message(CRITICAL, 'UnicodeDecodeError: Markdown only accepts unicode or ascii  input.')
-            return u""
+            return ""
 
         for pp in self.textPreprocessors:
             self.source = pp.run(self.source)
@@ -1828,13 +1828,13 @@
         self.config = configs
 
     def getConfig(self, key):
-        if self.config.has_key(key):
+        if key in self.config:
             return self.config[key][0]
         else:
             return ""
 
     def getConfigInfo(self):
-        return [(key, self.config[key][1]) for key in self.config.keys()]
+        return [(key, self.config[key][1]) for key in list(self.config.keys())]
 
     def setConfig(self, key, value):
         self.config[key][0] = value
@@ -1862,7 +1862,7 @@
                     'encoding': None }
 
         else:
-            print OPTPARSE_WARNING
+            print(OPTPARSE_WARNING)
             return None
 
     parser = optparse.OptionParser(usage="%prog INPUTFILE [options]")
--- ../python3/webhelpers/html/tools.py	(original)
+++ ../python3/webhelpers/html/tools.py	(refactored)
@@ -5,7 +5,7 @@
 """
 
 import re
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import warnings
 
 from webhelpers.html import HTML, literal, lit_sub, escape
@@ -206,7 +206,7 @@
             if not isinstance(option, literal):
                 item = (item[0], escape(option))
             extras.append(item)
-    options_query = urllib.urlencode(extras).replace("+", "%20")
+    options_query = urllib.parse.urlencode(extras).replace("+", "%20")
     protocol = 'mailto:'
 
     email_address_obfuscated = email_address
@@ -300,7 +300,7 @@
         flags = re.IGNORECASE
     if highlighter:
         return _legacy_highlight(text, phrase, highlighter, flags)
-    if isinstance(phrase, basestring):
+    if isinstance(phrase, str):
         pat = re.escape(phrase)
         rx = re.compile(pat, flags)
     elif isinstance(phrase, (list, tuple)):
@@ -342,7 +342,7 @@
         
     """
     if not text:
-        return literal(u"")
+        return literal("")
     text = escape(text)
     if link == "alRefactoringTool: Refactored ../python3/webhelpers/html/tags.py
RefactoringTool: Refactored ../python3/webhelpers/html/render.py
l":
         return _auto_link_urls(_auto_link_email_addresses(text), **href_attrs)
--- ../python3/webhelpers/html/tags.py	(original)
+++ ../python3/webhelpers/html/tags.py	(refactored)
@@ -16,8 +16,8 @@
 import logging
 import os
 import re
-import urllib
-import urlparse
+import urllib.request, urllib.parse, urllib.error
+import urllib.parse
 
 from webhelpers import containers
 from webhelpers.html import escape, HTML, literal, url_escape
@@ -109,7 +109,7 @@
         fields.append(field)
     if hidden_fields is not None:
         try:
-            it = hidden_fields.items()
+            it = list(hidden_fields.items())
         except AttributeError:
             it = hidden_fields
         for name, value in it:
@@ -368,10 +368,10 @@
     if selected_values is None:
         selected_values = ('',)
     # Turn a single string or integer into a list
-    elif isinstance(selected_values, (basestring, int, long)):
+    elif isinstance(selected_values, (str, int)):
         selected_values = (selected_values,)
     # Cast integer values to strings
-    selected_values = map(unicode, selected_values)
+    selected_values = list(map(str, selected_values))
     # Prepend the prompt
     prompt = attrs.pop("prompt", None)
     if prompt:
@@ -687,10 +687,10 @@
                     continue
             else:
                 value = label = opt
-            if not isinstance(value, unicode):
-                value = unicode(value)
-            if not isinstance(label, unicode):  # Preserves literal.
-                label = unicode(label)
+            if not isinstance(value, str):
+                value = str(value)
+            if not isinstance(label, str):  # Preserves literal.
+                label = str(label)
             opt = Option(value, label)
             opts.append(opt)
         return super(Options, class_).__new__(class_, opts)
@@ -1239,9 +1239,9 @@
     
     """
     for a in bool_attrs:
-        if attrs.has_key(a) and attrs[a]:
+        if a in attrs and attrs[a]:
             attrs[a] = a
-        elif attrs.has_key(a):
+        elif a in attrs:
             del attrs[a]
 
 def _set_input_attrs(attrs, type, name, value):
--- ../python3/webhelpers/html/render.py	(original)
+++ ../python3/webhelpers/html/render.py	(refactored)
@@ -39,8 +39,8 @@
 """An HTML-to-text formatter and HTML sanitizer.
 """
 
-from HTMLParser import HTMLParser
-import htmlentitydefs
+from html.parser import HTMLParser
+import html.entities
 import re
 import textwrap
 
@@ -189,12 +189,12 @@
 
     def handle_entityref(self, name):
         name = name.lower()
-        if name not in htmlentitydefs.entitydefs:
+        if name not in html.entities.entitydefs:
             # bad entity, just let it through
             # (like a &var=value in a URL)
             self.handle_data('&'+name)
             return
-        result = htmlentitydefs.entitydefs[name]
+        result = html.entities.entitydefs[name]
         if result.startswith('&'):
             self.handle_charref(result[2:-1])
         else:
@@ -202,7 +202,7 @@
 
     def handle_charref(self, name):
         try:
-            self.handle_data(unichr(int(name)))
+            self.handle_data(chr(int(name)))
         except ValueError:
             self.handle_data('&' + name)
         
@@ -315,7 +315,7 @@
                 return value.lower()
         return self._default_align
 
-    def __nonzero__(self):
+    def __bool__(self):
         for t in self.text:
             if t:
                 return True
@@ -335,7 +335,7 @@
     def add_cell(self, value):
         self.rows[-1].append(value)
 
-    def __nonzero__(self):
+    def __bool__(self):
         return not not self.rows
 
     def to_text(self, context):
@@ -380,7 +380,7 @@
 def normalize(text):
     text = re.sub(r'\s+', ' ', text)
     # nbsp:
-    if not isinstance(text, unicode):
+    if not isinstance(text, str):
         text = text.replace('\xa0', ' ')
     return text
 
@@ -392,6 +392,6 @@
         prog = os.path.basename(sys.argv[0])
         sys.exit("usage: %s <HTML_FILE" % prog)
     html = sys.stdiRefactoringTool: Refactored ../python3/webhelpers/html/grid_demo.py
RefactoringTool: Refactored ../python3/webhelpers/html/grid.py
RefactoringTool: No changes to ../python3/webhelpers/html/converters.py
RefactoringTool: Refactored ../python3/webhelpers/html/builder.py
RefactoringTool: No changes to ../python3/webhelpers/html/__init__.py
RefactoringTool: Refactored ../python3/webhelpers/feedgenerator.py
n.read()
-    print render(html)
+    print(render(html))
 
 if __name__ == "__main__":  main()
--- ../python3/webhelpers/html/grid_demo.py	(original)
+++ ../python3/webhelpers/html/grid_demo.py	(refactored)
@@ -8,7 +8,7 @@
 
 import optparse
 import os
-import urllib
+import urllib.request, urllib.parse, urllib.error
 
 from webhelpers.html import *
 from webhelpers.html.grid import *
@@ -283,10 +283,10 @@
 def url(urlpath, **params):
     # This should be a helper and I think it's defined somewhere but I
     # can't think of where.
-    return urlpath + "?" + urllib.urlencode(params)
+    return urlpath + "?" + urllib.parse.urlencode(params)
 
 def write_file(dir, filename, content):
-    print "... writing '%s'" % filename
+    print("... writing '%s'" % filename)
     path = os.path.join(dir, filename)
     f = open(path, "w")
     f.write(content)
@@ -301,7 +301,7 @@
     dir = args[0]
     if not os.path.exists(dir):
         os.makedirs(dir)
-    print "Putting output in directory '%s'" % dir
+    print("Putting output in directory '%s'" % dir)
     write_file(dir, "demo.css", STYLESHEET)
     for class_ in demos:
         d = class_()
--- ../python3/webhelpers/html/grid.py	(original)
+++ ../python3/webhelpers/html/grid.py	(refactored)
@@ -315,15 +315,15 @@
     """
     def __init__(self, itemlist, columns=None, column_labels=None, *args, **kw):
         if columns is None:
-            columns = range(len(itemlist[0]))
+            columns = list(range(len(itemlist[0])))
         elif isinstance(columns, int):
-            columns = range(columns)
+            columns = list(range(columns))
         # The superclass requires the ``columns`` elements to be strings.
         super_columns = [str(x) for x in columns]
         # The superclass requires ``column_labels`` to be a dict.
         super_labels = column_labels
         if isinstance(column_labels, (list, tuple)):
-            super_labels = dict(zip(super_columns, column_labels))
+            super_labels = dict(list(zip(super_columns, column_labels)))
         Grid.__init__(self, itemlist, super_columns, super_labels, *args, **kw)
   
     def default_column_format(self, column_number, i, record, column_name):
--- ../python3/webhelpers/html/builder.py	(original)
+++ ../python3/webhelpers/html/builder.py	(refactored)
@@ -156,7 +156,7 @@
 
 """
 import re
-from urllib import quote as url_escape
+from urllib.parse import quote as url_escape
 #from UserDict import DictMixin
 
 import markupsafe
@@ -293,7 +293,7 @@
 
 
 def make_tag(tag, *args, **kw):
-    if kw.has_key("c"):
+    if "c" in kw:
         assert not args, "The special 'c' keyword argument cannot be used "\
 "in conjunction with non-keyword arguments"
         args = kw.pop("c")
@@ -331,8 +331,8 @@
     >>> format_attrs(p=None)
     literal(u'')
     """
-    strings = [u' %s="%s"' % (_attr_decode(attr), escape(value))
-        for attr, value in sorted(attrs.iteritems())
+    strings = [' %s="%s"' % (_attr_decode(attr), escape(value))
+        for attr, value in sorted(attrs.items())
         if value is not None]
     return literal("".join(strings))
 
@@ -357,8 +357,8 @@
 HTML = HTMLBuilder()
 
 # Constants depending on ``literal()`` and/or ``HTML``.
-NL = literal(u"\n")
-EMPTY = literal(u"")
+NL = literal("\n")
+EMPTY = literal("")
 BR = HTML.br(_nl=True)
-_CDATA_START = literal(u"<![CDATA[") 
-_CDATA_END = literal(u"]]>")
+_CDATA_START = literal("<![CDATA[") 
+_CDATA_END = literal("]]>")
--- ../python3/webhelpers/feedgenerator.py	(original)
+++ ../python3/webhelpers/feedgenerator.py	(refactored)
@@ -118,7 +118,7 @@
     if date is not None:
         tag = re.sub('/', ',%s:/' % date.strftime('%Y-%m-%d'), tag, 1)
     tag = re.sub('#', '/', tag)
-    return u'tag:' + tag
+    return 'tag:' + tag
 
 class SyndicationFeed(object):
     "Base class for all syndication feeds. Subclasses should provide write()"
@@ -212,7 +212,7 @@
         """
         Returns the feed in the given encoding as a string.
         """
-        from StringIO import StringIO
+        from io import StringIO
         s = StringIO()
         self.write(s, encoding)
         return s.getvalue()
@@ -238,178 +238,178 @@
 
 class RssFeed(SyndicationFeed):
     mime_type = 'application/rss+xml'
-    _version = u"?"
+    _version = "?"
     def write(self, outfile, encoding):
         handler = SimplerXMLGenerator(outfile, encoding)
         handler.startDocument()
-        handler.startElement(u"rss", self.rss_attributes())
-        handler.startElement(u"channel", self.root_attributes())
+        handler.startElement("rss", self.rss_attributes())
+        handler.startElement("channel", self.root_attributes())
         self.add_root_elements(handler)
         self.write_items(handler)
         self.endChannelElement(handler)
-        handler.endElement(u"rss")
+        handler.endElement("rss")
 
     def rss_attributes(self):
-        return {u"version": self._version}
+        return {"version": self._version}
 
     def write_items(self, handler):
         for item in self.items:
-            handler.startElement(u'item', self.item_attributes(item))
+            handler.startElement('item', self.item_attributes(item))
             self.add_item_elements(handler, item)
-            handler.endElement(u"item")
+            handler.endElement("item")
 
     def add_root_elements(self, handler):
-        handler.addQuickElement(u"title", self.feed['title'])
-        handler.addQuickElement(u"link", self.feed['link'])
-        handler.addQuickElement(u"description", self.feed['description'])
+        handler.addQuickElement("title", self.feed['title'])
+        handler.addQuickElement("link", self.feed['link'])
+        handler.addQuickElement("description", self.feed['description'])
         if self.feed['language'] is not None:
-            handler.addQuickElement(u"language", self.feed['language'])
+            handler.addQuickElement("language", self.feed['language'])
         for cat in self.feed['categories']:
-            handler.addQuickElement(u"category", cat)
+            handler.addQuickElement("category", cat)
         if self.feed['feed_copyright'] is not None:
-            handler.addQuickElement(u"copyright", self.feed['feed_copyright'])
-        handler.addQuickElement(u"lastBuildDate", rfc2822_date(self.latest_post_date()).decode('utf-8'))
+            handler.addQuickElement("copyright", self.feed['feed_copyright'])
+        handler.addQuickElement("lastBuildDate", rfc2822_date(self.latest_post_date()).decode('utf-8'))
         if self.feed['ttl'] is not None:
-            handler.addQuickElement(u"ttl", self.feed['ttl'])
+            handler.addQuickElement("ttl", self.feed['ttl'])
 
     def endChannelElement(self, handler):
-        handler.endElement(u"channel")
+        handler.endElement("channel")
 
 class RssUserland091Feed(RssFeed):
-    _version = u"0.91"
+    _version = "0.91"
     def add_item_elements(self, handler, item):
-        handler.addQuickElement(u"title", item['title'])
-        handler.addQuickElement(u"link", item['link'])
+        handler.addQuickElement("title", item['title'])
+        handler.addQuickElement("link", item['link'])
         if item['description'] is not None:
-            handler.addQuickElement(u"description", item['description'])
+            handler.addQuickElement("description", item['description'])
 
 class Rss201rev2Feed(RssFeed):
     # Spec: http://blogs.law.harvard.edu/tech/rss
-    _version = u"2.0"
+    _version = "2.0"
     def add_item_elements(self, handler, item):
-        handler.addQuickElement(u"title", item['title'])
-        handler.addQuickElement(u"link", item['link'])
+        handler.addQuickElement("title", item['title'])
+        handler.addQuickElement("link", item['link'])
         if item['description'] is not None:
-            handler.addQuickElement(u"description", item['description'])
+            handler.addQuickElement("description", item['description'])
 
         # Author information.
         if item["author_name"] and item["author_email"]:
-            handler.addQuickElement(u"author", "%s (%s)" % \
+            handler.addQuickElement("author", "%s (%s)" % \
                 (item['author_email'], item['author_name']))
         elif item["author_email"]:
-            handler.addQuickElement(u"author", item["author_email"])
+            handler.addQuickElement("author", item["author_email"])
         elif item["author_name"]:
-            handler.addQuickElement(u"dc:creator", item["author_name"], {"xmlns:dc": u"http://purl.org/dc/elements/1.1/"})
+            handler.addQuickElement("dc:creator", item["author_name"], {"xmlns:dc": "http://purl.org/dc/elements/1.1/"})
 
         if item['pubdate'] is not None:
-            handler.addQuickElement(u"pubDate", rfc2822_date(item['pubdate']).decode('utf-8'))
+            handler.addQuickElement("pubDate", rfc2822_date(item['pubdate']).decode('utf-8'))
         if item['comments'] is not None:
-            handler.addQuickElement(u"comments", item['comments'])
+            handler.addQuickElement("comments", item['comments'])
         if item['unique_id'] is not None:
-            handler.addQuickElement(u"guid", item['unique_id'])
+            handler.addQuickElement("guid", item['unique_id'])
         if item['ttl'] is not None:
-            handler.addQuickElement(u"ttl", item['ttl'])
+            handler.addQuickElement("ttl", item['ttl'])
 
         # Enclosure.
         if item['enclosure'] is not None:
-            handler.addQuickElement(u"enclosure", '',
-                {u"url": item['enclosure'].url, u"length": item['enclosure'].length,
-                    u"type": item['enclosure'].mime_type})
+            handler.addQuickElement("enclosure", '',
+                {"url": item['enclosure'].url, "length": item['enclosure'].length,
+                    "type": item['enclosure'].mime_type})
 
         # Categories.
         for cat in item['categories']:
-            handler.addQuickElement(u"category", cat)
+            handler.addQuickElement("category", cat)
 
 class Atom1Feed(SyndicationFeed):
     # Spec: http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
     mime_type = 'application/atom+xml'
-    ns = u"http://www.w3.org/2005/Atom"
+    ns = "http://www.w3.org/2005/Atom"
 
     def write(self, outfile, encoding):
         handler = SimplerXMLGenerator(outfile, encoding)
         handler.startDocument()
-        handler.startElement(u'feed', self.root_attributes())
+        handler.startElement('feed', self.root_attributes())
         self.add_root_elements(handler)
         self.write_items(handler)
-        handler.endElement(u"feed")
+        handler.endElement("feed")
 
     def root_attributes(self):
         if self.feed['language'] is not None:
-            return {u"xmlns": self.ns, u"xml:lang": self.feed['language']}
+            return {"xmlns": self.ns, "xml:lang": self.feed['language']}
         else:
-            return {u"xmlns": self.ns}
+            return {"xmlns": self.ns}
 
     def add_root_elements(self, handler):
-        handler.addQuickElement(u"title", self.feed['title'])
-        handler.addQuickElement(u"link", "", {u"rel": u"alternate", u"href": self.feed['link']})
+        handler.addQuickElement("title", self.feed['title'])
+        handler.addQuickElement("link", "", {"rel": "alternate", "href": self.feed['link']})
         if self.feed['feed_url'] is not None:
-            handler.addQuickElement(u"link", "", {u"rel": u"self", u"href": self.feed['feed_url']})
-        handler.addQuickElement(u"id", self.feed['id'])
-        handler.addQuickElement(u"updated", rfc3339_date(self.latest_post_date()).decode('utf-8'))
+            handler.addQuickElement("link", "", {"rel": "self", "href": self.feed['feed_url']})
+        handler.addQuickElement("id", self.feed['id'])
+        handler.addQuickElement("updated", rfc3339_date(self.latest_post_date()).decode('utf-8'))
         if self.feed['author_name'] is not None:
-            handler.startElement(u"author", {})
-            handler.addQuickElement(u"name", self.feed['author_name'])
+            handler.startElement("author", {})
+            handler.addQuickElement("name", self.feed['author_name'])
             if self.feed['author_email'] is not None:
-                handler.addQuickElement(u"email", self.feed['author_email'])
+                handler.addQuickElement("email", self.feed['author_email'])
             if self.feed['author_link'] is not None:
-                handler.addQuickElement(u"uri", self.feed['author_link'])
-            handler.endElement(u"author")
+                handler.addQuickElement("uri", self.feed['author_link'])
+            handler.endElement("author")
         if self.feed['subtitle'] is not None:
-            handler.addQuickElement(u"subtitle", self.feed['subtitle'])
+            handler.addQuickElement("subtitle", self.feed['subtitle'])
         for cat in self.feed['categories']:
-            handler.addQuickElement(u"category", "", {u"term": cat})
+            handler.addQuickElement("category", "", {"term": cat})
         if self.feed['feed_copyright'] is not None:
-            handler.addQuickElement(u"rights", self.feed['feed_copyright'])
+            handler.addQuickElement("rights", self.feed['feed_copyright'])
 
     def write_items(self, handler):
         for item in self.items:
-            handler.startElement(u"entry", self.item_attributes(item))
+            handler.startElement("entry", self.item_attributes(item))
             self.add_item_elements(handler, item)
-            handler.endElement(u"entry")
+            handler.endElement("entry")
 
     def add_item_elements(self, handler, item):
-        handler.addQuickElement(u"title", item['title'])
-        handler.addQuickElement(u"link", u"", {u"href": item['link'], u"rel": u"alternate"})
+        handler.addQuickElement("title", item['title'])
+        handler.addQuickElement("link", "", {"href": item['link'], "rel": "alternate"})
         if item['pubdate'] is not None:
-            handler.addQuickElement(u"updated", rfc3339_date(item['pubdate']).decode('utf-8'))
-            handler.addQuickElement(u"published", rfc3339_date(item['pubdate']).decode('utf-8'))
+            handler.addQuickElement("updated", rfc3339_date(item['pubdate']).decode('utf-8'))
+            handler.addQuickElement("published", rfc3339_date(item['pubdate']).decode('utf-8'))
 
         # Author information.
         if item['author_name'] is not None:
-            handler.startElement(u"author", {})
-            handler.addQuickElement(u"name", item['author_name'])
+            handler.startElement("author", {})
+            handler.addQuickElement("name", item['author_name'])
             if item['author_email'] is not None:
-                handler.addQuickElement(u"email", item['author_email'])
+                handler.addQuickElement("email", item['author_email'])
             if item['author_link'] is not None:
-                handler.addQuickElement(u"uri", item['author_link'])
-            handler.endElement(u"author")
+                handler.addQuickElement("uri", item['author_link'])
+            handler.endElement("author")
 
         # Unique ID.
         if item['unique_id'] is not None:
             unique_id = item['unique_id']
         else:
             unique_id = get_tag_uri(item['link'], item['pubdate'])
-        handler.addQuickElement(u"id", unique_id)
+        handler.addQuickElement("id", unique_id)
 
         # Summary.
         if item['description'] is not None:
-            handler.addQuickElement(u"summary", item['description'], {u"type": u"html"})
+            handler.addQuickElement("summary", item['description'], {"type": "html"})
 
         # Enclosure.
         if item['enclosure'] is not None:
-            handler.addQuickElement(u"link", '',
-                {u"rel": u"enclosure",
-                 u"href": item['enclosure'].url,
-                 u"length": item['enclosure'].length,
-                 u"type": item['enclosure'].mime_type})
+            handler.addQuickElement("link", '',
+                {"rel": "enclosure",
+                 "href": item['enclosure'].url,
+                 "length": item['enclosure'].length,
+                 "type": item['enclosure'].mime_type})
 
         # Categories.
         for cat in item['categories']:
-            handler.addQuickElement(u"category", u"", {u"term": cat})
+            handler.addQuickElement("category", "", {"term": cat})
 
         # Rights.
         if item['item_copyright'] is not None:
-            handler.addQuickElement(u"rights", item['item_copyright'])
+            handler.addQuickElement("rights", item['item_copyright'])
 
 # This isolates the decision of what the system default is, so calling code can
 # do "feedgenerator.DefaultFeed" instead of "feedgenerator.Rss201rev2Feed".
@@ -465,9 +465,9 @@
         a unicode GeoRSS representation.
         """
         if self.is_input_latitude_first:
-            return u' '.join([u'%f %f' % x for x in coords])
+            return ' '.join(['%f %f' % x for x in coords])
         else:
-            return u' '.join([u'%f %f' % (x[1], x[0]) for x in coords])
+            return ' '.join(['%f %f' % (x[1], x[0]) for x in coords])
 
     def add_georss_point(self, handler, coords, w3c_geo=False):
         """
@@ -480,10 +480,10 @@
                 lat, lon = coords[:2]
             else:
                 lon, lat = coords[:2]
-            handler.addQuickElement(u'geo:lat', u'%f' % lat)
-            handler.addQuickElement(u'geo:lon', u'%f' % lon)
+            handler.addQuickElement('geo:lat', '%f' % lat)
+            handler.addQuickElement('geo:lon', '%f' % lon)
         else:
-            handler.addQuickElement(u'georss:point', self.georss_coords((coords,)))
+            handler.addQuickElement('georss:point', self.georss_coords((coords,)))
 
     def add_georss_element(self, handler, item, w3c_geo=False):
         """
@@ -514,7 +514,7 @@
                 # If a GeoRSS box was given via tuple.
                 if not box_coords is None:
                     if w3c_geo: raise ValueError('Cannot use simple GeoRSS box in W3C Geo feeds.')
-                    handler.addQuickElement(u'georss:box', self.georss_coords(box_coords))
+                    handler.addQuickElement('georss:box', self.georss_coords(box_coords))
             else:
                 # Getting the lower-case geometry type.
                 gtype = str(geom.geom_type).lower()
@@ -525,10 +525,10 @@
                     # For formatting consistent w/the GeoRSS simple standard:
                     # http://georss.org/1.0#simple
                     if gtype in ('linestring', 'linearring'):
-                        handler.addQuickElement(u'georss:line', self.georss_coords(geom.coords))
+                        handler.addQuickElement('georss:line', self.georss_coords(geom.coords))
                     elif gtype in ('polygon',):
                         # Only support the exterior ring.
-                        handler.addQuickElement(u'georss:polygon', self.georss_coords(geom[0].coords))
+                        handler.addQuickElement('georss:polygon', self.georss_coords(geom[0].coords))
                     else:
                         raise ValueError('Geometry type "%s" not supported.' % geom.geom_type)
 
@@ -536,7 +536,7 @@
 class GeoRSSFeed(Rss201rev2Feed, GeoFeedMixin):
     def rss_attributes(self):
         attrs = super(GeoRSSFeed, self).rss_attributes()
-        attrs[u'xmlns:georss'] = u'http://www.georss.org/georss'
+        attrs['xmlns:georss'] = 'http://www.georss.org/georss'
         return attrs
 
     def add_item_elements(self, handler, item):
@@ -550,7 +550,7 @@
 class GeoAtom1Feed(Atom1Feed, GeoFeedMixin):
     def root_attributes(self):
         attrs = super(GeoAtom1Feed, self).root_attributes()
-        attrs[u'xmlns:georss'] = u'http://www.georss.org/georss'
+        attrs['xmlns:georss'] = 'http://www.georss.org/georss'
         return attrs
 
     def add_item_elements(self, handler, item):
@@ -564,7 +564,7 @@
 class W3CGeoFeed(Rss201rev2Feed, GeoFeedMixin):
     def rss_attributes(self):
         attrs = super(W3CGeoFeed, self).rss_attributes()
-        attrs[u'xmlns:geo'] = u'http://www.w3.org/2003/01/geo/wgs84_pos#'
+        attrs['xmlns:geo'] = 'http://www.w3.org/2003/01/geo/wgs84_pos#'
         return attrs
 RefactoringTool: No changes to ../python3/webhelpers/date.py
RefactoringTool: Refactored ../python3/webhelpers/containers.py
RefactoringTool: Refactored ../python3/webhelpers/constants.py
WARNING: couldn't encode ../python3/webhelpers/constants.py's diff for your terminal
RefactoringTool: No changes to ../python3/webhelpers/__init__.py
RefactoringTool: No changes to ../python3/unfinished/sanitize_filename.py
RefactoringTool: No changes to ../python3/unfinished/opener.py
RefactoringTool: No changes to ../python3/unfinished/number_to_human_size.py
RefactoringTool: Refactored ../python3/unfinished/multimedia.py

     def add_item_elements(self, handler, item):
--- ../python3/webhelpers/containers.py	(original)
+++ ../python3/webhelpers/containers.py	(refactored)
@@ -40,7 +40,7 @@
                 args = tuple()
             else:
                 args = self.default_factory,
-            return type(self), args, None, None, self.items()
+            return type(self), args, None, None, list(self.items())
         def copy(self):
             return self.__copy__()
         def __copy__(self):
@@ -48,7 +48,7 @@
         def __deepcopy__(self, memo):
             import copy
             return type(self)(self.default_factory,
-                              copy.deepcopy(self.items()))
+                              copy.deepcopy(list(self.items())))
         def __repr__(self):
             return 'defaultdict(%s, %s)' % (self.default_factory,
                                             dict.__repr__(self))
@@ -116,8 +116,8 @@
 
         If ``max_items`` is provided, return no more than that many items.
         """
-        data = [(x[1], x[0]) for x in self.result.iteritems()]
-        data.sort(key=lambda x: (sys.maxint - x[0], x[1]))
+        data = [(x[1], x[0]) for x in self.result.items()]
+        data.sort(key=lambda x: (sys.maxsize - x[0], x[1]))
         if max_items:
             return data[:max_items]
         else:
@@ -126,7 +126,7 @@
     def get_sorted_items(self):
         """Return the result as a list of ``(item, count)`` pairs sorted by item.
         """
-        data = self.result.items()
+        data = list(self.result.items())
         data.sort()
         return data
 
@@ -279,7 +279,7 @@
             raise KeyError("key %r is not in original mapping" % k)
     r1 = {}
     r2 = {}
-    for k, v in dic.items():
+    for k, v in list(dic.items()):
         if k in keys:
             r1[k] = v
         else:
@@ -316,7 +316,7 @@
         elif default is not NotGiven:
             yield key, default
     if other_keys:
-        for key, value in d.iteritems():
+        for key, value in d.items():
             yield key, value
 
 def get_many(d, required=None, optional=None, one_of=None):
--- ../python3/webhelpers/constants.py	(original)
+++ ../python3/webhelpers/constants.py	(refactored)
@@ -107,7 +107,7 @@
         return _country_codes
     else:
         
-        text_directly_from_iso_website = u"""
+        text_directly_from_iso_website = """
 A   	  
 AFGHANISTAN 	AF
--- ../python3/unfinished/multimedia.py	(original)
+++ ../python3/unfinished/multimedia.py	(refactored)
@@ -87,7 +87,7 @@
     """
     try:
         im = Image.open(image_path)
-    except IOError, e:
+    except IOError as e:
         if str(e) == "cannot identify image file":
             return None
         else:
@@ -118,7 +118,7 @@
         im = im.convert()   # Convert GIF palette to RGB mode.
     try:
         im.thumbnail((width, height), Image.ANTIALIAS)
-    except IOError, e:
+    except IOError as e:
         reason = str(e)
         if RX_DECODER_NOT_AVAILABLE.search(reason):
             return None   # PIL error, cannot thumbnail.
@@ -184,9 +184,9 @@
     return os.path.join(dir, new_name)
 
 def test():
-    print "Height for 600x480 @ width 200 is", choose_height(200, 600, 480)
-    print "Path 200 for a/foo.jpg is", get_thumb_path('a/foo.jpg', 200)
-    print "Path 200 for a/foo.png is", get_thumb_path('a/foo.png', 200)
+    print("Height for 600x480 @ width 200 is", choose_height(200, 600, 480))
+    print("Path 200 for a/foo.jpg is", get_thumb_path('a/foo.jpg', 200))
+    print("Path 200 for a/foo.png is", get_thumb_path('a/foo.png', 200))
 
 if __name__ == "__main__":  test()
 
@@ -328,7 +328,7 @@
     
     width = 200
     dst = make_pdf_thumbnail2(source_file, width)
-    print "Thumbnail made:", dst
+    print("Thumbnail made:", dst)
 
 #ps_cmd = "save pop currentglobal true setglobal false/product where{pop product(Ghostscript)search{pop pop pop revision 600 ge{pop true}if}{pop}ifelse}if{/pdfdict where{pop pdfdict begin/pdfshowpage_setpage[pdfdict/pdfshowpage_setpage get{dup type/nametype eq{dup/OutputFileRefactoringTool: Refactored ../python3/unfinished/logging_optparse.py
RefactoringTool: No changes to ../python3/unfinished/document.py
RefactoringTool: Refactored ../python3/unfinished/disabled_test_pylonslib_minify.py
 eq{pop/AntiRotationHack}{dup/MediaBox eq revision 650 ge and{/THB.CropHack{1 index/CropBox pget{2 index exch/MediaBox exch put}if}def/THB.CropHack cvx}if}ifelse}if}forall]cvx def end}if}if setglobal"
 
--- ../python3/unfinished/logging_optparse.py	(original)
+++ ../python3/unfinished/logging_optparse.py	(refactored)
@@ -215,5 +215,5 @@
                 if logger == "__main__":
                     # Set root logger to same level.
                     logging.getLogger().setLevel(level)
-        except LogLevelError, e:
+        except LogLevelError as e:
             parser.error("log level '%s' not defined" % e.level)
--- ../python3/unfinished/disabled_test_pylonslib_minify.py	(original)
+++ ../python3/unfinished/disabled_test_pylonslib_minify.py	(refactored)
@@ -79,42 +79,42 @@
         # minify and combine
         js_source = self.minify.javascript_link('/deep/a.js', '/b.js', combined=True, minified=True)
         css_source = self.minify.stylesheet_link('/deep/a.css', '/b.css', combined=True, minified=True)
-        self.assert_('"/a.b.COMBINED.min.css"' in css_source)
-        self.assert_('"/a.b.COMBINED.min.js"' in js_source)
+        self.assertTrue('"/a.b.COMBINED.min.css"' in css_source)
+        self.assertTrue('"/a.b.COMBINED.min.js"' in js_source)
         
         # combine
         js_source = self.minify.javascript_link('/deep/a.js', '/b.js', combined=True)
         css_source = self.minify.stylesheet_link('/deep/a.css', '/b.css', combined=True)
-        self.assert_('"/a.b.COMBINED.css"' in css_source)
-        self.assert_('"/a.b.COMBINED.js"' in js_source)
+        self.assertTrue('"/a.b.COMBINED.css"' in css_source)
+        self.assertTrue('"/a.b.COMBINED.js"' in js_source)
 
         # minify
         js_source = self.minify.javascript_link('/deep/a.js', '/b.js', minified=True)
         css_source = self.minify.stylesheet_link('/deep/a.css', '/b.css', minified=True)
-        self.assert_('"/deep/a.min.css"' in css_source)
-        self.assert_('"/b.min.css"' in css_source)
-        self.assert_('"/deep/a.min.js"' in js_source)
-        self.assert_('"/b.min.js"' in js_source)
+        self.assertTrue('"/deep/a.min.css"' in css_source)
+        self.assertTrue('"/b.min.css"' in css_source)
+        self.assertTrue('"/deep/a.min.js"' in js_source)
+        self.assertTrue('"/b.min.js"' in js_source)
 
         # root minify and combined
         js_source = self.minify.javascript_link('/c.js', '/b.js', combined=True, minified=True)
         css_source = self.minify.stylesheet_link('/c.css', '/b.css', combined=True, minified=True)
-        self.assert_('"/c.b.COMBINED.min.css"' in css_source)
-        self.assert_('"/c.b.COMBINED.min.js"' in js_source)
+        self.assertTrue('"/c.b.COMBINED.min.css"' in css_source)
+        self.assertTrue('"/c.b.COMBINED.min.js"' in js_source)
 
         # root minify
         js_source = self.minify.javascript_link('/c.js', '/b.js', minified=True)
         css_source = self.minify.stylesheet_link('/c.css', '/b.css', minified=True)
-        self.assert_('"/b.min.css"' in css_source)
-        self.assert_('"/b.min.js"' in js_source)
-        self.assert_('"/c.min.js"' in js_source)
-        self.assert_('"/c.min.js"' in js_source)
+        self.assertTrue('"/b.min.css"' in css_source)
+        self.assertTrue('"/b.min.js"' in js_source)
+        self.assertTrue('"/c.min.js"' in js_source)
+        self.assertTrue('"/c.min.js"' in js_source)
 
         # both root minify and combined
         js_source = self.minify.javascript_link('/deep/a.js', '/deep/d.js', combined=True, minified=True)
         css_source = self.minify.stylesheet_link('/deep/a.css', '/deep/d.css', combined=True, minified=True)
-        self.assert_('"/deep/a.d.COMBINED.min.css"' in css_source)
-        self.assert_('"/deep/a.d.COMBINED.min.js"' in js_source)
+        self.assertTrue('"/deep/a.d.COMBINED.min.css"' in css_source)
+        self.assertTrue('"/deep/a.d.COMBINED.min.js"' in js_source)
 
         # Cleanup -- done by .tearDown()
         #self.purge_files('a.b.COMBINED.min.js', 'a.b.CORefactoringTool: Refactored ../python3/unfinished/containers.py
RefactoringTool: Refactored ../python3/unfinished/baseN.py
RefactoringTool: No changes to ../python3/tests/util.py
RefactoringTool: Refactored ../python3/tests/test_tools.py
MBINED.min.css')
--- ../python3/unfinished/containers.py	(original)
+++ ../python3/unfinished/containers.py	(refactored)
@@ -16,7 +16,7 @@
         if n > 0:
             extension = [fill] * n
             lis.extend(extension)
-    return zip(*data)
+    return list(zip(*data))
 
 def izip_fill(*iterables, **kw):
     """Like itertools.izip but use a default value for the missing elements
@@ -26,18 +26,18 @@
        ``default`` is the default value (default ``None``, must be a keyword
        arg.
     """
-    iterables = map(iter, iterables)
+    iterables = list(map(iter, iterables))
     default = kw.pop('default', None)
     if kw:
         raise TypeError("unrecognized keyword arguments")
     columns = len(iterables)
-    columns_range = range(columns)
+    columns_range = list(range(columns))
     while True:
         found_data = False
         row = [None] * columns
         for i in columns_range:
             try:
-                row[i] = iterables[i].next()
+                row[i] = next(iterables[i])
                 found_data = True
             except StopIteration:
                 row[i] = default
--- ../python3/unfinished/baseN.py	(original)
+++ ../python3/unfinished/baseN.py	(refactored)
@@ -59,7 +59,7 @@
     s = list(s)
     alphabet = list(alphabet)
     base = len(alphabet)
-    inverse_alphabet = dict(zip(alphabet, xrange(0, base)))
+    inverse_alphabet = dict(list(zip(alphabet, list(range(0, base)))))
     n = 0
     exp = 0
     for i in reversed(s):
--- ../python3/tests/test_tools.py	(original)
+++ ../python3/tests/test_tools.py	(refactored)
@@ -74,50 +74,50 @@
             }
 
         result_values = {}
-        for k, v in result_values_templates.iteritems():
+        for k, v in result_values_templates.items():
             result_values[k] = Template(v).substitute(raw_values)
 
         self.assertEqual(result_values["email_result"], auto_link(raw_values['email_raw'], 'email_addresses'))
-        self.assertEqual(u"hello %(email_result)s" % result_values, auto_link("hello %(email_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"Go to %(link_result)s" % result_values, auto_link("Go to %(link_raw)s" % raw_values, 'urls'))
-        self.assertEqual(u"Go to %(link_raw)s" % raw_values, auto_link("Go to %(link_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"Go to %(link_result)s and say hello to %(email_result)s" % result_values, auto_link("Go to %(link_raw)s and say hello to %(email_raw)s" % raw_values))
-        self.assertEqual(u"<p>Link %(link_result)s</p>" % result_values, auto_link(literal("<p>Link %(link_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link_result)s Link</p>" % result_values, auto_link(literal("<p>%(link_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"<p>Link %(link_result_with_options)s</p>" % result_values, auto_link(literal("<p>Link %(link_raw)s</p>") % raw_values, 'all', target='_blank'))
-        self.assertEqual(u"Go to %(link_result)s." % result_values, auto_link("Go to %(link_raw)s." % raw_values))
-        self.assertEqual(u"<p>Go to %(link_result)s, then say hello to %(email_result)s.</p>" % result_values, auto_link(literal("<p>Go to %(link_raw)s, then say hello to %(email_raw)s.</p>") % raw_values))
-        self.assertEqual(u"Go to %(link2_result)s" % result_values, auto_link("Go to %(link2_raw)s" % raw_values, 'urls'))
-        self.assertEqual(u"Go to %(link2_raw)s" % raw_values, auto_link("Go to %(link2_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"<p>Link %(link2_result)s</p>" % result_values, auto_link(literal("<p>Link %(link2_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link2_result)s Link</p>" % result_values, auto_link(literal("<p>%(link2_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"Go to %(link2_result)s." % result_values, auto_link(literal("Go to %(link2_raw)s.") % raw_values))
-        self.assertEqual(u"<p>Say hello to %(email_result)s, then go to %(link2_result)s.</p>" % result_values, auto_link(literal("<p>Say hello to %(email_raw)s, then go to %(link2_raw)s.</p>") % raw_values))
-        self.assertEqual(u"Go to %(link3_result)s" % result_values, auto_link("Go to %(link3_raw)s" % raw_values, 'urls'))
-        self.assertEqual(u"Go to %(link3_raw)s" % raw_values, auto_link("Go to %(link3_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"<p>Link %(link3_result)s</p>" % result_values, auto_link(literal("<p>Link %(link3_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link3_result)s Link</p>" % result_values, auto_link(literal("<p>%(link3_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"Go to %(link3_result)s." % result_values, auto_link("Go to %(link3_raw)s." % raw_values))
-        self.assertEqual(u"<p>Go to %(link3_result)s. seriously, %(link3_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link3_raw)s. seriously, %(link3_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
-        self.assertEqual(u"<p>Link %(link4_result)s</p>" % result_values, auto_link(literal("<p>Link %(link4_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link4_result)s Link</p>" % result_values, auto_link(literal("<p>%(link4_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"<p>%(link5_result)s Link</p>" % result_values, auto_link(literal("<p>%(link5_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"<p>%(link6_result)s Link</p>" % result_values, auto_link(literal("<p>%(link6_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"<p>%(link7_result)s Link</p>" % result_values, auto_link(literal("<p>%(link7_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"Go to %(link8_result)s" % result_values, auto_link("Go to %(link8_raw)s" % raw_values, 'urls'))
-        self.assertEqual(u"Go to %(link8_raw)s" % raw_values, auto_link("Go to %(link8_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"<p>Link %(link8_result)s</p>" % result_values, auto_link(literal("<p>Link %(link8_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link8_result)s Link</p>" % result_values, auto_link(literal("<p>%(link8_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"Go to %(link8_result)s." % result_values, auto_link("Go to %(link8_raw)s." % raw_values))
-        self.assertEqual(u"<p>Go to %(link8_result)s. seriously, %(link8_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link8_raw)s. seriously, %(link8_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
-        self.assertEqual(u"Go to %(link9_result)s" % result_values, auto_link("Go to %(link9_raw)s" % raw_values, 'urls'))
-        self.assertEqual(u"Go to %(link9_raw)s" % raw_values, auto_link("Go to %(link9_raw)s" % raw_values, 'email_addresses'))
-        self.assertEqual(u"<p>Link %(link9_result)s</p>" % result_values, auto_link(literal("<p>Link %(link9_raw)s</p>") % raw_values))
-        self.assertEqual(u"<p>%(link9_result)s Link</p>" % result_values, auto_link(literal("<p>%(link9_raw)s Link</p>") % raw_values))
-        self.assertEqual(u"Go to %(link9_result)s." % result_values, auto_link("Go to %(link9_raw)s." % raw_values))
-        self.assertEqual(u"<p>Go to %(link9_result)s. seriously, %(link9_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link9_raw)s. seriously, %(link9_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
-        self.assertEqual(u"", auto_link(None))
-        self.assertEqual(u"", auto_link(""))
+        self.assertEqual("hello %(email_result)s" % result_values, auto_link("hello %(email_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("Go to %(link_result)s" % result_values, auto_link("Go to %(link_raw)s" % raw_values, 'urls'))
+        self.assertEqual("Go to %(link_raw)s" % raw_values, auto_link("Go to %(link_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("Go to %(link_result)s and say hello to %(email_result)s" % result_values, auto_link("Go to %(link_raw)s and say hello to %(email_raw)s" % raw_values))
+        self.assertEqual("<p>Link %(link_result)s</p>" % result_values, auto_link(literal("<p>Link %(link_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link_result)s Link</p>" % result_values, auto_link(literal("<p>%(link_raw)s Link</p>") % raw_values))
+        self.assertEqual("<p>Link %(link_result_with_options)s</p>" % result_values, auto_link(literal("<p>Link %(link_raw)s</p>") % raw_values, 'all', target='_blank'))
+        self.assertEqual("Go to %(link_result)s." % result_values, auto_link("Go to %(link_raw)s." % raw_values))
+        self.assertEqual("<p>Go to %(link_result)s, then say hello to %(email_result)s.</p>" % result_values, auto_link(literal("<p>Go to %(link_raw)s, then say hello to %(email_raw)s.</p>") % raw_values))
+        self.assertEqual("Go to %(link2_result)s" % result_values, auto_link("Go to %(link2_raw)s" % raw_values, 'urls'))
+        self.assertEqual("Go to %(link2_raw)s" % raw_values, auto_link("Go to %(link2_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("<p>Link %(link2_result)s</p>" % result_values, auto_link(literal("<p>Link %(link2_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link2_result)s Link</p>" % result_values, auto_link(literal("<p>%(link2_raw)s Link</p>") % raw_values))
+        self.assertEqual("Go to %(link2_result)s." % result_values, auto_link(literal("Go to %(link2_raw)s.") % raw_values))
+        self.assertEqual("<p>Say hello to %(email_result)s, then go to %(link2_result)s.</p>" % result_values, auto_link(literal("<p>Say hello to %(email_raw)s, then go to %(link2_raw)s.</p>") % raw_values))
+        self.assertEqual("Go to %(link3_result)s" % result_values, auto_link("Go to %(link3_raw)s" % raw_values, 'urls'))
+        self.assertEqual("Go to %(link3_raw)s" % raw_values, auto_link("Go to %(link3_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("<p>Link %(link3_result)s</p>" % result_values, auto_link(literal("<p>Link %(link3_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link3_result)s Link</p>" % result_values, auto_link(literal("<p>%(link3_raw)s Link</p>") % raw_values))
+        self.assertEqual("Go to %(link3_result)s." % result_values, auto_link("Go to %(link3_raw)s." % raw_values))
+        self.assertEqual("<p>Go to %(link3_result)s. seriously, %(link3_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link3_raw)s. seriously, %(link3_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
+        self.assertEqual("<p>Link %(link4_result)s</p>" % result_values, auto_link(literal("<p>Link %(link4_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link4_result)s Link</p>" % result_values, auto_link(literal("<p>%(link4_raw)s Link</p>") % raw_values))
+        self.assertEqual("<p>%(link5_result)s Link</p>" % result_values, auto_link(literal("<p>%(link5_raw)s Link</p>") % raw_values))
+        self.assertEqual("<p>%(link6_result)s Link</p>" % result_values, auto_link(literal("<p>%(link6_raw)s Link</p>") % raw_values))
+        self.assertEqual("<p>%(link7_result)s Link</p>" % result_values, auto_link(literal("<p>%(link7_raw)s Link</p>") % raw_values))
+        self.assertEqual("Go to %(link8_result)s" % result_values, auto_link("Go to %(link8_raw)s" % raw_values, 'urls'))
+        self.assertEqual("Go to %(link8_raw)s" % raw_values, auto_link("Go to %(link8_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("<p>Link %(link8_result)s</p>" % result_values, auto_link(literal("<p>Link %(link8_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link8_result)s Link</p>" % result_values, auto_link(literal("<p>%(link8_raw)s Link</p>") % raw_values))
+        self.assertEqual("Go to %(link8_result)s." % result_values, auto_link("Go to %(link8_raw)s." % raw_values))
+        self.assertEqual("<p>Go to %(link8_result)s. seriously, %(link8_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link8_raw)s. seriously, %(link8_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
+        self.assertEqual("Go to %(link9_result)s" % result_values, auto_link("Go to %(link9_raw)s" % raw_values, 'urls'))
+        self.assertEqual("Go to %(link9_raw)s" % raw_values, auto_link("Go to %(link9_raw)s" % raw_values, 'email_addresses'))
+        self.assertEqual("<p>Link %(link9_result)s</p>" % result_values, auto_link(literal("<p>Link %(link9_raw)s</p>") % raw_values))
+        self.assertEqual("<p>%(link9_result)s Link</p>" % result_values, auto_link(literal("<p>%(link9_raw)s Link</p>") % raw_values))
+        self.assertEqual("Go to %(link9_result)s." % result_values, auto_link("Go to %(link9_raw)s." % raw_values))
+        self.assertEqual("<p>Go to %(link9_result)s. seriously, %(link9_result)s? i think I'll say hello to %(email_result)s. instead.</p>" % result_values, auto_link(literal("<p>Go to %(link9_raw)s. seriously, %(link9_raw)s? i think I'll say hello to %(email_raw)s. instead.</p>") % raw_values))
+        self.assertEqual("", auto_link(None))
+        self.assertEqual("", auto_link(""))
         # Failing test: PylonsHQ bug #657
         #self.assertEqual(u'&lt;<a href="http://www.google.com">www.google.com</a>&gt;', auto_link("<www.google.com>"))
 
@@ -131,80 +131,80 @@
 
 class TestURLHelper(WebHelpersTestCase):
     def test_button_to_with_straight_url(self):
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>", 
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>", 
                button_to("Hello", "http://www.example.com"))
 
     def test_button_to_with_query(self):
-        self.assertEqual(u"<form action=\"http://www.example.com/q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>", 
+        self.assertEqual("<form action=\"http://www.example.com/q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>", 
                button_to("Hello", "http://www.example.com/q1=v1&q2=v2"))
 
     def test_button_to_with_escaped_query(self):
-        self.assertEqual(u"<form action=\"http://www.example.com/q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
+        self.assertEqual("<form action=\"http://www.example.com/q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
                          button_to("Hello", "http://www.example.com/q1=v1&q2=v2"))
     
     def test_button_to_with_query_and_no_name(self):
-        self.assertEqual(u"<form action=\"http://www.example.com?q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"http://www.example.com?q1=v1&amp;q2=v2\" /></div></form>", 
+        self.assertEqual("<form action=\"http://www.example.com?q1=v1&amp;q2=v2\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"http://www.example.com?q1=v1&amp;q2=v2\" /></div></form>", 
                button_to(None, "http://www.example.com?q1=v1&q2=v2"))
     
     def test_button_to_enabled_disabled(self):
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
                button_to("Hello", "http://www.example.com", disabled=False))
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input disabled=\"disabled\" type=\"submit\" value=\"Hello\" /></div></form>",
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input disabled=\"disabled\" type=\"submit\" value=\"Hello\" /></div></form>",
                button_to("Hello", "http://www.example.com", disabled=True))
     
     def test_button_to_with_method_delete(self):
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input id=\"_method\" name=\"_method\" type=\"hidden\" value=\"DELETE\" /><input type=\"submit\" value=\"Hello\" /></div></form>", 
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"POST\"><div><input id=\"_method\" name=\"_method\" type=\"hidden\" value=\"DELETE\" /><input type=\"submit\" value=\"Hello\" /></div></form>", 
             button_to("Hello", "http://www.example.com", method='DELETE'))
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"post\"><div><input id=\"_method\" name=\"_method\" type=\"hidden\" value=\"delete\" /><input type=\"submit\" value=\"Hello\" /></div></form>", 
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"post\"><div><input id=\"_method\" name=\"_method\" type=\"hidden\" value=\"delete\" /><input type=\"submit\" value=\"Hello\" /></div></form>", 
             button_to("Hello", "http://www.example.com", method='delete'))
 
     def test_button_to_with_method_get(self):
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"get\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"get\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
             button_to("Hello", "http://www.example.com", method='get'))
-        self.assertEqual(u"<form action=\"http://www.example.com\" class=\"button-to\" method=\"GET\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
+        self.assertEqual("<form action=\"http://www.example.com\" class=\"button-to\" method=\"GET\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",
             button_to("Hello", "http://www.example.com", method='GET'))
 
     def test_button_to_with_img(self):
-        self.assertEqual(u'<form action="/content/edit/3" class="button-to" method="POST"><div><input alt="Edit" src="/images/icon_delete.gif" type="image" value="Edit" /></div></form>',
+        self.assertEqual('<form action="/content/edit/3" class="button-to" method="POST"><div><input alt="Edit" src="/images/icon_delete.gif" type="image" value="Edit" /></div></form>',
                          button_to("Edit", '/content/edit/3', type='image', src='/images/icon_delete.gif'))
-        self.assertEqual(u'<form action="/content/submit/3" class="button-to" method="POST"><div><input alt="Complete the form" src="submit.png" type="image" value="Submit" /></div></form>',
+        self.assertEqual('<form action="/content/submit/3" class="button-to" method="POST"><div><input alt="Complete the form" src="submit.png" type="image" value="Submit" /></div></form>',
                          button_to("Submit", '/content/submit/3', type='image', src='submit.png', alt='Complete the form'))
 
     def test_mail_to(self):
-        self.assertEqual(u'<a href="mailto:justin@example.com">justin@example.com</a>', mail_to("justin@example.com"))
-        self.assertEqual(u'<a href="mailto:justin@example.com">Justin Example</a>', mail_to("justin@example.com", "Justin Example"))
-        self.assertEqual(u'<a class="admin" href="mailto:justin@example.com">Justin Example</a>',
+        self.assertEqual('<a href="mailto:justin@example.com">justin@example.com</a>', mail_to("justin@example.com"))
+        self.assertEqual('<a href="mailto:justin@example.com">Justin Example</a>', mail_to("justin@example.com", "Justin Example"))
+        self.assertEqual('<a class="admin" href="mailto:justin@example.com">Justin Example</a>',
                          mail_to("justin@example.com", "Justin Example", class_="admin"))
 
     def test_mail_to_with_javascript(self):
-        self.assertEqual(u"<script type=\"text/javascript\">\n//<![CDATA[\neval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))\n//]]>\n</script>", mail_to("me@domain.com", "My email", encode = "javascript"))
+        self.assertEqual("<script type=\"text/javascript\">\n//<![CDATA[\neval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))\n//]]>\n</script>", mail_to("me@domain.com", "My email", encode = "javascript"))
 
     def test_mail_to_with_options(self):
-        self.assertEqual(u'<a href="mailto:me@example.com?cc=ccaddress%40example.com&amp;bcc=bccaddress%40example.com&amp;subject=This%20is%20an%20example%20email&amp;body=This%20is%20the%20body%20of%20the%20message.">My email</a>',
+        self.assertEqual('<a href="mailto:me@example.com?cc=ccaddress%40example.com&amp;bcc=bccaddress%40example.com&amp;subject=This%20is%20an%20example%20email&amp;body=This%20is%20the%20body%20of%20the%20message.">My email</a>',
             mail_to("me@example.com", "My email", cc="ccaddress@example.com",
                     bcc="bccaddress@example.com", subject="This is an example email",
                     body="This is the body of the message."))
 
     def test_mail_to_with_img(self):
-        self.assertEqual(u'<a href="mailto:feedback@example.com"><img src="/feedback.png" /></a>',
+        self.assertEqual('<a href="mailto:feedback@example.com"><img src="/feedback.png" /></a>',
                         mail_to('feedback@example.com', HTML.literal('<img src="/feedback.png" />')))
 
     def test_mail_to_with_hex(self):
-        self.assertEqual(u"<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>",
+        self.assertEqual("<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>",
                          mail_to("me@domain.com", "My email", encode = "hex"))
-        self.assertEqual(u"<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a>",
+        self.assertEqual("<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a>",
                          mail_to("me@domain.com", None, encode = "hex"))
 
     def test_mail_to_with_replace_options(self):
-        self.assertEqual(u'<a href="mailto:wolfgang@stufenlos.net">wolfgang(at)stufenlos(dot)net</a>',
+        self.assertEqual('<a href="mailto:wolfgang@stufenlos.net">wolfgang(at)stufenlos(dot)net</a>',
                         mail_to("wolfgang@stufenlos.net", None, replace_at="(at)", replace_dot="(dot)"))
-        self.assertEqual(u"<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#40;&#97;&#116;&#41;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a>",
+        self.assertEqual("<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#40;&#97;&#116;&#41;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a>",
                          mail_to("me@domain.com", None, encode = "hex", replace_at = "(at)"))
-        self.assertEqual(u"<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>",
+        self.assertEqual("<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">My email</a>",
                          mail_to("me@domain.com", "My email", encode = "hex", replace_at = "(at)"))
-        self.assertEqual(u"<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@RefactoringTool: Refactored ../python3/tests/test_text.py
WARNING: couldn't encode ../python3/tests/test_text.py's diff for your terminal
RefactoringTool: Refactored ../python3/tests/test_tags.py
%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#40;&#97;&#116;&#41;&#100;&#111;&#109;&#97;&#105;&#110;&#40;&#100;&#111;&#116;&#41;&#99;&#111;&#109;</a>",
+        self.assertEqual("<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d\">&#109;&#101;&#40;&#97;&#116;&#41;&#100;&#111;&#109;&#97;&#105;&#110;&#40;&#100;&#111;&#116;&#41;&#99;&#111;&#109;</a>",
                          mail_to("me@domain.com", None, encode = "hex", replace_at = "(at)", replace_dot = "(dot)"))
-        self.assertEqual(u"<script type=\"text/javascript\">\n//<![CDATA[\neval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))\n//]]>\n</script>",
+        self.assertEqual("<script type=\"text/javascript\">\n//<![CDATA[\neval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%22%3e%4d%79%20%65%6d%61%69%6c%3c%2f%61%3e%27%29%3b'))\n//]]>\n</script>",
                          mail_to("me@domain.com", "My email", encode = "javascript", replace_at = "(at)", replace_dot = "(dot)"))
 
 
@@ -247,9 +247,9 @@
                 style="color:red"))
 
     def test_highlight_literal(self):
-        eq_(literal(u'The &lt;red&gt; c<strong class="highlight">at</strong>.'),
+        eq_(literal('The &lt;red&gt; c<strong class="highlight">at</strong>.'),
             highlight("The <red> cat.", "at"))
-        eq_(literal(u'The <red> c<strong class="highlight">at</strong>.'),
+        eq_(literal('The <red> c<strong class="highlight">at</strong>.'),
             highlight(literal("The <red> cat."), "at"))
 
     def test_highlight_legacy_highlighter(self):
@@ -259,15 +259,15 @@
 
 class TestStripTagsHelper(WebHelpersTestCase):
     def test_compare_strip_tags_to_sanitize(self):
-        text = u'I <i>really</i> like <script language="javascript">NEFARIOUS CODE</script> steak!'
+        text = 'I <i>really</i> like <script language="javascript">NEFARIOUS CODE</script> steak!'
         eq_(strip_tags(text), render.sanitize(text))
 
 if __name__ == '__main__':
-    suite = map(unittest.makeSuite, [
+    suite = list(map(unittest.makeSuite, [
         TestToolsHelper,
         TestHighlightHelper,
         TestURLHelper,
         TestStripTagsHelper,
-        ])
+        ]))
     for testsuite in suite:
         unittest.TextTestRunner(verbosity=1).run(testsuite)
--- ../python3/tests/test_text.py	(original)
+++ ../python3/tests/test_text.py	(refactored)
@@ -27,8 +27,8 @@
                          excerpt('This is a beautiful? morning', 'beautiful', 5))
 
     def test_excerpt_with_utf8(self):
--- ../python3/tests/test_tags.py	(original)
+++ ../python3/tests/test_tags.py	(refactored)
@@ -11,148 +11,148 @@
     def test_check_box(self):
         eq_(
             checkbox("admin"),
-            u'<input id="admin" name="admin" type="checkbox" value="1" />',
+            '<input id="admin" name="admin" type="checkbox" value="1" />',
         )
 
     def test_form(self):
         eq_(
             form(url="http://www.example.com"),
-            u'<form action="http://www.example.com" method="post">'
+            '<form action="http://www.example.com" method="post">'
         )
         eq_(
             form(url="http://www.example.com", method='GET'),
-            u'<form action="http://www.example.com" method="GET">'
+            '<form action="http://www.example.com" method="GET">'
         )
         eq_(
             form('/test/edit/1'),
-            u'<form action="/test/edit/1" method="post">'
+            '<form action="/test/edit/1" method="post">'
         )
 
     def test_form_multipart(self):
         eq_(
             form(url='http://www.example.com', multipart=True),
-            u'<form action="http://www.example.com" enctype="multipart/form-data" method="post">'
+            '<form action="http://www.example.com" enctype="multipart/form-data" method="post">'
         )
         
     def test_hidden_field(self):
         eq_(
             hidden("id", 3),
-            u'<input id="id" name="id" type="hidden" value="3" />'
+            '<input id="id" name="id" type="hidden" value="3" />'
         )
 
     def test_hidden_field_alt(self):
         eq_(
             hidden("id", '3'),
-            u'<input id="id" name="id" type="hidden" value="3" />'
+            '<input id="id" name="id" type="hidden" value="3" />'
         )
 
     def test_password_field(self):
         eq_(
             password("password"), 
-            u'<input id="password" name="password" type="password" />'
+            '<input id="password" name="password" type="password" />'
         )
 
     def test_radio_button(self):
         eq_(
             radio("people", "justin"),
-            u'<input id="people_justin" name="people" type="radio" value="justin" />'
+            '<input id="people_justin" name="people" type="radio" value="justin" />'
         )
         
         eq_(
             radio("num_people", 5),
-            u'<input id="num_people_5" name="num_people" type="radio" value="5" />'
+            '<input id="num_people_5" name="num_people" type="radio" value="5" />'
         )
 
         eq_(
             radio("num_people", 5),
-            u'<input id="num_people_5" name="num_people" type="radio" value="5" />'
+            '<input id="num_people_5" name="num_people" type="radio" value="5" />'
         )
         
         eq_(
             radio("gender", "m") + radio("gender", "f"),
-            u'<input id="gender_m" name="gender" type="radio" value="m" /><input id="gender_f" name="gender" type="radio" value="f" />'
+            '<input id="gender_m" name="gender" type="radio" value="m" /><input id="gender_f" name="gender" type="radio" value="f" />'
         )
         
         eq_(
             radio("opinion", "-1") + radio("opinion", "1"),
-            u'<input id="opinion_-1" name="opinion" type="radio" value="-1" /><input id="opinion_1" name="opinion" type="radio" value="1" />'
+            '<input id="opinion_-1" name="opinion" type="radio" value="-1" /><input id="opinion_1" name="opinion" type="radio" value="1" />'
         )
 
         eq_(
             radio("num_people", 5, checked=True),
-            u'<input checked="checked" id="num_people_5" name="num_people" type="radio" value="5" />'
+            '<input checked="checked" id="num_people_5" name="num_people" type="radio" value="5" />'
         )
 
     def test_submit(self):
         eq_(
-            u'<input id="commit" name="commit" type="submit" value="Save changes" />',
+            '<input id="commit" name="commit" type="submit" value="Save changes" />',
             submit("commit", "Save changes")
         )
 
     def test_text_area(self):
         eq_(
             textarea("aa", ""),
-            u'<textarea id="aa" name="aa"></textarea>'
+            '<textarea id="aa" name="aa"></textarea>'
         )
         eq_(
             textarea("aa", None),
-            u'<textarea id="aa" name="aa"></textarea>'
+            '<textarea id="aa" name="aa"></textarea>'
         )
         eq_(
             textarea("aa", "Hello!"),
-            u'<textarea id="aa" name="aa">Hello!</textarea>'
+            '<textarea id="aa" name="aa">Hello!</textarea>'
         )
 
     def test_text_area_size_string(self):
         eq_(
             textarea("body", "hello world", cols=20, rows=40),
-            u'<textarea cols="20" id="body" name="body" rows="40">hello world</textarea>'
+            '<textarea cols="20" id="body" name="body" rows="40">hello world</textarea>'
         )
 
     def test_text_field(self):
         eq_(
             text("title", ""),
-            u'<input id="title" name="title" type="text" value="" />'
+            '<input id="title" name="title" type="text" value="" />'
         )
         eq_(
             text("title", None),
-            u'<input id="title" name="title" type="text" />'
+            '<input id="title" name="title" type="text" />'
         )
         eq_(
             text("title", "Hello!"),
-            u'<input id="title" name="title" type="text" value="Hello!" />'
+            '<input id="title" name="title" type="text" value="Hello!" />'
         )
 
     def test_text_field_class_string(self):
         eq_(
             text( "title", "Hello!", class_= "admin"),
-            u'<input class="admin" id="title" name="title" type="text" value="Hello!" />'
+            '<input class="admin" id="title" name="title" type="text" value="Hello!" />'
         )
 
     def test_boolean_options(self):
         eq_(     
             checkbox("admin", 1, True, disabled = True, readonly="yes"),
-            u'<input checked="checked" disabled="disabled" id="admin" name="admin" readonly="readonly" type="checkbox" value="1" />'
+            '<input checked="checked" disabled="disabled" id="admin" name="admin" readonly="readonly" type="checkbox" value="1" />'
         )
         eq_(
             checkbox("admin", 1, True, disabled = False, readonly = None),
-            u'<input checked="checked" id="admin" name="admin" type="checkbox" value="1" />'
+            '<input checked="checked" id="admin" name="admin" type="checkbox" value="1" />'
         )
 
     def test_multiple_id_bug(self):
         # Don't set multiple id attributes for 'id_' argument.
         eq_(
             text("spam", "pizza", id="eggs"),
-            u'<input id="eggs" name="spam" type="text" value="pizza" />')
+            '<input id="eggs" name="spam" type="text" value="pizza" />')
         eq_(
             text("spam", "pizza", id_="eggs"), 
-            u'<input id="eggs" name="spam" type="text" value="pizza" />')
+            '<input id="eggs" name="spam" type="text" value="pizza" />')
         eq_(
             select("spam", [1,2], [2], id="eggs"),
-            u'<select id="eggs" name="spam">\n<option selected="selected" value="2">2</option>\n</select>')
+            '<select id="eggs" name="spam">\n<option selected="selected" value="2">2</option>\n</select>')
         eq_(
             select("spam", [1,2], [2], id_="eggs"),
-            u'<select id="eggs" name="spam">\n<option selected="selected" value="2">2</option>\n</select>')
+            '<select id="eggs" name="spam">\n<option selected="selected" value="2">2</option>\n</select>')
 
     def test_id_and_id_(self):
         raises(TypeError, text, "spam", "pizza", id="fubar", id_="eggs")
@@ -161,21 +161,21 @@
     
 class TestLinkHelper(object):
     def test_link_tag_with_query(self):
-        eq_(u"<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">Hello</a>", 
+        eq_("<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">Hello</a>", 
                link_to("Hello", "http://www.example.com?q1=v1&q2=v2"))
     
     def test_link_tag_with_query_and_no_name(self):
-        eq_(u"<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">http://www.example.com?q1=v1&amp;q2=v2</a>", 
+        eq_("<a href=\"http://www.example.com?q1=v1&amp;q2=v2\">http://www.example.com?q1=v1&amp;q2=v2</a>", 
                link_to(None, HTML.literal("http://www.example.com?q1=v1&amp;q2=v2")))
     
     def test_link_tag_with_custom_onclick(self):
-        eq_(u"<a href=\"http://www.example.com\" onclick=\"alert(&#39;yay!&#39;)\">Hello</a>", 
+        eq_("<a href=\"http://www.example.com\" onclick=\"alert(&#39;yay!&#39;)\">Hello</a>", 
                link_to("Hello", "http://www.example.com", onclick="alert('yay!')"))
     
 
 class TestAssetTagHelper(object):
     def test_auto_discovery_link_tag(self):
-        eq_(literal(u'<link href="http://feed.com/feed.xml" rel="alternate" title="RSS" type="application/rss+xml" />'),
+        eq_(literal('<link href="http://feed.com/feed.xml" rel="alternate" title="RSS" type="application/rss+xml" />'),
                          auto_discovery_link('http://feed.com/feed.xml'))
         eq_('<link href="http://feed.com/feed.xml" rel="alternate" title="ATOM" type="application/atom+xml" />',
                          auto_discovery_link('http://feed.com/feed.xml', feed_type='atom'))
@@ -215,7 +215,7 @@
                          javascript_link('/js/pngfix.js', defer=True)RefactoringTool: No changes to ../python3/tests/test_pylonslib_flash.py
RefactoringTool: Refactored ../python3/tests/test_paginate.py
RefactoringTool: No changes to ../python3/tests/test_number.py
RefactoringTool: Refactored ../python3/tests/test_modeltags.py
)
 
     def test_stylesheet_link_tag(self):
-        eq_(literal(u'<link href="/dir/file.css" media="all" rel="stylesheet" type="text/css" />'),
+        eq_(literal('<link href="/dir/file.css" media="all" rel="stylesheet" type="text/css" />'),
                          stylesheet_link('/dir/file.css', media='all'))
         eq_('<link href="style.css" media="all" rel="stylesheet" type="text/css" />',
                          stylesheet_link('style.css', media='all'))
--- ../python3/tests/test_paginate.py	(original)
+++ ../python3/tests/test_paginate.py	(refactored)
@@ -30,7 +30,7 @@
 
 def test_one_page():
     """Test that we fit 10 items on a single 10-item page."""
-    items = range(10)
+    items = list(range(10))
     page = paginate.Page(items, page=0, items_per_page=10)
     assert page.page == 1
     assert page.first_item == 1
@@ -50,7 +50,7 @@
 
 def test_many_pages():
     """Test that 100 items fit on seven 15-item pages."""
-    items = range(100)
+    items = list(range(100))
     page = paginate.Page(items, page=0, items_per_page=15, url=url_generator)
     eq_(page.page, 1)
     eq_(page.first_item, 1)
--- ../python3/tests/test_modeltags.py	(original)
+++ ../python3/tests/test_modeltags.py	(refactored)
@@ -7,7 +7,7 @@
 
 class Holder(object):
     def __init__(self, settings):
-        for k,v in settings.iteritems():
+        for k,v in settings.items():
             setattr(self, k, v)
             
 class TestModelTagsHelperWithObject(WebHelpersTestCase):
@@ -19,53 +19,53 @@
     def test_check_box(self):
         self.assertEqual(
             self.m.checkbox("fulltime"),
-            u'<input checked="checked" id="fulltime" name="fulltime" type="checkbox" value="1" />',
-        )
-
-    def test_hidden_field(self):
-        self.assertEqual(
-            self.m.hidden("name"),
-            u'<input id="name" name="name" type="hidden" value="Jim" />'
-        )
-
-    def test_password_field(self):
-        self.assertEqual(
-            self.m.password('name'), 
-            u'<input id="name" name="name" type="password" value="Jim" />'
-        )
-    def test_file_field(self):
-        self.assertEqual(
-            self.m.file('name'), 
-            u'<input id="name" name="name" type="file" value="Jim" />'
-        )
-
-    def test_radio_button(self):
-        self.assertEqual(
-            self.m.radio("favcolor", "blue"),
-            u'<input checked="checked" id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
-        )
-        
-        self.assertEqual(
-            self.m.radio("favcolor", "red"),
-            u'<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
-        )
-
-
-    def test_text_area(self):
-        self.assertEqual(
-            self.m.textarea("longtext"),
-            u'<textarea id="longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
-        )
-
-    def test_text_field(self):
-        self.assertEqual(
-            self.m.text("name"),
-            u'<input id="name" name="name" type="text" value="Jim" />'
-        )
-    def test_select(self):
-        self.assertEqual(
-            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
-            u'<select id="lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
+            '<input checked="checked" id="fulltime" name="fulltime" type="checkbox" value="1" />',
+        )
+
+    def test_hidden_field(self):
+        self.assertEqual(
+            self.m.hidden("name"),
+            '<input id="name" name="name" type="hidden" value="Jim" />'
+        )
+
+    def test_password_field(self):
+        self.assertEqual(
+            self.m.password('name'), 
+            '<input id="name" name="name" type="password" value="Jim" />'
+        )
+    def test_file_field(self):
+        self.assertEqual(
+            self.m.file('name'), 
+            '<input id="name" name="name" type="file" value="Jim" />'
+        )
+
+    def test_radio_button(self):
+        self.assertEqual(
+            self.m.radio("favcolor", "blue"),
+            '<input checked="checked" id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
+        )
+        
+        self.assertEqual(
+            self.m.radio("favcolor", "red"),
+            '<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
+        )
+
+
+    def test_text_area(self):
+        self.assertEqual(
+            self.m.textarea("longtext"),
+            '<textarea id="longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
+        )
+
+    def test_text_field(self):
+        self.assertEqual(
+            self.m.text("name"),
+            '<input id="name" name="name" type="text" value="Jim" />'
+        )
+    def test_select(self):
+        self.assertEqual(
+            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
+            '<select id="lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
         )
 
 class TestModelTagsHelperWithDict(TestModelTagsHelperWithObject):
@@ -77,53 +77,53 @@
     def test_check_box(self):
         self.assertEqual(
             self.m.checkbox("fulltime"),
-            u'<input checked="checked" id="fulltime" name="fulltime" type="checkbox" value="1" />',
-        )
-
-    def test_hidden_field(self):
-        self.assertEqual(
-            self.m.hidden("name"),
-            u'<input id="name" name="name" type="hidden" value="Jim" />'
-        )
-
-    def test_password_field(self):
-        self.assertEqual(
-            self.m.password('name'), 
-            u'<input id="name" name="name" type="password" value="Jim" />'
-        )
-    def test_file_field(self):
-        self.assertEqual(
-            self.m.file('name'), 
-            u'<input id="name" name="name" type="file" value="Jim" />'
-        )
-
-    def test_radio_button(self):
-        self.assertEqual(
-            self.m.radio("favcolor", "blue"),
-            u'<input checked="checked" id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
-        )
-
-        self.assertEqual(
-            self.m.radio("favcolor", "red"),
-            u'<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
-        )
-
-
-    def test_text_area(self):
-        self.assertEqual(
-            self.m.textarea("longtext"),
-            u'<textarea id="longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
-        )
-
-    def test_text_field(self):
-        self.assertEqual(
-            self.m.text("name"),
-            u'<input id="name" name="name" type="text" value="Jim" />'
-        )
-    def test_select(self):
-        self.assertEqual(
-            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
-            u'<select id="lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
+            '<input checked="checked" id="fulltime" name="fulltime" type="checkbox" value="1" />',
+        )
+
+    def test_hidden_field(self):
+        self.assertEqual(
+            self.m.hidden("name"),
+            '<input id="name" name="name" type="hidden" value="Jim" />'
+        )
+
+    def test_password_field(self):
+        self.assertEqual(
+            self.m.password('name'), 
+            '<input id="name" name="name" type="password" value="Jim" />'
+        )
+    def test_file_field(self):
+        self.assertEqual(
+            self.m.file('name'), 
+            '<input id="name" name="name" type="file" value="Jim" />'
+        )
+
+    def test_radio_button(self):
+        self.assertEqual(
+            self.m.radio("favcolor", "blue"),
+            '<input checked="checked" id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
+        )
+
+        self.assertEqual(
+            self.m.radio("favcolor", "red"),
+            '<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
+        )
+
+
+    def test_text_area(self):
+        self.assertEqual(
+            self.m.textarea("longtext"),
+            '<textarea id="longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
+        )
+
+    def test_text_field(self):
+        self.assertEqual(
+            self.m.text("name"),
+            '<input id="name" name="name" type="text" value="Jim" />'
+        )
+    def test_select(self):
+        self.assertEqual(
+            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
+            '<select id="lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
         )
 
 class TestModelTagsHelperWithIdGeneration(TestModelTagsHelperWithObject):
@@ -135,53 +135,53 @@
     def test_check_box(self):
         self.assertEqual(
             self.m.checkbox("fulltime"),
-            u'<input checked="checked" id="person:fulltime" name="fulltime" type="checkbox" value="1" />',
-        )
-
-    def test_hidden_field(self):
-        self.assertEqual(
-            self.m.hidden("name"),
-            u'<input id="person:name" name="name" type="hidden" value="Jim" />'
-        )
-
-    def test_password_field(self):
-        self.assertEqual(
-            self.m.password('name'), 
-            u'<input id="person:name" name="name" type="password" value="Jim" />'
-        )
-    def test_file_field(self):
-        self.assertEqual(
-            self.m.file('name'), 
-            u'<input id="person:name" name="name" type="file" value="Jim" />'
-        )
-
-    def test_radio_button(self):
-        self.assertEqual(
-            self.m.radio("favcolor", "blue"),
-            u'<input checked="checked" id="person:favcolor_blue" name="favcolor" type="radio" value="blue" />'
-        )
-
-        self.assertEqual(
-            self.m.radio("favcolor", "red"),
-            u'<input id="person:favcolor_red" name="favcolor" type="radio" value="red" />'
-        )
-
-
-    def test_text_area(self):
-        self.assertEqual(
-            self.m.textarea("longtext"),
-            u'<textarea id="person:longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
-        )
-
-    def test_text_field(self):
-        self.assertEqual(
-            self.m.text("name"),
-            u'<input id="person:name" name="name" type="text" value="Jim" />'
-        )
-    def test_select(self):
-        self.assertEqual(
-            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
-            u'<select id="person:lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
+            '<input checked="checked" id="person:fulltime" name="fulltime" type="checkbox" value="1" />',
+        )
+
+    def test_hidden_field(self):
+        self.assertEqual(
+            self.m.hidden("name"),
+            '<input id="person:name" name="name" type="hidden" value="Jim" />'
+        )
+
+    def test_password_field(self):
+        self.assertEqual(
+            self.m.password('name'), 
+            '<input id="person:name" name="name" type="password" value="Jim" />'
+        )
+    def test_file_field(self):
+        self.assertEqual(
+            self.m.file('name'), 
+            '<input id="person:name" name="name" type="file" value="Jim" />'
+        )
+
+    def test_radio_button(self):
+        self.assertEqual(
+            self.m.radio("favcolor", "blue"),
+            '<input checked="checked" id="person:favcolor_blue" name="favcolor" type="radio" value="blue" />'
+        )
+
+        self.assertEqual(
+            self.m.radio("favcolor", "red"),
+            '<input id="person:favcolor_red" name="favcolor" type="radio" value="red" />'
+        )
+
+
+    def test_text_area(self):
+        self.assertEqual(
+            self.m.textarea("longtext"),
+            '<textarea id="person:longtext" name="longtext">lorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\nlorem ipsum lorem ipsum\n</textarea>'
+        )
+
+    def test_text_field(self):
+        self.assertEqual(
+            self.m.text("name"),
+            '<input id="person:name" name="name" type="text" value="Jim" />'
+        )
+    def test_select(self):
+        self.assertEqual(
+            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
+            '<select id="person:lang" name="lang">\n<option selected="selected" value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
         )
 
 class TestModelTagsHelperWithoutObject(WebHelpersTestCase):
@@ -193,60 +193,60 @@
     def test_check_box(self):
         self.assertEqual(
             self.m.checkbox("fulltime"),
-            u'<input id="fulltime" name="fulltime" type="checkbox" value="1" />',
-        )
-
-    def test_hidden_field(self):
-        self.assertEqual(
-            self.m.hidden("name"),
-            u'<input id="name" name="name" type="hidden" value="" />'
-        )
-
-    def test_password_field(self):
-        self.assertEqual(
-            self.m.password('name'), 
-            u'<input id="name" name="name" type="password" value="" />'
-        )
-    def test_file_field(self):
-        self.assertEqual(
-            self.m.file('name'), 
-            u'<input id="name" name="name" type="file" value="" />'
-        )
-
-    def test_radio_button(self):
-        self.assertEqual(
-            self.m.radio("favcolor", "blue"),
-            u'<input id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
-        )
-        
-        self.assertEqual(
-            self.m.radio("favcolor", "red"),
-            u'<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
-        )
-
-
-    def test_text_area(self):
-        self.assertEqual(
-            self.m.textarea("longtext"),
-            u'<textarea id="longtext" name="longtext"></textarea>'
-        )
-
-    def test_text_field(self):
-        self.assertEqual(
-            self.m.text("name"),
-            u'<input id="name" name="name" type="text" value="" />'
-        )
-    def test_select(self):
-        self.assertEqual(
-            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
-            u'<select id="lang" name="lang">\n<option value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
+            '<input id="fulltime" name="fulltime" type="checkbox" value="1" />',
+        )
+
+    def test_hidden_field(self):
+        self.assertEqual(
+            self.m.hidden("name"),
+            '<input id="name" name="name" type="hidden" value="" />'
+        )
RefactoringTool: No changes to ../python3/tests/test_mimetypes.py
RefactoringTool: Refactored ../python3/tests/test_html.py
+
+    def test_password_field(self):
+        self.assertEqual(
+            self.m.password('name'), 
+            '<input id="name" name="name" type="password" value="" />'
+        )
+    def test_file_field(self):
+        self.assertEqual(
+            self.m.file('name'), 
+            '<input id="name" name="name" type="file" value="" />'
+        )
+
+    def test_radio_button(self):
+        self.assertEqual(
+            self.m.radio("favcolor", "blue"),
+            '<input id="favcolor_blue" name="favcolor" type="radio" value="blue" />'
+        )
+        
+        self.assertEqual(
+            self.m.radio("favcolor", "red"),
+            '<input id="favcolor_red" name="favcolor" type="radio" value="red" />'
+        )
+
+
+    def test_text_area(self):
+        self.assertEqual(
+            self.m.textarea("longtext"),
+            '<textarea id="longtext" name="longtext"></textarea>'
+        )
+
+    def test_text_field(self):
+        self.assertEqual(
+            self.m.text("name"),
+            '<input id="name" name="name" type="text" value="" />'
+        )
+    def test_select(self):
+        self.assertEqual(
+            self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]),
+            '<select id="lang" name="lang">\n<option value="en">English</option>\n<option value="de">German</option>\n<option value="jp">Japanese</option>\n</select>'
         )        
 if __name__ == '__main__':
-    suite = map(unittest.makeSuite, [
+    suite = list(map(unittest.makeSuite, [
         TestModelTagsHelperWithObject,
         TestModelTagsHelperWithDict,
         TestModelTagsHelperWithIdGeneration,
         TestModelTagsHelperWithoutObject
-        ])
+        ]))
     for testsuite in suite:
         unittest.TextTestRunner(verbosity=1).run(testsuite)
--- ../python3/tests/test_html.py	(original)
+++ ../python3/tests/test_html.py	(refactored)
@@ -3,83 +3,83 @@
 from webhelpers.html import literal, lit_sub, escape, HTML
 
 def test_double_escape():
-    quoted = escape(u'This string is "quoted"')
-    eq_(quoted, u'This string is &#34;quoted&#34;')
+    quoted = escape('This string is "quoted"')
+    eq_(quoted, 'This string is &#34;quoted&#34;')
     dbl_quoted = escape(quoted)
     eq_(quoted, dbl_quoted)
 
 def test_literal():
-    lit = literal(u'This string <>')
-    other = literal(u'<other>')
-    eq_(u'This string <><other>', lit + other)
+    lit = literal('This string <>')
+    other = literal('<other>')
+    eq_('This string <><other>', lit + other)
     assert type(lit + other) is literal
     
-    eq_(u'&#34;<other>', '"' + other)
-    eq_(u'<other>&#34;', other + '"')
+    eq_('&#34;<other>', '"' + other)
+    eq_('<other>&#34;', other + '"')
     
     mod = literal('<%s>ello')
-    eq_(u'<&lt;H&gt;>ello', mod % '<H>')
+    eq_('<&lt;H&gt;>ello', mod % '<H>')
     assert type(mod % '<H>') is literal
     eq_(HTML('<a>'), '&lt;a&gt;')
     assert type(HTML('<a>')) is literal
 
 def test_literal_dict():
-    lit = literal(u'This string <>')
+    lit = literal('This string <>')
     unq = 'This has <crap>'
     sub = literal('%s and %s')
-    eq_(u'This string <> and This has &lt;crap&gt;', sub % (lit, unq))
+    eq_('This string <> and This has &lt;crap&gt;', sub % (lit, unq))
     
     sub = literal('%(lit)s and %(lit)r')
-    eq_(u"This string <> and literal(u&#39;This string &lt;&gt;&#39;)", sub % dict(lit=lit))
+    eq_("This string <> and literal(u&#39;This string &lt;&gt;&#39;)", sub % dict(lit=lit))
     sub = literal('%(unq)r and %(unq)s')
-    eq_(u"&#39;This has &lt;crap&gt;&#39; and This has &lt;crap&gt;", sub % dict(unq=unq))
+    eq_("&#39;This has &lt;crap&gt;&#39; and This has &lt;crap&gt;", sub % dict(unq=unq))
 
 def test_literal_mul():
-    lit = literal(u'<>')
-    eq_(u'<><><>', lit * 3)
+    lit = literal('<>')
+    eq_('<><><>', lit * 3)
     assert isinstance(lit*3, literal)
 
 def test_literal_join():
-    lit = literal(u'<>')
+    lit = literal('<>')
     assert isinstance(lit.join(['f', 'a']), literal)
-    eq_(u'f<>a', lit.join(('f', RefactoringTool: Refactored ../python3/tests/test_feedgenerator.py
'a')))
+    eq_('f<>a', lit.join(('f', 'a')))
 
 def test_literal_int():
-    lit = literal(u'<%i>')
-    eq_(u'<5>', lit % 5)
+    lit = literal('<%i>')
+    eq_('<5>', lit % 5)
 
 def test_html():
     a = HTML.a(href='http://mostlysafe\" <tag', c="Bad <script> tag")
-    eq_(a, u'<a href="http://mostlysafe&#34; &lt;tag">Bad &lt;script&gt; tag</a>')
+    eq_(a, '<a href="http://mostlysafe&#34; &lt;tag">Bad &lt;script&gt; tag</a>')
     
     img = HTML.img(src='http://some/image.jpg')
-    eq_(img, u'<img src="http://some/image.jpg" />')
+    eq_(img, '<img src="http://some/image.jpg" />')
     
     br = HTML.br()
-    eq_(u'<br />', br)
+    eq_('<br />', br)
 
 def test_lit_re():
     lit = literal('This is a <string>')
     unlit = 'This is also a <string>'
     
     result = lit_sub(r'<str', literal('<b'), lit)
-    eq_(u'This is a <bing>', escape(result))
+    eq_('This is a <bing>', escape(result))
     
     result = lit_sub(r'a <str', 'a <b> <b', unlit)
-    eq_(u'This is also a &lt;b&gt; &lt;bing&gt;', escape(result))
+    eq_('This is also a &lt;b&gt; &lt;bing&gt;', escape(result))
 
 def test_unclosed_tag():
     result = HTML.form(_closed=False)
-    print result
-    eq_(u'<form>', result)
+    print(result)
+    eq_('<form>', result)
     
     result = HTML.form(_closed=False, action="hello")
-    eq_(u'<form action="hello">', result)
+    eq_('<form action="hello">', result)
 
 def test_newline_arg():
-    eq_(HTML.a(),         literal(u'<a></a>'))
-    eq_(HTML.a(_nl=True), literal(u'<a>\n</a>\n'))
-    eq_(HTML.a(_closed=False),           literal(u'<a>'))
-    eq_(HTML.a(_closed=False, _nl=True), literal(u'<a>\n'))
-    eq_(HTML.a("A", "B", href="/"),      literal(u'<a href="/">AB</a>'))
-    eq_(HTML.a("A", "B", href="/", _nl=True), literal(u'<a href="/">\nA\nB\n</a>\n'))
+    eq_(HTML.a(),         literal('<a></a>'))
+    eq_(HTML.a(_nl=True), literal('<a>\n</a>\n'))
+    eq_(HTML.a(_closed=False),           literal('<a>'))
+    eq_(HTML.a(_closed=False, _nl=True), literal('<a>\n'))
+    eq_(HTML.a("A", "B", href="/"),      literal('<a href="/">AB</a>'))
+    eq_(HTML.a("A", "B", href="/", _nl=True), literal('<a href="/">\nA\nB\n</a>\n'))
--- ../python3/tests/test_feedgenerator.py	(original)
+++ ../python3/tests/test_feedgenerator.py	(refactored)
@@ -7,14 +7,14 @@
 def test_simple_feed():
     pubdate = datetime.datetime(2009, 12, 18, 23, 45, 12)
     feed = fg.Rss201rev2Feed(
-        title=u"Poynter E-Media Tidbits",
-        link=u"http://www.poynter.org/column.asp?id=31",
-        description=u"A group weblog by the sharpest minds in online media/journalism/publishing.",
-        language=u"en",
+        title="Poynter E-Media Tidbits",
+        link="http://www.poynter.org/column.asp?id=31",
+        description="A group weblog by the sharpest minds in online media/journalism/publishing.",
+        language="en",
     )
     feed.add_item(
         title="Hello", 
-        link=u"http://www.holovaty.com/test/",
+        link="http://www.holovaty.com/test/",
         description="Testing.",  
         pubdate=pubdate)
     result = feed.writeString("utf-8")
@@ -25,14 +25,14 @@
 def test_escaping():
     pubdate = datetime.datetime(2009, 12, 18, 23, 45, 12)
     feed = fg.Rss201rev2Feed(
-        title=u"Poynter E-Media Tidbits",
-        link=u"http://www.poynter.org/column.asp?id=31",
-        description=u"A group weblog by the <em>sharpest</em> minds in online media & journalism.",
-        language=u"en",
+        title="Poynter E-Media Tidbits",
+        link="http://www.poynter.org/column.asp?id=31",
+        description="A group weblog by the <em>sharpest</em> minds in online media & journalism.",
+        language="en",
     )
     feed.add_item(
         title="Hello", 
-        link=u"http://www.holovaty.com/test/",
+        link="http://www.holovaty.com/test/",
         description="Testing.",  
         pubdate=pubdate)
     result = feed.writeString("utf-8")
@@ -42,14 +42,14 @@
 def test_geo_point_feed():
     pubdate = datetime.datetime(2009, 12, 18, 23, 45, 12)
     feed = fg.GeRefactoringTool: Refactored ../python3/tests/test_escapes.py
RefactoringTool: Refactored ../python3/tests/test_date.py
RefactoringTool: Refactored ../python3/tests/test_converters.py
oAtom1Feed(
-        title=u"Poynter E-Media Tidbits",
-        link=u"http://www.poynter.org/column.asp?id=31",
-        description=u"A group weblog by the sharpest minds in online media/journalism/publishing.",
-        language=u"en",
+        title="Poynter E-Media Tidbits",
+        link="http://www.poynter.org/column.asp?id=31",
+        description="A group weblog by the sharpest minds in online media/journalism/publishing.",
+        language="en",
     )
     feed.add_item(
         title="Hello", 
-        link=u"http://www.holovaty.com/test/",
+        link="http://www.holovaty.com/test/",
         description="Testing.",  
         pubdate=pubdate,
         geometry=(-120.5, 50.5))
@@ -64,15 +64,15 @@
 def test_geo_point_feed_longitude_first():
     pubdate = datetime.datetime(2009, 12, 18, 23, 45, 12)
     feed = fg.GeoAtom1Feed(
-        title=u"Poynter E-Media Tidbits",
-        link=u"http://www.poynter.org/column.asp?id=31",
-        description=u"A group weblog by the sharpest minds in online media/journalism/publishing.",
-        language=u"en",
+        title="Poynter E-Media Tidbits",
+        link="http://www.poynter.org/column.asp?id=31",
+        description="A group weblog by the sharpest minds in online media/journalism/publishing.",
+        language="en",
     )
     feed.is_input_latitude_first = False
     feed.add_item(
         title="Hello", 
-        link=u"http://www.holovaty.com/test/",
+        link="http://www.holovaty.com/test/",
         description="Testing.",  
         pubdate=pubdate,
         geometry=(50.5, -120.5))
--- ../python3/tests/test_escapes.py	(original)
+++ ../python3/tests/test_escapes.py	(refactored)
@@ -3,10 +3,10 @@
 def test_html_escape():
     assert html_escape('foo') == 'foo'
     assert html_escape('<this"that>') == '&lt;this&quot;that&gt;'
-    assert html_escape(u'\u1000') == '&#4096;'
+    assert html_escape('\u1000') == '&#4096;'
     class X:
         def __unicode__(self):
-            return u'<\u1000>'
+            return '<\u1000>'
     assert html_escape(X()) == '&lt;&#4096;&gt;'
     assert html_escape(1) == '1'
     assert html_escape(None) == ''
--- ../python3/tests/test_date.py	(original)
+++ ../python3/tests/test_date.py	(refactored)
@@ -61,11 +61,11 @@
                          distance_of_time_in_words(to_time, from_time, granularity='second', round=True))
         
         # Pluralization
-        self.assertEquals(distance_of_time_in_words(datetime(200, 1,1), datetime(300, 1, 1)), "1 century")
-        self.assertEquals(distance_of_time_in_words(datetime(200, 1,1), datetime(500, 1, 1)), "3 centuries")
+        self.assertEqual(distance_of_time_in_words(datetime(200, 1,1), datetime(300, 1, 1)), "1 century")
+        self.assertEqual(distance_of_time_in_words(datetime(200, 1,1), datetime(500, 1, 1)), "3 centuries")
         
-        self.assertEquals(distance_of_time_in_words(datetime(2000, 1,1), datetime(2000, 2, 1)), "1 month")
-        self.assertEquals(distance_of_time_in_words(datetime(2000, 1,1), datetime(2000, 5, 1)), "4 months")
+        self.assertEqual(distance_of_time_in_words(datetime(2000, 1,1), datetime(2000, 2, 1)), "1 month")
+        self.assertEqual(distance_of_time_in_words(datetime(2000, 1,1), datetime(2000, 5, 1)), "4 months")
         
         # Spot checks
         from_time = datetime(200, 2, 2, 0, 12, 12, 0, None) # 12 minutes, 12 seconds past midnight on Feb 2 200AD
--- ../python3/tests/test_converters.py	(original)
+++ ../python3/tests/test_converters.py	(refactored)
@@ -23,47 +23,47 @@
 [Michel Fortin][] has ported to Markdown to PHP.
     """
     if _markdown.version_info >= (2, 0):
-        expected =  literal(u'<h2>Introduction</h2>\n<p>Markdown is a text-to-HTML conversion tool for web writers.</p>\n<h2>Acknowledgements <a id="acknowledgements" /></h2>\n<p>[Michel Fortin][] has ported to Markdown to PHP.</p>')
+        expected =  literal('<h2>Introduction</h2>\n<p>Markdown is a text-to-HTML conversion tool for web writers.</p>\n<h2>Acknowledgements <a id="acknowledgements" /></h2>\n<p>[Michel Fortin][]RefactoringTool: Refactored ../python3/tests/test_containers.py
 has ported to Markdown to PHP.</p>')
     else:
-        expected =  literal(u'<h2>Introduction</h2>\n<p>Markdown is a text-to-HTML conversion tool for web writers.\n</p>\n\n<h2>Acknowledgements <a id="acknowledgements" /></h2>\n<p>[Michel Fortin][] has ported to Markdown to PHP.\n</p>')
+        expected =  literal('<h2>Introduction</h2>\n<p>Markdown is a text-to-HTML conversion tool for web writers.\n</p>\n\n<h2>Acknowledgements <a id="acknowledgements" /></h2>\n<p>[Michel Fortin][] has ported to Markdown to PHP.\n</p>')
     eq_(markdown(markdown_text, markdown=_markdown), expected)
 
 def test_markdown_embedded_html():
     _markdown = _get_markdown_module()
     markdown_text = 'This text includes <script>Javascript</script> & stuff.'
     if _markdown.version_info >= (2, 0):
-        expected = literal(u'<p>This text includes &lt;script&gt;Javascript&lt;/script&gt; &amp; stuff.</p>')
+        expected = literal('<p>This text includes &lt;script&gt;Javascript&lt;/script&gt; &amp; stuff.</p>')
     else:
-        expected = literal(u'<p>This text includes &lt;script&gt;Javascript&lt;/script&gt; &amp; stuff.\n</p>')
+        expected = literal('<p>This text includes &lt;script&gt;Javascript&lt;/script&gt; &amp; stuff.\n</p>')
     eq_(markdown(markdown_text, safe_mode="escape", markdown=_markdown), expected)
 
 
 def test_nl2br():
-    eq_(u'A B<br />\nC D<br />\n<br />\nE F', nl2br("A B\nC D\r\n\r\nE F"))
+    eq_('A B<br />\nC D<br />\n<br />\nE F', nl2br("A B\nC D\r\n\r\nE F"))
 
 def test_nl2br2():
-    eq_(u'&lt;strike&gt;W&lt;/strike&gt;<br />\nThe W', nl2br("<strike>W</strike>\nThe W"))
+    eq_('&lt;strike&gt;W&lt;/strike&gt;<br />\nThe W', nl2br("<strike>W</strike>\nThe W"))
 
 def test_nl2br3():
-    eq_(u'<strike>W</strike><br />\nThe W', nl2br(literal("<strike>W</strike>\nThe W")))
+    eq_('<strike>W</strike><br />\nThe W', nl2br(literal("<strike>W</strike>\nThe W")))
 
 def test_format_paragraphs1():
-    eq_(u"<p>crazy\n cross\n platform linebreaks</p>", format_paragraphs("crazy\r\n cross\r platform linebreaks"))
+    eq_("<p>crazy\n cross\n platform linebreaks</p>", format_paragraphs("crazy\r\n cross\r platform linebreaks"))
 
 def test_format_paragraphs2():
-    eq_(u"<p>crazy<br />\n cross<br />\n platform linebreaks</p>", format_paragraphs("crazy\r\n cross\r platform linebreaks", True))
+    eq_("<p>crazy<br />\n cross<br />\n platform linebreaks</p>", format_paragraphs("crazy\r\n cross\r platform linebreaks", True))
 
 def test_format_paragraphs3():
-    eq_(u"<p>A paragraph</p>\n\n<p>and another one!</p>", format_paragraphs("A paragraph\n\nand another one!"))
+    eq_("<p>A paragraph</p>\n\n<p>and another one!</p>", format_paragraphs("A paragraph\n\nand another one!"))
 
 def test_format_paragraphs4():
-    eq_(u"<p>A paragraph<br />\n With a newline</p>", format_paragraphs("A paragraph\n With a newline", True))
+    eq_("<p>A paragraph<br />\n With a newline</p>", format_paragraphs("A paragraph\n With a newline", True))
 
 def test_format_paragraphs5():
-    eq_(u"<p>A paragraph\n With a newline</p>", format_paragraphs("A paragraph\n With a newline", False))
+    eq_("<p>A paragraph\n With a newline</p>", format_paragraphs("A paragraph\n With a newline", False))
 
 def test_format_paragraphs6():
-    eq_(u"<p>A paragraph\n With a newline</p>", format_paragraphs("A paragraph\n With a newline"))
+    eq_("<p>A paragraph\n With a newline</p>", format_paragraphs("A paragraph\n With a newline"))
 
 def test_format_paragraphs7():
-    eq_(u"", format_paragraphs(None))
+    eq_("", format_paragraphs(None))
--- ../python3/tests/test_containers.py	(original)
+++ ../python3/tests/test_containers.py	(refactored)
@@ -35,18 +35,18 @@
     eq_(d2["bar"], 2)
     eq_(d2[42], [])
     assert "foo" in d2
-    assert "foo" in d2.keys()
+    assert "foo" in list(d2.keys())
     assert "bar" in d2
-    assert "bar" in d2.keys()
+    assert "bar" in list(d2.keys())
     assert 42 in d2
-    assert 42 in d2.keys()
+    assert 42 in list(d2.keys())
     assert 12 not in d2
-    assert 12 not in d2.keys()
+    assert 1RefactoringTool: No changes to ../python3/setup.py
RefactoringTool: Refactored ../python3/docs/conf.py
RefactoringTool: Files that were modified:
RefactoringTool: ../python3/webhelpers/util.py
RefactoringTool: ../python3/webhelpers/textile.py
RefactoringTool: ../python3/webhelpers/text.py
RefactoringTool: ../python3/webhelpers/pylonslib/secure_form.py
RefactoringTool: ../python3/webhelpers/pylonslib/minify.py
RefactoringTool: ../python3/webhelpers/pylonslib/grid.py
RefactoringTool: ../python3/webhelpers/pylonslib/flash.py
RefactoringTool: ../python3/webhelpers/pylonslib/_jsmin.py
RefactoringTool: ../python3/webhelpers/pylonslib/__init__.py
RefactoringTool: ../python3/webhelpers/paginate.py
RefactoringTool: ../python3/webhelpers/number.py
RefactoringTool: ../python3/webhelpers/misc.py
RefactoringTool: ../python3/webhelpers/mimehelper.py
RefactoringTool: ../python3/webhelpers/media.py
RefactoringTool: ../python3/webhelpers/markdown.py
RefactoringTool: ../python3/webhelpers/html/tools.py
RefactoringTool: ../python3/webhelpers/html/tags.py
RefactoringTool: ../python3/webhelpers/html/render.py
RefactoringTool: ../python3/webhelpers/html/grid_demo.py
RefactoringTool: ../python3/webhelpers/html/grid.py
RefactoringTool: ../python3/webhelpers/html/converters.py
RefactoringTool: ../python3/webhelpers/html/builder.py
RefactoringTool: ../python3/webhelpers/html/__init__.py
RefactoringTool: ../python3/webhelpers/feedgenerator.py
RefactoringTool: ../python3/webhelpers/date.py
RefactoringTool: ../python3/webhelpers/containers.py
RefactoringTool: ../python3/webhelpers/constants.py
RefactoringTool: ../python3/webhelpers/__init__.py
RefactoringTool: ../python3/unfinished/sanitize_filename.py
RefactoringTool: ../python3/unfinished/opener.py
RefactoringTool: ../python3/unfinished/number_to_human_size.py
RefactoringTool: ../python3/unfinished/multimedia.py
RefactoringTool: ../python3/unfinished/logging_optparse.py
RefactoringTool: ../python3/unfinished/document.py
RefactoringTool: ../python3/unfinished/disabled_test_pylonslib_minify.py
RefactoringTool: ../python3/unfinished/containers.py
RefactoringTool: ../python3/unfinished/baseN.py
RefactoringTool: ../python3/tests/util.py
RefactoringTool: ../python3/tests/test_tools.py
RefactoringTool: ../python3/tests/test_text.py
RefactoringTool: ../python3/tests/test_tags.py
RefactoringTool: ../python3/tests/test_pylonslib_flash.py
RefactoringTool: ../python3/tests/test_paginate.py
RefactoringTool: ../python3/tests/test_number.py
RefactoringTool: ../python3/tests/test_modeltags.py
RefactoringTool: ../python3/tests/test_mimetypes.py
RefactoringTool: ../python3/tests/test_html.py
RefactoringTool: ../python3/tests/test_feedgenerator.py
RefactoringTool: ../python3/tests/test_escapes.py
RefactoringTool: ../python3/tests/test_date.py
RefactoringTool: ../python3/tests/test_converters.py
RefactoringTool: ../python3/tests/test_containers.py
RefactoringTool: ../python3/setup.py
RefactoringTool: ../python3/docs/conf.py
2 not in list(d2.keys())
     d2.default_factory = None
     eq_(d2.default_factory, None)
     try:
         d2[15]
-    except KeyError, err:
+    except KeyError as err:
         eq_(err.args, (15,))
     else:
         message = "d2[15] didn't raise KeyError"
@@ -88,8 +88,8 @@
     try:
         f = open(tfn, "w+")
         try:
-            print >>f, d1
-            print >>f, d2
+            print(d1, file=f)
+            print(d2, file=f)
             f.seek(0)
             eq_(f.readline(), repr(d1) + "\n")
             eq_(f.readline(), repr(d2) + "\n")
--- ../python3/docs/conf.py	(original)
+++ ../python3/docs/conf.py	(refactored)
@@ -189,8 +189,8 @@
 # Grouping the document tree into LaTeX files. List of tuples
 # (source start file, target name, title, author, documentclass [howto/manual]).
 latex_documents = [
-  ('contents', 'WebHelpers.tex', u'WebHelpers Documentation',
-   u'Ben Bangert', 'manual'),
+  ('contents', 'WebHelpers.tex', 'WebHelpers Documentation',
+   'Ben Bangert', 'manual'),
 ]
 
 # The name of an image file (relative to this directory) to place at the top of
+ install -pm644 /usr/share/python-sphinx/objects.inv ./
+ '[' -e ./conf.py ']'
+ cp -u /usr/lib/python2.7/site-packages/sphinx/conf.py.template ./conf.py
+ ln -s ../objects.inv docs/
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.72782
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python-module-webhelpers-1.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/webhelpers
copying webhelpers/util.py -> build/lib/webhelpers
copying webhelpers/textile.py -> build/lib/webhelpers
copying webhelpers/text.py -> build/lib/webhelpers
copying webhelpers/paginate.py -> build/lib/webhelpers
copying webhelpers/number.py -> build/lib/webhelpers
copying webhelpers/misc.py -> build/lib/webhelpers
copying webhelpers/mimehelper.py -> build/lib/webhelpers
copying webhelpers/media.py -> build/lib/webhelpers
copying webhelpers/markdown.py -> build/lib/webhelpers
copying webhelpers/feedgenerator.py -> build/lib/webhelpers
copying webhelpers/date.py -> build/lib/webhelpers
copying webhelpers/containers.py -> build/lib/webhelpers
copying webhelpers/constants.py -> build/lib/webhelpers
copying webhelpers/__init__.py -> build/lib/webhelpers
creating build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/secure_form.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/minify.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/grid.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/flash.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/_jsmin.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/__init__.py -> build/lib/webhelpers/pylonslib
creating build/lib/webhelpers/html
copying webhelpers/html/tools.py -> build/lib/webhelpers/html
copying webhelpers/html/tags.py -> build/lib/webhelpers/html
copying webhelpers/html/render.py -> build/lib/webhelpers/html
copying webhelpers/html/grid_demo.py -> build/lib/webhelpers/html
copying webhelpers/html/grid.py -> build/lib/webhelpers/html
copying webhelpers/html/converters.py -> build/lib/webhelpers/html
copying webhelpers/html/builder.py -> build/lib/webhelpers/html
copying webhelpers/html/__init__.py -> build/lib/webhelpers/html
running egg_info
writing requirements to WebHelpers.egg-info/requires.txt
writing WebHelpers.egg-info/PKG-INFO
writing top-level names to WebHelpers.egg-info/top_level.txt
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
creating build/lib/webhelpers/public
creating build/lib/webhelpers/public/stylesheets
copying webhelpers/public/stylesheets/grid.css -> build/lib/webhelpers/public/stylesheets
copying webhelpers/public/stylesheets/webhelpers.css -> build/lib/webhelpers/public/stylesheets
+ pushd ../python3
~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-webhelpers-1.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python3 setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/webhelpers
copying webhelpers/util.py -> build/lib/webhelpers
copying webhelpers/textile.py -> build/lib/webhelpers
copying webhelpers/text.py -> build/lib/webhelpers
copying webhelpers/paginate.py -> build/lib/webhelpers
copying webhelpers/number.py -> build/lib/webhelpers
copying webhelpers/misc.py -> build/lib/webhelpers
copying webhelpers/mimehelper.py -> build/lib/webhelpers
copying webhelpers/media.py -> build/lib/webhelpers
copying webhelpers/markdown.py -> build/lib/webhelpers
copying webhelpers/feedgenerator.py -> build/lib/webhelpers
copying webhelpers/date.py -> build/lib/webhelpers
copying webhelpers/containers.py -> build/lib/webhelpers
copying webhelpers/constants.py -> build/lib/webhelpers
copying webhelpers/__init__.py -> build/lib/webhelpers
creating build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/secure_form.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/minify.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/grid.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/flash.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/_jsmin.py -> build/lib/webhelpers/pylonslib
copying webhelpers/pylonslib/__init__.py -> build/lib/webhelpers/pylonslib
creating build/lib/webhelpers/html
copying webhelpers/html/tools.py -> build/lib/webhelpers/html
copying webhelpers/html/tags.py -> build/lib/webhelpers/html
copying webhelpers/html/render.py -> build/lib/webhelpers/html
copying webhelpers/html/grid_demo.py -> build/lib/webhelpers/html
copying webhelpers/html/grid.py -> build/lib/webhelpers/html
copying webhelpers/html/converters.py -> build/lib/webhelpers/html
copying webhelpers/html/builder.py -> build/lib/webhelpers/html
copying webhelpers/html/__init__.py -> build/lib/webhelpers/html
running egg_info
writing WebHelpers.egg-info/PKG-INFO
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
writing requirements to WebHelpers.egg-info/requires.txt
writing top-level names to WebHelpers.egg-info/top_level.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
creating build/lib/webhelpers/public
creating build/lib/webhelpers/public/stylesheets
copying webhelpers/public/stylesheets/grid.css -> build/lib/webhelpers/public/stylesheets
copying webhelpers/public/stylesheets/webhelpers.css -> build/lib/webhelpers/public/stylesheets
+ popd
~/RPM/BUILD/python-module-webhelpers-1.3
+ export PYTHONPATH=/usr/src/RPM/BUILD/python-module-webhelpers-1.3
+ PYTHONPATH=/usr/src/RPM/BUILD/python-module-webhelpers-1.3
+ touch tests/__init__.py
+ make -C docs html
make: Entering directory '/usr/src/RPM/BUILD/python-module-webhelpers-1.3/docs'
mkdir -p _build/pickle _build/doctrees
sphinx-build -b pickle -d _build/doctrees   . _build/pickle
Running Sphinx v1.6.5
running test
running egg_info
deleting WebHelpers.egg-info/requires.txt
writing WebHelpers.egg-info/PKG-INFO
writing top-level names to WebHelpers.egg-info/top_level.txt
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
running build_ext
/usr/lib/python2.7/site-packages/nose/config.py:263: RuntimeWarning: Option 'with-doctest' in config file 'setup.cfg' ignored: excluded by runtime environment
  warn(msg, RuntimeWarning)
.............................................EEEE.EE.............................................................SSSS............................................................
======================================================================
ERROR: tests.test_mimetypes.test_root_path
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 36, in test_root_path
    eq_(m.mimetype('text/html'), 'text/html')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_extension
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 44, in test_with_extension
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_unregistered_extention
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 53, in test_with_unregistered_extention
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_no_extention
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 62, in test_with_no_extention
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_text_star_accept
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 78, in test_with_text_star_accept
    eq_(m.mimetype('text/html'), 'text/html')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_star_star_accept
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 86, in test_with_star_star_accept
    eq_(m.mimetype('application/xml'), 'application/xml')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

----------------------------------------------------------------------
Ran 177 tests in 2.494s

FAILED (errors=6, skipped=4)
Test failed: <unittest.runner.TextTestResult run=177 errors=6 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=177 errors=6 failures=0>
Generating grammar tables from /usr/lib/python2.7/site-packages/sphinx/pycode/Grammar-py2.txt
loading pickled environment... not yet created
building [mo]: targets for 0 po files that are out of date
building [pickle]: targets for 32 source files that are out of date
updating environment: 32 added, 0 changed, 0 removed
reading sources... [  3%] changelog
reading sources... [  6%] contents
reading sources... [  9%] development
reading sources... [ 12%] history
reading sources... [ 15%] index
reading sources... [ 18%] modules/constants
reading sources... [ 21%] modules/containers
reading sources... [ 25%] modules/date
reading sources... [ 28%] modules/feedgenerator
reading sources... [ 31%] modules/html/__init__
reading sources... [ 34%] modules/html/builder
reading sources... [ 37%] modules/html/converters
reading sources... [ 40%] modules/html/grid
reading sources... [ 43%] modules/html/tags
reading sources... [ 46%] modules/html/tools
reading sources... [ 50%] modules/markdown
reading sources... [ 53%] modules/media
reading sources... [ 56%] modules/mimehelper
reading sources... [ 59%] modules/misc
reading sources... [ 62%] modules/number
reading sources... [ 65%] modules/paginate
reading sources... [ 68%] modules/pylonslib/__init__
reading sources... [ 71%] modules/pylonslib/flash
reading sources... [ 75%] modules/pylonslib/grid
reading sources... [ 78%] modules/pylonslib/minify
reading sources... [ 81%] modules/pylonslib/secure_form
reading sources... [ 84%] modules/text
reading sources... [ 87%] modules/textile
reading sources... [ 90%] modules/util
reading sources... [ 93%] third_party
reading sources... [ 96%] todo
reading sources... [100%] whats_new

looking for now-outdated files... none found
pickling environment... done
checking consistency... /usr/src/RPM/BUILD/python-module-webhelpers-1.3/docs/history.rst: WARNING: document isn't included in any toctree
done
preparing documents... done
writing output... [  3%] changelog
writing output... [  6%] contents
writing output... [  9%] development
writing output... [ 12%] history
writing output... [ 15%] index
writing output... [ 18%] modules/constants
writing output... [ 21%] modules/containers
writing output... [ 25%] modules/date
writing output... [ 28%] modules/feedgenerator
writing output... [ 31%] modules/html/__init__
writing output... [ 34%] modules/html/builder
writing output... [ 37%] modules/html/converters
writing output... [ 40%] modules/html/grid
writing output... [ 43%] modules/html/tags
writing output... [ 46%] modules/html/tools
writing output... [ 50%] modules/markdown
writing output... [ 53%] modules/media
writing output... [ 56%] modules/mimehelper
writing output... [ 59%] modules/misc
writing output... [ 62%] modules/number
writing output... [ 65%] modules/paginate
writing output... [ 68%] modules/pylonslib/__init__
writing output... [ 71%] modules/pylonslib/flash
writing output... [ 75%] modules/pylonslib/grid
writing output... [ 78%] modules/pylonslib/minify
writing output... [ 81%] modules/pylonslib/secure_form
writing output... [ 84%] modules/text
writing output... [ 87%] modules/textile
writing output... [ 90%] modules/util
writing output... [ 93%] third_party
writing output... [ 96%] todo
writing output... [100%] whats_new

generating indices... genindex py-modindex
writing additional pages... search opensearch
copying images... [100%] _static/webhelpers-logo.png

copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.

Build finished; now you can process the pickle files or run
  sphinx-web _build/pickle
to start the sphinx-web server.
mkdir -p _build/html _build/doctrees
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.6.5
running test
running egg_info
writing WebHelpers.egg-info/PKG-INFO
writing top-level names to WebHelpers.egg-info/top_level.txt
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
running build_ext
/usr/lib/python2.7/site-packages/nose/config.py:263: RuntimeWarning: Option 'with-doctest' in config file 'setup.cfg' ignored: excluded by runtime environment
  warn(msg, RuntimeWarning)
.............................................EEEE.EE.............................................................SSSS............................................................
======================================================================
ERROR: tests.test_mimetypes.test_root_path
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 36, in test_root_path
    eq_(m.mimetype('text/html'), 'text/html')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_extension
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 44, in test_with_extension
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_unregistered_extention
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 53, in test_with_unregistered_extention
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_no_extention
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 62, in test_with_no_extention
    eq_(m.mimetype('text/html'), False)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_text_star_accept
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 78, in test_with_text_star_accept
    eq_(m.mimetype('text/html'), 'text/html')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

======================================================================
ERROR: tests.test_mimetypes.test_with_star_star_accept
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/tests/test_mimetypes.py", line 86, in test_with_star_star_accept
    eq_(m.mimetype('application/xml'), 'application/xml')
  File "/usr/src/RPM/BUILD/python-module-webhelpers-1.3/webhelpers/mimehelper.py", line 114, in mimetype
    self.env['HTTP_ACCEPT'])
TypeError: __init__() takes exactly 2 arguments (3 given)

----------------------------------------------------------------------
Ran 177 tests in 1.336s

FAILED (errors=6, skipped=4)
Test failed: <unittest.runner.TextTestResult run=177 errors=6 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=177 errors=6 failures=0>
Generating grammar tables from /usr/lib/python2.7/site-packages/sphinx/pycode/Grammar-py2.txt
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 32 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
preparing documents... done
writing output... [  3%] changelog
writing output... [  6%] contents
writing output... [  9%] development
writing output... [ 12%] history
writing output... [ 15%] index
writing output... [ 18%] modules/constants
writing output... [ 21%] modules/containers
writing output... [ 25%] modules/date
writing output... [ 28%] modules/feedgenerator
writing output... [ 31%] modules/html/__init__
writing output... [ 34%] modules/html/builder
writing output... [ 37%] modules/html/converters
writing output... [ 40%] modules/html/grid
writing output... [ 43%] modules/html/tags
writing output... [ 46%] modules/html/tools
writing output... [ 50%] modules/markdown
writing output... [ 53%] modules/media
writing output... [ 56%] modules/mimehelper
writing output... [ 59%] modules/misc
writing output... [ 62%] modules/number
writing output... [ 65%] modules/paginate
writing output... [ 68%] modules/pylonslib/__init__
writing output... [ 71%] modules/pylonslib/flash
writing output... [ 75%] modules/pylonslib/grid
writing output... [ 78%] modules/pylonslib/minify
writing output... [ 81%] modules/pylonslib/secure_form
writing output... [ 84%] modules/text
writing output... [ 87%] modules/textile
writing output... [ 90%] modules/util
writing output... [ 93%] third_party
writing output... [ 96%] todo
writing output... [100%] whats_new

generating indices... genindex py-modindex
writing additional pages... search opensearch
copying images... [100%] _static/webhelpers-logo.png

copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded.

Build finished. The HTML pages are in _build/html.
make: Leaving directory '/usr/src/RPM/BUILD/python-module-webhelpers-1.3/docs'
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.1611
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-webhelpers-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/python-module-webhelpers-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd python-module-webhelpers-1.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python setup.py install --skip-build --root=/usr/src/tmp/python-module-webhelpers-buildroot --force
running install
running install_lib
creating /usr/src/tmp/python-module-webhelpers-buildroot
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/public
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/public/stylesheets
copying build/lib/webhelpers/public/stylesheets/webhelpers.css -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/public/stylesheets
copying build/lib/webhelpers/public/stylesheets/grid.css -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/public/stylesheets
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/builder.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/converters.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/grid.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/grid_demo.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/render.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/tags.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
copying build/lib/webhelpers/html/tools.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/_jsmin.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/flash.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/grid.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/minify.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/secure_form.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/constants.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/containers.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/date.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/feedgenerator.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/markdown.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/media.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/mimehelper.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/misc.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/number.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/paginate.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/text.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/textile.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
copying build/lib/webhelpers/util.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/builder.py to builder.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py to converters.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid.py to grid.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py to grid_demo.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.py to render.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py to tags.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.py to tools.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.py to _jsmin.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py to flash.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py to grid.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py to minify.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py to secure_form.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/constants.py to constants.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py to containers.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/date.py to date.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.py to feedgenerator.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.py to markdown.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.py to media.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/mimehelper.py to mimehelper.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/misc.py to misc.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/number.py to number.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py to paginate.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.py to text.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py to textile.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py to util.pyc
running install_egg_info
running egg_info
writing requirements to WebHelpers.egg-info/requires.txt
writing WebHelpers.egg-info/PKG-INFO
writing top-level names to WebHelpers.egg-info/top_level.txt
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
Copying WebHelpers.egg-info to /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/WebHelpers-1.3-py2.7.egg-info
running install_scripts
+ pushd ../python3
~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-webhelpers-1.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-webhelpers-buildroot --force
running install
running install_lib
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets
copying build/lib/webhelpers/public/stylesheets/webhelpers.css -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets
copying build/lib/webhelpers/public/stylesheets/grid.css -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/builder.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/converters.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/grid.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/grid_demo.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/render.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/tags.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
copying build/lib/webhelpers/html/tools.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html
creating /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/_jsmin.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/flash.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/grid.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/minify.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/pylonslib/secure_form.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib
copying build/lib/webhelpers/__init__.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/constants.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/containers.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/date.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/feedgenerator.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/markdown.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/media.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/mimehelper.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/misc.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/number.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/paginate.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/text.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/textile.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
copying build/lib/webhelpers/util.py -> /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py to builder.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py to converters.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py to grid.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py to grid_demo.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py to render.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py to tags.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py to tools.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py to _jsmin.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py to flash.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py to grid.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py to minify.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py to secure_form.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py to constants.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py to containers.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py to date.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py to feedgenerator.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py to markdown.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py to media.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py to mimehelper.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py to misc.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py to number.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py to paginate.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py to text.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py to textile.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py to util.cpython-37.pyc
running install_egg_info
running egg_info
writing WebHelpers.egg-info/PKG-INFO
writing dependency_links to WebHelpers.egg-info/dependency_links.txt
writing entry points to WebHelpers.egg-info/entry_points.txt
writing requirements to WebHelpers.egg-info/requires.txt
writing top-level names to WebHelpers.egg-info/top_level.txt
reading manifest file 'WebHelpers.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
writing manifest file 'WebHelpers.egg-info/SOURCES.txt'
Copying WebHelpers.egg-info to /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info
running install_scripts
+ popd
~/RPM/BUILD/python-module-webhelpers-1.3
+ cp -fR docs/_build/pickle /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/python-module-webhelpers-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/python-module-webhelpers-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/python-module-webhelpers-buildroot/ (default)
Compressing files in /usr/src/tmp/python-module-webhelpers-buildroot (auto)
Adjusting library links in /usr/src/tmp/python-module-webhelpers-buildroot
./usr/lib:
Verifying ELF objects in /usr/src/tmp/python-module-webhelpers-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Bytecompiling python modules in /usr/src/tmp/python-module-webhelpers-buildroot using /usr/bin/python
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/__init__.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/builder.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.pyc
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/builder.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.py
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.pyc
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/__init__.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/constants.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/date.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/mimehelper.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/misc.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/number.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.pyc
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/constants.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/date.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/mimehelper.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/misc.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/number.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py
Bytecompiling python modules with optimization in /usr/src/tmp/python-module-webhelpers-buildroot using /usr/bin/python -O
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/builder.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/constants.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/date.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/mimehelper.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/misc.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/number.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py
Bytecompiling python3 modules in /usr/src/tmp/python-module-webhelpers-buildroot using /usr/bin/python3
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.pyc
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.pyc
unlink /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.pyc
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py
Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-webhelpers-buildroot using /usr/bin/python3 -O
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py
Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-webhelpers-buildroot using /usr/bin/python3 -OO
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py
compile /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py
Hardlinking identical .pyc and .opt-?.pyc files
'./usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.pyc'
'./usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.pyc'
Hardlinking identical .pyc and .pyo files
'./usr/lib/python2.7/site-packages/webhelpers/util.pyo' => './usr/lib/python2.7/site-packages/webhelpers/util.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/textile.pyo' => './usr/lib/python2.7/site-packages/webhelpers/textile.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/text.pyo' => './usr/lib/python2.7/site-packages/webhelpers/text.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/paginate.pyo' => './usr/lib/python2.7/site-packages/webhelpers/paginate.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/number.pyo' => './usr/lib/python2.7/site-packages/webhelpers/number.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/misc.pyo' => './usr/lib/python2.7/site-packages/webhelpers/misc.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/mimehelper.pyo' => './usr/lib/python2.7/site-packages/webhelpers/mimehelper.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/media.pyo' => './usr/lib/python2.7/site-packages/webhelpers/media.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/markdown.pyo' => './usr/lib/python2.7/site-packages/webhelpers/markdown.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/feedgenerator.pyo' => './usr/lib/python2.7/site-packages/webhelpers/feedgenerator.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/date.pyo' => './usr/lib/python2.7/site-packages/webhelpers/date.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/containers.pyo' => './usr/lib/python2.7/site-packages/webhelpers/containers.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/constants.pyo' => './usr/lib/python2.7/site-packages/webhelpers/constants.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/__init__.pyo' => './usr/lib/python2.7/site-packages/webhelpers/__init__.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.pyo' => './usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/tools.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/tools.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/tags.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/tags.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/grid.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/grid.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/converters.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/converters.pyc'
'./usr/lib/python2.7/site-packages/webhelpers/html/__init__.pyo' => './usr/lib/python2.7/site-packages/webhelpers/html/__init__.pyc'
Processing files: python-module-webhelpers-1.3-alt2.1.1.1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.55453
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python-module-webhelpers-1.3
+ DOCDIR=/usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ /bin/mkdir -p /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ cp -prL CHANGELOG LICENSE PKG-INFO README.txt requirements.txt TODO /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ chmod -R go-w /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ chmod -R a+rX /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-1.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.kbcWwh
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.AnQ5q1
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py: skipping sys
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py: line=13 IGNORE (for REQ=slight and deep=8) module=collections
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py: line=49 IGNORE (for REQ=slight and deep=15) module=copy
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/containers.py: line=590 IGNORE (for REQ=slight and deep=8) module=doctest
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/feedgenerator.py: line=215 IGNORE (for REQ=slight and deep=11) module=StringIO
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/__init__.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/builder.py: line=164 IGNORE (for REQ=slight and deep=8) module=markupsafe
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py: line=53 IGNORE (for REQ=slight and deep=12) module=markdown
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/converters.py: line=55 IGNORE (for REQ=slight and deep=12) module=webhelpers
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/grid_demo.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.py: line=389 IGNORE (for REQ=slight and deep=8) module=os
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/render.py: line=390 IGNORE (for REQ=slight and deep=8) module=sys
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: line=854 IGNORE (for REQ=slight and deep=8) module=webhelpers
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tags.py: line=1286 IGNORE (for REQ=slight and deep=8) module=doctest
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/html/tools.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.py: skipping sys
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.py: skipping sys
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/media.py: line=33 IGNORE (for REQ=slight and deep=8) module=Image
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/mimehelper.py: line=100 IGNORE (for REQ=slight and deep=11) module=webob
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/misc.py: line=244 IGNORE (for REQ=slight and deep=8) module=doctest
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/number.py: line=443 IGNORE (for REQ=slight and deep=8) module=doctest
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py: line=188 IGNORE (for REQ=slight and deep=8) module=sqlalchemy
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py: line=189 IGNORE (for REQ=slight and deep=8) module=sqlalchemy
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py: line=822 IGNORE (for REQ=slight and deep=19) module=pylons
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/paginate.py: line=826 IGNORE (for REQ=slight and deep=23) module=routes
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/__init__.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py: line=354 IGNORE (for REQ=slight and deep=11) module=pylons
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/flash.py: line=373 IGNORE (for REQ=slight and deep=11) module=pylons
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/grid.py: line=36 IGNORE (for REQ=slight and deep=11) module=pylons
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: line=39 IGNORE (for REQ=slight and deep=8) module=jsmin
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: line=94 IGNORE (for REQ=slight and deep=8) module=cssutils
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: line=129 IGNORE (for REQ=slight and deep=8) module=pylons
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: line=130 IGNORE (for REQ=slight and deep=8) module=pylons
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py: line=167 IGNORE (for REQ=slight and deep=8) module=cssutils
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/secure_form.py: line=53 IGNORE (for REQ=slight and deep=8) module=pylons
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.py: hiding webhelpers, which SEEMS TO BE SELF-SATISFIED
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/text.py: line=14 IGNORE (for REQ=slight and deep=8) module=unidecode
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: skipping sys
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: line=165 IGNORE (for REQ=slight and deep=8) module=unicodedata
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: line=195 IGNORE (for REQ=slight and deep=8) module=htmlizer
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: line=196 IGNORE (for REQ=slight and deep=8) module=StringIO
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: line=229 IGNORE (for REQ=slight and deep=8) module=mx
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py: line=244 IGNORE (for REQ=slight and deep=12) module=tidy
python.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py: skipping sys
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py: line=13 IGNORE (for REQ=slight and deep=8) module=UserDict
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py: line=15 IGNORE (for REQ=slight and deep=8) module=collections
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py: line=19 IGNORE (for REQ=slight and deep=8) module=urlparse
/usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/util.py: line=21 IGNORE (for REQ=slight and deep=8) module=cgi
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/markdown.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/_jsmin.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/pylonslib/minify.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python2.7/site-packages/webhelpers/textile.py is not executable
Provides: python2.7(webhelpers), python2.7(webhelpers.constants), python2.7(webhelpers.containers), python2.7(webhelpers.date), python2.7(webhelpers.feedgenerator), python2.7(webhelpers.html), python2.7(webhelpers.html.builder), python2.7(webhelpers.html.converters), python2.7(webhelpers.html.grid), python2.7(webhelpers.html.grid_demo), python2.7(webhelpers.html.render), python2.7(webhelpers.html.tags), python2.7(webhelpers.html.tools), python2.7(webhelpers.markdown), python2.7(webhelpers.media), python2.7(webhelpers.mimehelper), python2.7(webhelpers.misc), python2.7(webhelpers.number), python2.7(webhelpers.paginate), python2.7(webhelpers.pylonslib), python2.7(webhelpers.pylonslib._jsmin), python2.7(webhelpers.pylonslib.flash), python2.7(webhelpers.pylonslib.grid), python2.7(webhelpers.pylonslib.minify), python2.7(webhelpers.pylonslib.secure_form), python2.7(webhelpers.text), python2.7(webhelpers.textile), python2.7(webhelpers.util)
Requires: /usr/lib/python2.7/site-packages, python-modules, python2.7(logging), python2.7(markupsafe), python2.7(mimetypes), python2.7(xml)
Processing files: python3-module-webhelpers-1.3-alt2.1.1.1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.28923
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python-module-webhelpers-1.3
+ DOCDIR=/usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ /bin/mkdir -p /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ cp -prL CHANGELOG LICENSE PKG-INFO README.txt requirements.txt TODO /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ chmod -R go-w /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ chmod -R a+rX /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.34rKiT
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.odpk9O
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py: line=13 IGNORE (for REQ=slight and deep=8) module=collections
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py: line=49 IGNORE (for REQ=slight and deep=15) module=copy
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py: line=590 IGNORE (for REQ=slight and deep=8) module=doctest
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py: skipping time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py: line=215 IGNORE (for REQ=slight and deep=11) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py: line=164 IGNORE (for REQ=slight and deep=8) module=markupsafe
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py: line=53 IGNORE (for REQ=slight and deep=12) module=markdown
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py: line=55 IGNORE (for REQ=slight and deep=12) module=webhelpers.markdown
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py: line=389 IGNORE (for REQ=slight and deep=8) module=os
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py: line=390 IGNORE (for REQ=slight and deep=8) module=sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py: line=854 IGNORE (for REQ=slight and deep=8) module=webhelpers.html
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py: line=1286 IGNORE (for REQ=slight and deep=8) module=doctest
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [274, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [317, [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [318, [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [319, [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [320, [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [321, [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [322, [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 UNABLE to determine the imported name at parse-time: extension_module_name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [323, [324, [1, '__import__', 1232]], [326, [7, '(', 1232], [334, [335, [305, [309, [310, [311, [312, [315, [316, [317, [318, [319, [320, [321, [322, [323, [324, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=13) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=14) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=15) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=16) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=17) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=18) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=19) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=20) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=21) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=22) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=23) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=24) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=25) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=26) module=optparse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1854 IGNORE (for REQ=slight and deep=27) module=optparse
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py: line=33 IGNORE (for REQ=slight and deep=8) module=Image
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py: line=100 IGNORE (for REQ=slight and deep=11) module=webob
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py: skipping itertools
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py: line=244 IGNORE (for REQ=slight and deep=8) module=doctest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py: line=443 IGNORE (for REQ=slight and deep=8) module=doctest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py: line=188 IGNORE (for REQ=slight and deep=8) module=sqlalchemy
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py: line=189 IGNORE (for REQ=slight and deep=8) module=sqlalchemy.orm
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py: line=822 IGNORE (for REQ=slight and deep=19) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py: line=826 IGNORE (for REQ=slight and deep=23) module=routes
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py: line=354 IGNORE (for REQ=slight and deep=11) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py: line=373 IGNORE (for REQ=slight and deep=11) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py: line=36 IGNORE (for REQ=slight and deep=11) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py: line=39 IGNORE (for REQ=slight and deep=8) module=jsmin
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py: line=94 IGNORE (for REQ=slight and deep=8) module=cssutils
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py: line=129 IGNORE (for REQ=slight and deep=8) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py: line=130 IGNORE (for REQ=slight and deep=8) module=pylons.decorators.cache
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py: line=167 IGNORE (for REQ=slight and deep=8) module=cssutils
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py: line=53 IGNORE (for REQ=slight and deep=8) module=pylons
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py: line=14 IGNORE (for REQ=slight and deep=8) module=unidecode
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: line=165 IGNORE (for REQ=slight and deep=8) module=unicodedata
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: line=195 IGNORE (for REQ=slight and deep=8) module=htmlizer
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: line=196 IGNORE (for REQ=slight and deep=8) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: line=229 IGNORE (for REQ=slight and deep=8) module=mx.Tidy
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: line=244 IGNORE (for REQ=slight and deep=12) module=tidy
python3.req: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: line=13 IGNORE (for REQ=slight and deep=8) module=UserDict
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: line=15 IGNORE (for REQ=slight and deep=8) module=collections
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: line=19 IGNORE (for REQ=slight and deep=8) module=urllib.parse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: line=21 IGNORE (for REQ=slight and deep=8) module=cgi
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py is not executable
shebang.req.files: executable script /usr/src/tmp/python-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py is not executable
Provides: python3(webhelpers), python3(webhelpers.constants), python3(webhelpers.containers), python3(webhelpers.date), python3(webhelpers.feedgenerator), python3(webhelpers.html), python3(webhelpers.html.builder), python3(webhelpers.html.converters), python3(webhelpers.html.grid), python3(webhelpers.html.grid_demo), python3(webhelpers.html.render), python3(webhelpers.html.tags), python3(webhelpers.html.tools), python3(webhelpers.markdown), python3(webhelpers.media), python3(webhelpers.mimehelper), python3(webhelpers.misc), python3(webhelpers.number), python3(webhelpers.paginate), python3(webhelpers.pylonslib), python3(webhelpers.pylonslib._jsmin), python3(webhelpers.pylonslib.flash), python3(webhelpers.pylonslib.grid), python3(webhelpers.pylonslib.minify), python3(webhelpers.pylonslib.secure_form), python3(webhelpers.text), python3(webhelpers.textile), python3(webhelpers.util)
Requires: /usr/lib/python3/site-packages, python3(cgi) < 0, python3(codecs) < 0, python3(copy) < 0, python3(datetime) < 0, python3(html.entities) < 0, python3(html.parser) < 0, python3(io) < 0, python3(logging) < 0, python3(markupsafe) < 0, python3(math) < 0, python3(mimetypes) < 0, python3(optparse) < 0, python3(os) < 0, python3(random) < 0, python3(re) < 0, python3(sgmllib) < 0, python3(string) < 0, python3(struct) < 0, python3(textwrap) < 0, python3(traceback) < 0, python3(types) < 0, python3(urllib.error) < 0, python3(urllib.parse) < 0, python3(urllib.request) < 0, python3(warnings) < 0, python3(xml.sax.saxutils) < 0
Processing files: python-module-webhelpers-tests-1.3-alt2.1.1.1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.96887
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python-module-webhelpers-1.3
+ DOCDIR=/usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ /bin/mkdir -p /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ cp -prL tests /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ chmod -R go-w /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ chmod -R a+rX /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-tests-1.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.P0jqEf
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.X0gldK
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Requires: python-module-webhelpers = 1.3-alt2.1.1.1
Processing files: python-module-webhelpers-docs-1.3-alt2.1.1.1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.30117
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python-module-webhelpers-1.3
+ DOCDIR=/usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ /bin/mkdir -p /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ cp -prL docs/_build/html /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ chmod -R go-w /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ chmod -R a+rX /usr/src/tmp/python-module-webhelpers-buildroot/usr/share/doc/python-module-webhelpers-docs-1.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.hnnL8j
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.aiiHYX
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Processing files: python-module-webhelpers-pickles-1.3-alt2.1.1.1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.nmLSKF
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.hduRsr
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
Requires: /usr/lib/python2.7/site-packages
Wrote: /usr/src/RPM/RPMS/noarch/python-module-webhelpers-1.3-alt2.1.1.1.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python3-module-webhelpers-1.3-alt2.1.1.1.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python-module-webhelpers-tests-1.3-alt2.1.1.1.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python-module-webhelpers-docs-1.3-alt2.1.1.1.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python-module-webhelpers-pickles-1.3-alt2.1.1.1.noarch.rpm (w2.lzdio)
73.04user 4.99system 1:36.80elapsed 80%CPU (0avgtext+0avgdata 90848maxresident)k
0inputs+0outputs (0major+675567minor)pagefaults 0swaps
90.64user 13.19system 2:09.71elapsed 80%CPU (0avgtext+0avgdata 117384maxresident)k
64inputs+0outputs (0major+1220676minor)pagefaults 0swaps
--- python3-module-webhelpers-1.3-alt2.1.1.1.noarch.rpm.repo	2018-02-06 19:15:32.000000000 +0000
+++ python3-module-webhelpers-1.3-alt2.1.1.1.noarch.rpm.hasher	2021-04-18 05:58:58.878429205 +0000
@@ -1,9 +1,9 @@
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info	40755	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/PKG-INFO	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/SOURCES.txt	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/dependency_links.txt	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/entry_points.txt	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/not-zip-safe	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/requires.txt	100644	
-/usr/lib/python3/site-packages/WebHelpers-1.3-py3.5.egg-info/top_level.txt	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info	40755	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/PKG-INFO	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/SOURCES.txt	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/dependency_links.txt	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/entry_points.txt	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/not-zip-safe	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/requires.txt	100644	
+/usr/lib/python3/site-packages/WebHelpers-1.3-py3.7.egg-info/top_level.txt	100644	
 /usr/lib/python3/site-packages/webhelpers	40755	
@@ -11,44 +11,44 @@
 /usr/lib/python3/site-packages/webhelpers/__pycache__	40755	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-35.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-37.pyc	100644	
 /usr/lib/python3/site-packages/webhelpers/constants.py	100644	
@@ -60,26 +60,26 @@
 /usr/lib/python3/site-packages/webhelpers/html/__pycache__	40755	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-35.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-37.pyc	100644	
 /usr/lib/python3/site-packages/webhelpers/html/builder.py	100644	
@@ -104,20 +104,20 @@
 /usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__	40755	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-35.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-35.opt-1.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-35.opt-2.pyc	100644	
-/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-35.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-37.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.opt-1.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.opt-2.pyc	100644	
+/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-37.pyc	100644	
 /usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py	100644	
@@ -193,30 +193,2 @@
 Provides: python3(webhelpers.util)  
-Provides: python3.3(webhelpers)  
-Provides: python3.3(webhelpers.constants)  
-Provides: python3.3(webhelpers.containers)  
-Provides: python3.3(webhelpers.date)  
-Provides: python3.3(webhelpers.feedgenerator)  
-Provides: python3.3(webhelpers.html)  
-Provides: python3.3(webhelpers.html.builder)  
-Provides: python3.3(webhelpers.html.converters)  
-Provides: python3.3(webhelpers.html.grid)  
-Provides: python3.3(webhelpers.html.grid_demo)  
-Provides: python3.3(webhelpers.html.render)  
-Provides: python3.3(webhelpers.html.tags)  
-Provides: python3.3(webhelpers.html.tools)  
-Provides: python3.3(webhelpers.markdown)  
-Provides: python3.3(webhelpers.media)  
-Provides: python3.3(webhelpers.mimehelper)  
-Provides: python3.3(webhelpers.misc)  
-Provides: python3.3(webhelpers.number)  
-Provides: python3.3(webhelpers.paginate)  
-Provides: python3.3(webhelpers.pylonslib)  
-Provides: python3.3(webhelpers.pylonslib._jsmin)  
-Provides: python3.3(webhelpers.pylonslib.flash)  
-Provides: python3.3(webhelpers.pylonslib.grid)  
-Provides: python3.3(webhelpers.pylonslib.minify)  
-Provides: python3.3(webhelpers.pylonslib.secure_form)  
-Provides: python3.3(webhelpers.text)  
-Provides: python3.3(webhelpers.textile)  
-Provides: python3.3(webhelpers.util)  
 Provides: python3-module-webhelpers = 1.3-alt2.1.1.1