<86>Nov 23 01:18:26 userdel[1788334]: delete user 'rooter' <86>Nov 23 01:18:26 userdel[1788334]: removed group 'rooter' owned by 'rooter' <86>Nov 23 01:18:26 groupadd[1788347]: group added to /etc/group: name=rooter, GID=678 <86>Nov 23 01:18:26 groupadd[1788347]: group added to /etc/gshadow: name=rooter <86>Nov 23 01:18:26 groupadd[1788347]: new group: name=rooter, GID=678 <86>Nov 23 01:18:26 useradd[1788360]: new user: name=rooter, UID=678, GID=678, home=/root, shell=/bin/bash <86>Nov 23 01:18:26 userdel[1788374]: delete user 'builder' <86>Nov 23 01:18:26 userdel[1788374]: removed group 'builder' owned by 'builder' <86>Nov 23 01:18:26 userdel[1788374]: removed shadow group 'builder' owned by 'builder' <86>Nov 23 01:18:26 groupadd[1788385]: group added to /etc/group: name=builder, GID=679 <86>Nov 23 01:18:26 groupadd[1788385]: group added to /etc/gshadow: name=builder <86>Nov 23 01:18:26 groupadd[1788385]: new group: name=builder, GID=679 <86>Nov 23 01:18:26 useradd[1788395]: new user: name=builder, UID=679, GID=679, home=/usr/src, shell=/bin/bash <13>Nov 23 01:18:32 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626058413 installed <13>Nov 23 01:18:32 rpmi: libexpat-2.2.10-alt1 sisyphus+276608.100.1.2 1625153355 installed <13>Nov 23 01:18:32 rpmi: libp11-kit-0.23.15-alt2 sisyphus+287552.300.2.1 1634541413 installed <13>Nov 23 01:18:32 rpmi: libtasn1-4.17.0-alt2 sisyphus+285706.100.1.1 1632328563 installed <13>Nov 23 01:18:32 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Nov 23 01:18:32 rpmi: alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Nov 23 01:18:33 rpmi: ca-certificates-2021.10.06-alt1 sisyphus+286526.200.1.1 1633528578 installed <13>Nov 23 01:18:33 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Nov 23 01:18:33 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+287552.300.2.1 1634541413 installed <13>Nov 23 01:18:33 rpmi: libcrypto1.1-1.1.1l-alt2 sisyphus+287339.100.1.1 1634383589 installed <13>Nov 23 01:18:33 rpmi: libssl1.1-1.1.1l-alt2 sisyphus+287339.100.1.1 1634383589 installed <13>Nov 23 01:18:33 rpmi: python3-3.9.7-alt3 sisyphus+287552.400.2.1 1634542953 installed <13>Nov 23 01:18:33 rpmi: python3-base-3.9.7-alt3 sisyphus+287552.400.2.1 1634542953 installed <13>Nov 23 01:18:33 rpmi: tests-for-installed-python3-pkgs-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Nov 23 01:18:33 rpmi: rpm-build-python3-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Nov 23 01:18:33 rpmi: rpm-macros-sphinx3-1:4.0.2-alt2 sisyphus+284851.300.2.1 1631173767 installed <13>Nov 23 01:18:44 rpmi: python3-module-six-1.16.0-alt1 sisyphus+283489.100.2.1 1629527308 installed <13>Nov 23 01:18:44 rpmi: python3-module-Pygments-2.10.0-alt1 sisyphus+284851.100.1.1 1631107059 installed <13>Nov 23 01:18:44 rpmi: python3-module-alabaster-0.7.6-alt4 sisyphus+281697.200.1.1 1627919931 installed <13>Nov 23 01:18:44 rpmi: python3-module-genshi-0.7.5-alt1 sisyphus+287179.100.1.1 1634361380 installed <13>Nov 23 01:18:44 rpmi: python3-module-snowballstemmer-1.2.0-alt3 sisyphus+284856.100.1.1 1631108763 installed <13>Nov 23 01:18:44 rpmi: python3-module-pkg_resources-1:58.4.0-alt1 sisyphus+288641.100.2.1 1635771377 installed <13>Nov 23 01:18:44 rpmi: python3-module-pyparsing-2.4.7-alt1 sisyphus+277413.100.1.1 1625536142 installed <13>Nov 23 01:18:44 rpmi: python3-module-packaging-21.2-alt1 sisyphus+288730.300.1.1 1635854128 installed <13>Nov 23 01:18:44 rpmi: python3-module-markupsafe-1:2.0.1-alt2 sisyphus+279531.100.1.1 1626556142 installed <13>Nov 23 01:18:44 rpmi: python3-module-jinja2-3.0.1-alt1 sisyphus+274841.1100.1.1 1624295237 installed <13>Nov 23 01:18:44 rpmi: python3-module-imagesize-1.2.0-alt1 sisyphus+282837.100.1.1 1629041158 installed <13>Nov 23 01:18:44 rpmi: python3-module-idna-3.3-alt1 sisyphus+288800.100.1.1 1635936399 installed <13>Nov 23 01:18:44 rpmi: python3-module-webencodings-0.5.1-alt2 sisyphus+276020.100.1.1 1624812421 installed <13>Nov 23 01:18:44 rpmi: python3-module-charset-normalizer-2.0.6-alt1 sisyphus+286375.600.1.1 1633362792 installed <13>Nov 23 01:18:44 rpmi: python3-module-pycparser-2.20-alt2 sisyphus+278697.200.1.1 1626167452 installed <13>Nov 23 01:18:44 rpmi: python3-module-cffi-1.14.5-alt2 sisyphus+287552.200.2.1 1634541112 installed <13>Nov 23 01:18:45 rpmi: python3-module-cryptography-35.0.0-alt2 sisyphus+287689.100.1.1 1634739079 installed <13>Nov 23 01:18:45 rpmi: python3-module-openssl-20.0.1-alt1 sisyphus+267607.100.2.1 1615475362 installed <13>Nov 23 01:18:45 rpmi: python3-module-urllib3-2:1.26.6-alt3 sisyphus+283224.100.2.2 1629257365 installed <13>Nov 23 01:18:45 rpmi: python3-module-requests-2.26.0-alt2 sisyphus+286450.100.1.1 1633447383 installed <13>Nov 23 01:18:45 rpmi: python3-module-pytz-1:2021.1-alt1 sisyphus+267903.400.1.1 1615896636 installed <13>Nov 23 01:18:45 rpmi: python3-module-babel-1:2.9.1-alt1 sisyphus+282703.100.1.1 1628975529 installed <13>Nov 23 01:18:45 rpmi: python-sphinx-objects.inv-1:2.3.11.20211118-alt1 sisyphus+290350.100.1.1 1637547050 installed <13>Nov 23 01:18:45 rpmi: libxslt-1.1.34-alt3 sisyphus+275636.100.1.1 1624616833 installed <13>Nov 23 01:18:45 rpmi: python3-module-html5lib-1:1.1-alt1 sisyphus+278096.120.5.1 1626086978 installed <13>Nov 23 01:18:45 rpmi: python3-module-cssselect-0.9.1-alt3 sisyphus+270533.2600.6.1 1619684675 installed <13>Nov 23 01:18:45 rpmi: python3-module-lxml-4.6.3.0.16.git5ecb40bc-alt1 sisyphus+279721.1500.1.1 1626648574 installed <13>Nov 23 01:18:45 rpmi: python3-module-docutils-0.17.1-alt1 sisyphus+271898.100.1.1 1621041818 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-applehelp-1.0.2-alt1 sisyphus+276002.100.2.2 1624878023 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-devhelp-1.0.2-alt1 sisyphus+276003.100.2.2 1624879024 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-htmlhelp-2.0.0-alt1 sisyphus+272876.100.1.1 1622446944 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-jsmath-1.0.1-alt1 sisyphus+276004.100.1.1 1624811634 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-qthelp-1.0.3-alt1 sisyphus+276005.100.2.2 1624879764 installed <13>Nov 23 01:18:45 rpmi: python3-module-sphinxcontrib-serializinghtml-1.1.5-alt1 sisyphus+272874.100.1.1 1622445988 installed <13>Nov 23 01:18:46 rpmi: python3-module-sphinx-1:4.0.2-alt2 sisyphus+284851.300.2.1 1631173767 installed <13>Nov 23 01:18:46 rpmi: libpython-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python2-base-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-encodings-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-compiler-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-email-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-unittest-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: libffi7-1:3.3-alt2 sisyphus+287337.160.5.1 1634396592 installed <13>Nov 23 01:18:46 rpmi: python-modules-ctypes-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-multiprocessing-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-modules-logging-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Nov 23 01:18:46 rpmi: python-tools-2to3-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-webhelpers-1.3-alt3.nosrc.rpm (w1.gzdio) <13>Nov 23 01:18:49 rpmi: libpython3-3.9.7-alt3 sisyphus+287552.400.2.1 1634542953 installed <13>Nov 23 01:18:49 rpmi: libncurses-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Nov 23 01:18:49 rpmi: libtinfo-devel-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Nov 23 01:18:50 rpmi: libncurses-devel-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Nov 23 01:18:53 rpmi: python3-dev-3.9.7-alt3 sisyphus+287552.400.2.1 1634542953 installed <13>Nov 23 01:18:53 rpmi: python3-module-setuptools-1:58.4.0-alt1 sisyphus+288641.100.2.1 1635771377 installed Installing python3-module-webhelpers-1.3-alt3.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.64467 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-webhelpers-1.3 + echo 'Source #0 (WebHelpers-1.3.tar.gz):' Source #0 (WebHelpers-1.3.tar.gz): + /bin/gzip -dc /usr/src/RPM/SOURCES/WebHelpers-1.3.tar.gz + /bin/tar -xf - + cd python3-module-webhelpers-1.3 + /bin/chmod -c -Rf u+rwX,go-w . + find . -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 ./webhelpers/util.py RefactoringTool: Refactored ./webhelpers/textile.py --- ./webhelpers/util.py (original) +++ ./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) --- ./webhelpers/textile.py (original) +++ ./webhelpers/textile.py (refactored) @@ -193,7 +193,7 @@ try: RefactoringTool: Refactored ./webhelpers/text.py #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 = '

' # 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'(
|\n)+', '
\n', line) @@ -1341,7 +1341,7 @@ attributes = self.parse_params(parameters, clear) # XHTML 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)) --- ./webhelpers/text.py (original) +++ ./webhelpers/text.py (refactored) @@ -6,7 +6,7 @@ import re import textRefactoringTool: No changes to ./webhelpers/pylonslib/secure_form.py RefactoringTool: Refactored ./webhelpers/pylonslib/minify.py RefactoringTool: No changes to ./webhelpers/pylonslib/grid.py RefactoringTool: No changes to ./webhelpers/pylonslib/flash.py RefactoringTool: No changes to ./webhelpers/pylonslib/_jsmin.py RefactoringTool: No changes to ./webhelpers/pylonslib/__init__.py RefactoringTool: Refactored ./webhelpers/paginate.py wrap -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) --- ./webhelpers/pylonslib/minify.py (original) +++ ./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: --- ./webhelpers/paginate.py (original) +++ ./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()) params.sort() - qs = urllib.urlencode(params, True) + qs = urllib.parse.urlencoRefactoringTool: Refactored ./webhelpers/number.py RefactoringTool: Refactored ./webhelpers/misc.py RefactoringTool: No changes to ./webhelpers/mimehelper.py RefactoringTool: Refactored ./webhelpers/media.py RefactoringTool: Refactored ./webhelpers/markdown.py de(params, True) return "%s?%s" % (path, qs) class PageURL(object): --- ./webhelpers/number.py (original) +++ ./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) --- ./webhelpers/misc.py (original) +++ ./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) --- ./webhelpers/media.py (original) +++ ./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() --- ./webhelpers/markdown.py (original) +++ ./webhelpers/markdown.py (refactored) @@ -62,9 +62,9 @@ SMART_EMPHASIS = 1 # this_or_that does not become thisorthat 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: # ignore undefined refs return None href, title = self.references[id] text = m.group(2) @@ -1136,7 +1136,7 @@ def __init__ (self):RefactoringTool: Refactored ./webhelpers/html/tools.py RefactoringTool: Refactored ./webhelpers/html/tags.py 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]") --- ./webhelpers/html/tools.py (original) +++ ./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 == "all": return _auto_link_urls(_auto_link_email_addresses(text), **href_attrs) --- ./webhelpers/html/tags.py (original) +++ ./webhelpers/html/tags.py (refactored) @@ -16,8 +16RefactoringTool: Refactored ./webhelpers/html/render.py RefactoringTool: Refactored ./webhelpers/html/grid_demo.py ,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): --- ./webhelpers/html/render.py (original) +++ ./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 >> 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_START = literal("") --- ./webhelpers/feedgenerator.py (original) +++ ./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.addQuickElemenRefactoringTool: No changes to ./webhelpers/date.py RefactoringTool: Refactored ./webhelpers/containers.py t(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 def add_item_elements(self, handler, item): --- ./webhelpers/containers.py (original) +++ ./webhelpers/containers.py (refactored) @@ -40,7 +40,7 @@ args = tuple() else: args = self.default_factory, - return type(self), args,RefactoringTool: Refactored ./webhelpers/constants.py WARNING: couldn't encode ./webhelpers/constants.py's diff for your terminal RefactoringTool: No changes to ./webhelpers/__init__.py RefactoringTool: No changes to ./unfinished/sanitize_filename.py RefactoringTool: No changes to ./unfinished/opener.py RefactoringTool: No changes to ./unfinished/number_to_human_size.py RefactoringTool: Refactored ./unfinished/multimedia.py RefactoringTool: Refactored ./unfinished/logging_optparse.py 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): --- ./webhelpers/constants.py (original) +++ ./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 --- ./unfinished/multimedia.py (original) +++ ./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/OutputFile 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" --- ./unfinished/logging_optparse.py (original) +++ ./unfinished/logging_optparse.py (refactored) @@ -215,5 +215,5 @@ if lRefactoringTool: No changes to ./unfinished/document.py RefactoringTool: Refactored ./unfinished/disabled_test_pylonslib_minify.py RefactoringTool: Refactored ./unfinished/containers.py ogger == "__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) --- ./unfinished/disabled_test_pylonslib_minify.py (original) +++ ./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.COMBINED.min.css') --- ./unfinished/containers.py (original) +++ ./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 @@RefactoringTool: Refactored ./unfinished/baseN.py RefactoringTool: No changes to ./tests/util.py RefactoringTool: Refactored ./tests/test_tools.py -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 --- ./unfinished/baseN.py (original) +++ ./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): --- ./tests/test_tools.py (original) +++ ./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"

Link %(link_result)s

" % result_values, auto_link(literal("

Link %(link_raw)s

") % raw_values)) - self.assertEqual(u"

%(link_result)s Link

" % result_values, auto_link(literal("

%(link_raw)s Link

") % raw_values)) - self.assertEqual(u"

Link %(link_result_with_options)s

" % result_values, auto_link(literal("

Link %(link_raw)s

") % 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"

Go to %(link_result)s, then say hello to %(email_result)s.

" % result_values, auto_link(literal("

Go to %(link_raw)s, then say hello to %(email_raw)s.

") % 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"

Link %(link2_result)s

" % result_values, auto_link(literal("

Link %(link2_raw)s

") % raw_values)) - self.assertEqual(u"

%(link2_result)s Link

" % result_values, auto_link(literal("

%(link2_raw)s Link

") % 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"

Say hello to %(email_result)s, then go to %(link2_result)s.

" % result_values, auto_link(literal("

Say hello to %(email_raw)s, then go to %(link2_raw)s.

") % 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"

Link %(link3_result)s

" % result_values, auto_link(literal("

Link %(link3_raw)s

") % raw_values)) - self.assertEqual(u"

%(link3_result)s Link

" % result_values, auto_link(literal("

%(link3_raw)s Link

") % raw_values)) - self.assertEqual(u"Go to %(link3_result)s." % result_values, auto_link("Go to %(link3_raw)s." % raw_values)) - self.assertEqual(u"

Go to %(link3_result)s. seriously, %(link3_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link3_raw)s. seriously, %(link3_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % raw_values)) - self.assertEqual(u"

Link %(link4_result)s

" % result_values, auto_link(literal("

Link %(link4_raw)s

") % raw_values)) - self.assertEqual(u"

%(link4_result)s Link

" % result_values, auto_link(literal("

%(link4_raw)s Link

") % raw_values)) - self.assertEqual(u"

%(link5_result)s Link

" % result_values, auto_link(literal("

%(link5_raw)s Link

") % raw_values)) - self.assertEqual(u"

%(link6_result)s Link

" % result_values, auto_link(literal("

%(link6_raw)s Link

") % raw_values)) - self.assertEqual(u"

%(link7_result)s Link

" % result_values, auto_link(literal("

%(link7_raw)s Link

") % 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"

Link %(link8_result)s

" % result_values, auto_link(literal("

Link %(link8_raw)s

") % raw_values)) - self.assertEqual(u"

%(link8_result)s Link

" % result_values, auto_link(literal("

%(link8_raw)s Link

") % raw_values)) - self.assertEqual(u"Go to %(link8_result)s." % result_values, auto_link("Go to %(link8_raw)s." % raw_values)) - self.assertEqual(u"

Go to %(link8_result)s. seriously, %(link8_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link8_raw)s. seriously, %(link8_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % 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"

Link %(link9_result)s

" % result_values, auto_link(literal("

Link %(link9_raw)s

") % raw_values)) - self.assertEqual(u"

%(link9_result)s Link

" % result_values, auto_link(literal("

%(link9_raw)s Link

") % raw_values)) - self.assertEqual(u"Go to %(link9_result)s." % result_values, auto_link("Go to %(link9_raw)s." % raw_values)) - self.assertEqual(u"

Go to %(link9_result)s. seriously, %(link9_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link9_raw)s. seriously, %(link9_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % 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("

Link %(link_result)s

" % result_values, auto_link(literal("

Link %(link_raw)s

") % raw_values)) + self.assertEqual("

%(link_result)s Link

" % result_values, auto_link(literal("

%(link_raw)s Link

") % raw_values)) + self.assertEqual("

Link %(link_result_with_options)s

" % result_values, auto_link(literal("

Link %(link_raw)s

") % 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("

Go to %(link_result)s, then say hello to %(email_result)s.

" % result_values, auto_link(literal("

Go to %(link_raw)s, then say hello to %(email_raw)s.

") % 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("

Link %(link2_result)s

" % result_values, auto_link(literal("

Link %(link2_raw)s

") % raw_values)) + self.assertEqual("

%(link2_result)s Link

" % result_values, auto_link(literal("

%(link2_raw)s Link

") % raw_values)) + self.assertEqual("Go to %(link2_result)s." % result_values, auto_link(literal("Go to %(link2_raw)s.") % raw_values)) + self.assertEqual("

Say hello to %(email_result)s, then go to %(link2_result)s.

" % result_values, auto_link(literal("

Say hello to %(email_raw)s, then go to %(link2_raw)s.

") % 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("

Link %(link3_result)s

" % result_values, auto_link(literal("

Link %(link3_raw)s

") % raw_values)) + self.assertEqual("

%(link3_result)s Link

" % result_values, auto_link(literal("

%(link3_raw)s Link

") % raw_values)) + self.assertEqual("Go to %(link3_result)s." % result_values, auto_link("Go to %(link3_raw)s." % raw_values)) + self.assertEqual("

Go to %(link3_result)s. seriously, %(link3_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link3_raw)s. seriously, %(link3_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % raw_values)) + self.assertEqual("

Link %(link4_result)s

" % result_values, auto_link(literal("

Link %(link4_raw)s

") % raw_values)) + self.assertEqual("

%(link4_result)s Link

" % result_values, auto_link(literal("

%(link4_raw)s Link

") % raw_values)) + self.assertEqual("

%(link5_result)s Link

" % result_values, auto_link(literal("

%(link5_raw)s Link

") % raw_values)) + self.assertEqual("

%(link6_result)s Link

" % result_values, auto_link(literal("

%(link6_raw)s Link

") % raw_values)) + self.assertEqual("

%(link7_result)s Link

" % result_values, auto_link(literal("

%(link7_raw)s Link

") % 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("

Link %(link8_result)s

" % result_values, auto_link(literal("

Link %(link8_raw)s

") % raw_values)) + self.assertEqual("

%(link8_result)s Link

" % result_values, auto_link(literal("

%(link8_raw)s Link

") % raw_values)) + self.assertEqual("Go to %(link8_result)s." % result_values, auto_link("Go to %(link8_raw)s." % raw_values)) + self.assertEqual("

Go to %(link8_result)s. seriously, %(link8_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link8_raw)s. seriously, %(link8_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % 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("

Link %(link9_result)s

" % result_values, auto_link(literal("

Link %(link9_raw)s

") % raw_values)) + self.assertEqual("

%(link9_result)s Link

" % result_values, auto_link(literal("

%(link9_raw)s Link

") % raw_values)) + self.assertEqual("Go to %(link9_result)s." % result_values, auto_link("Go to %(link9_raw)s." % raw_values)) + self.assertEqual("

Go to %(link9_result)s. seriously, %(link9_result)s? i think I'll say hello to %(email_result)s. instead.

" % result_values, auto_link(literal("

Go to %(link9_raw)s. seriously, %(link9_raw)s? i think I'll say hello to %(email_raw)s. instead.

") % raw_values)) + self.assertEqual("", auto_link(None)) + self.assertEqual("", auto_link("")) # Failing test: PylonsHQ bug #657 #self.assertEqual(u'<www.google.com>', auto_link("")) @@ -131,80 +131,80 @@ class TestURLHelper(WebHelpersTestCase): def test_button_to_with_straight_url(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com")) def test_button_to_with_query(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com/q1=v1&q2=v2")) def test_button_to_with_escaped_query(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com/q1=v1&q2=v2")) def test_button_to_with_query_and_no_name(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to(None, "http://www.example.com?q1=v1&q2=v2")) def test_button_to_enabled_disabled(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", disabled=False)) - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", disabled=True)) def test_button_to_with_method_delete(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", method='DELETE')) - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", method='delete')) def test_button_to_with_method_get(self): - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", method='get')) - self.assertEqual(u"
", + self.assertEqual("
", button_to("Hello", "http://www.example.com", method='GET')) def test_button_to_with_img(self): - self.assertEqual(u'
', + self.assertEqual('
', button_to("Edit", '/content/edit/3', type='image', src='/images/icon_delete.gif')) - self.assertEqual(u'
', + self.assertEqual('
', button_to("Submit", '/content/submit/3', type='image', src='submit.png', alt='Complete the form')) def test_mail_to(self): - self.assertEqual(u'justin@example.com', mail_to("justin@example.com")) - self.assertEqual(u'Justin Example', mail_to("justin@example.com", "Justin Example")) - self.assertEqual(u'Justin Example', + self.assertEqual('justin@example.com', mail_to("justin@example.com")) + self.assertEqual('Justin Example', mail_to("justin@example.com", "Justin Example")) + self.assertEqual('Justin Example', mail_to("justin@example.com", "Justin Example", class_="admin")) def test_mail_to_with_javascript(self): - self.assertEqual(u"", mail_to("me@domain.com", "My email", encode = "javascript")) + self.assertEqual("", mail_to("me@domain.com", "My email", encode = "javascript")) def test_mail_to_with_options(self): - self.assertEqual(u'My email', + self.assertEqual('My email', 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'', + self.assertEqual('', mail_to('feedback@example.com', HTML.literal(''))) def test_mail_to_with_hex(self): - self.assertEqual(u"My email", + self.assertEqual("My email", mail_to("me@domain.com", "My email", encode = "hex")) - self.assertEqual(u"me@domain.com", + self.assertEqual("me@domain.com", mail_to("me@domain.com", None, encode = "hex")) def test_mail_to_with_replace_options(self): - self.assertEqual(u'wolfgang(at)stufenlos(dot)net', + self.assertEqual('wolfgang(at)stufenlos(dot)net', mail_to("wolfgang@stufenlos.net", None, replace_at="(at)", replace_dot="(dot)")) - self.assertEqual(u"me(at)domain.com", + self.assertEqual("me(at)domain.com", mail_to("me@domain.com", None, encode = "hex", replace_at = "(at)")) - self.assertEqual(u"My email", + self.assertEqual("My email", mail_to("me@domain.com", "My email", encode = "hex", replace_at = "(at)")) - self.assertEqual(u"me(at)domain(dot)com", + self.assertEqual("me(at)domain(dot)com", mail_to("me@domain.cRefactoringTool: Refactored ./tests/test_text.py WARNING: couldn't encode ./tests/test_text.py's diff for your terminal RefactoringTool: Refactored ./tests/test_tags.py om", None, encode = "hex", replace_at = "(at)", replace_dot = "(dot)")) - self.assertEqual(u"", + self.assertEqual("", 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 <red> cat.'), + eq_(literal('The <red> cat.'), highlight("The cat.", "at")) - eq_(literal(u'The cat.'), + eq_(literal('The cat.'), highlight(literal("The 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 really like steak!' + text = 'I really like 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) --- ./tests/test_text.py (original) +++ ./tests/test_text.py (refactored) @@ -27,8 +27,8 @@ excerpt('This is a beautiful? morning', 'beautiful', 5)) def test_excerpt_with_utf8(self): --- ./tests/test_tags.py (original) +++ ./tests/test_tags.py (refactored) @@ -11,148 +11,148 @@ def test_check_box(self): eq_( checkbox("admin"), - u'', + '', ) def test_form(self): eq_( form(url="http://www.example.com"), - u'
' + '' ) eq_( form(url="http://www.example.com", method='GET'), - u'' + '' ) eq_( form('/test/edit/1'), - u'' + '' ) def test_form_multipart(self): eq_( form(url='http://www.example.com', multipart=True), - u'' + '' ) def test_hidden_field(self): eq_( hidden("id", 3), - u'' + '' ) def test_hidden_field_alt(self): eq_( hidden("id", '3'), - u'' + '' ) def test_password_field(self): eq_( password("password"), - u'' + '' ) def test_radio_button(self): eq_( radio("people", "justin"), - u'' + '' ) eq_( radio("num_people", 5), - u'' + '' ) eq_( radio("num_people", 5), - u'' + '' ) eq_( radio("gender", "m") + radio("gender", "f"), - u'' + '' ) eq_( radio("opinion", "-1") + radio("opinion", "1"), - u'' + '' ) eq_( radio("num_people", 5, checked=True), - u'' + '' ) def test_submit(self): eq_( - u'', + '', submit("commit", "Save changes") ) def test_text_area(self): eq_( textarea("aa", ""), - u'' + '' ) eq_( textarea("aa", None), - u'' + '' ) eq_( textarea("aa", "Hello!"), - u'' + '' ) def test_text_area_size_string(self): eq_( textarea("body", "hello world", cols=20, rows=40), - u'' + '' ) def test_text_field(self): eq_( text("title", ""), - u'' + '' ) eq_( text("title", None), - u'' + '' ) eq_( text("title", "Hello!"), - u'' + '' ) def test_text_field_class_string(self): eq_( text( "title", "Hello!", class_= "admin"), - u'' + '' ) def test_boolean_options(self): eq_( checkbox("admin", 1, True, disabled = True, readonly="yes"), - u'' + '' ) eq_( checkbox("admin", 1, True, disabled = False, readonly = None), - u'' + '' ) def test_multiple_id_bug(self): # Don't set multiple id attributes for 'id_' argument. eq_( text("spam", "pizza", id="eggs"), - u'') + '') eq_( text("spam", "pizza", id_="eggs"), - u'') + '') eq_( select("spam", [1,2], [2], id="eggs"), - u'') + '') eq_( select("spam", [1,2], [2], id_="eggs"), - u'') + '') 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"Hello", + eq_("Hello", link_to("Hello", "http://www.example.com?q1=v1&q2=v2")) def test_link_tag_with_query_and_no_name(self): - eq_(u"http://www.example.com?q1=v1&q2=v2", + eq_("http://www.example.com?q1=v1&q2=v2", link_to(None, HTML.literal("http://www.example.com?q1=v1&q2=v2"))) def test_link_tag_with_custom_onclick(self): - eq_(u"Hello", + eq_("Hello", link_to("Hello", "http://www.example.com", onclick="alert('yay!')")) class TestAssetTagHelper(object): def test_auto_discovery_link_tag(self): - eq_(literal(u''), + eq_(literal(''), auto_discovery_link('http://feed.com/feed.xml')) eq_('', auto_discovery_link('http://feed.com/feed.xml', feed_type='atom')) @@ -215,7 +215,7 @@ javascript_link('/js/pngfix.js', defer=True)) def test_stylesheet_link_tag(self): - eq_(literal(u''), + eq_(literal(''), stylesheet_link('/dir/file.css', media='all')) eq_('', stylesheet_link('style.css', media='RefactoringTool: No changes to ./tests/test_pylonslib_flash.py RefactoringTool: Refactored ./tests/test_paginate.py RefactoringTool: No changes to ./tests/test_number.py RefactoringTool: Refactored ./tests/test_modeltags.py all')) --- ./tests/test_paginate.py (original) +++ ./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) --- ./tests/test_modeltags.py (original) +++ ./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'', - ) - - def test_hidden_field(self): - self.assertEqual( - self.m.hidden("name"), - u'' - ) - - def test_password_field(self): - self.assertEqual( - self.m.password('name'), - u'' - ) - def test_file_field(self): - self.assertEqual( - self.m.file('name'), - u'' - ) - - def test_radio_button(self): - self.assertEqual( - self.m.radio("favcolor", "blue"), - u'' - ) - - self.assertEqual( - self.m.radio("favcolor", "red"), - u'' - ) - - - def test_text_area(self): - self.assertEqual( - self.m.textarea("longtext"), - u'' - ) - - def test_text_field(self): - self.assertEqual( - self.m.text("name"), - u'' - ) - def test_select(self): - self.assertEqual( - self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), - u'' + '', + ) + + def test_hidden_field(self): + self.assertEqual( + self.m.hidden("name"), + '' + ) + + def test_password_field(self): + self.assertEqual( + self.m.password('name'), + '' + ) + def test_file_field(self): + self.assertEqual( + self.m.file('name'), + '' + ) + + def test_radio_button(self): + self.assertEqual( + self.m.radio("favcolor", "blue"), + '' + ) + + self.assertEqual( + self.m.radio("favcolor", "red"), + '' + ) + + + def test_text_area(self): + self.assertEqual( + self.m.textarea("longtext"), + '' + ) + + def test_text_field(self): + self.assertEqual( + self.m.text("name"), + '' + ) + def test_select(self): + self.assertEqual( + self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), + '' ) class TestModelTagsHelperWithDict(TestModelTagsHelperWithObject): @@ -77,53 +77,53 @@ def test_check_box(self): self.assertEqual( self.m.checkbox("fulltime"), - u'', - ) - - def test_hidden_field(self): - self.assertEqual( - self.m.hidden("name"), - u'' - ) - - def test_password_field(self): - self.assertEqual( - self.m.password('name'), - u'' - ) - def test_file_field(self): - self.assertEqual( - self.m.file('name'), - u'' - ) - - def test_radio_button(self): - self.assertEqual( - self.m.radio("favcolor", "blue"), - u'' - ) - - self.assertEqual( - self.m.radio("favcolor", "red"), - u'' - ) - - - def test_text_area(self): - self.assertEqual( - self.m.textarea("longtext"), - u'' - ) - - def test_text_field(self): - self.assertEqual( - self.m.text("name"), - u'' - ) - def test_select(self): - self.assertEqual( - self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), - u'' + '', + ) + + def test_hidden_field(self): + self.assertEqual( + self.m.hidden("name"), + '' + ) + + def test_password_field(self): + self.assertEqual( + self.m.password('name'), + '' + ) + def test_file_field(self): + self.assertEqual( + self.m.file('name'), + '' + ) + + def test_radio_button(self): + self.assertEqual( + self.m.radio("favcolor", "blue"), + '' + ) + + self.assertEqual( + self.m.radio("favcolor", "red"), + '' + ) + + + def test_text_area(self): + self.assertEqual( + self.m.textarea("longtext"), + '' + ) + + def test_text_field(self): + self.assertEqual( + self.m.text("name"), + '' + ) + def test_select(self): + self.assertEqual( + self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), + '' ) class TestModelTagsHelperWithIdGeneration(TestModelTagsHelperWithObject): @@ -135,53 +135,53 @@ def test_check_box(self): self.assertEqual( self.m.checkbox("fulltime"), - u'', - ) - - def test_hidden_field(self): - self.assertEqual( - self.m.hidden("name"), - u'' - ) - - def test_password_field(self): - self.assertEqual( - self.m.password('name'), - u'' - ) - def test_file_field(self): - self.assertEqual( - self.m.file('name'), - u'' - ) - - def test_radio_button(self): - self.assertEqual( - self.m.radio("favcolor", "blue"), - u'' - ) - - self.assertEqual( - self.m.radio("favcolor", "red"), - u'' - ) - - - def test_text_area(self): - self.assertEqual( - self.m.textarea("longtext"), - u'' - ) - - def test_text_field(self): - self.assertEqual( - self.m.text("name"), - u'' - ) - def test_select(self): - self.assertEqual( - self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), - u'' + '', + ) + + def test_hidden_field(self): + self.assertEqual( + self.m.hidden("name"), + '' + ) + + def test_password_field(self): + self.assertEqual( + self.m.password('name'), + '' + ) + def test_file_field(self): + self.assertEqual( + self.m.file('name'), + '' + ) + + def test_radio_button(self): + self.assertEqual( + self.m.radio("favcolor", "blue"), + '' + ) + + self.assertEqual( + self.m.radio("favcolor", "red"), + '' + ) + + + def test_text_area(self): + self.assertEqual( + self.m.textarea("longtext"), + '' + ) + + def test_text_field(self): + self.assertEqual( + self.m.text("name"), + '' + ) + def test_select(self): + self.assertEqual( + self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), + '' ) class TestModelTagsHelperWithoutObject(WebHelpersTestCase): @@ -193,60 +193,60 @@ def test_check_box(self): self.assertEqual( self.m.checkbox("fulltime"), - u'', - ) - - def test_hidden_field(self): - self.assertEqual( - self.m.hidden("name"), - u'' - ) - - def test_password_field(self): - self.assertEqual( - self.m.password('name'), - u'' - ) - def test_file_field(self): - self.assertEqual( - self.m.file('name'), - u'' - ) - - def test_radio_button(self): - self.assertEqual( - self.m.radio("favcolor", "blue"), - u'' - ) - - self.assertEqual( - self.m.radio("favcolor", "red"), - u'' - ) - - - def test_text_area(self): - self.assertEqual( - self.m.textarea("longtext"), - u'' - ) - - def test_text_field(self): - self.assertEqual( - self.m.text("name"), - u'' - ) - def test_select(self): - self.assertEqual( - self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), - u'' + '', + ) + + def test_hidden_field(self): + self.assertEqual( + self.m.hidden("name"), + '' + ) + + def test_password_field(self): + self.assertEqual( + self.m.password('name'), + '' + ) + def test_file_field(self): + self.assertEqual( + self.m.file('name'), + '' + ) + + def test_radio_button(self): + self.assertEqual( + self.m.radio("favcolor", "blue"), + '' + ) + + self.assertEqual( + self.m.radio("favcolor", "red"), + '' + ) + + + def test_text_area(self): + self.assertEqual( + self.m.textarea("longtext"), + '' + ) + + def test_text_field(self): + self.assertEqual( + self.m.text("name"), + '' + ) + def test_select(self): + self.assertEqual( + self.m.select("lang", [("en", "English"), ("de", "German"), ("jp", "Japanese")]), + '' ) 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) --- ./tests/test_html.py (original) +++ ./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 "quoted"') + quoted = escape('This string is "quoted"') + eq_(quoted, 'This string is "quoted"') dbl_quoted = escape(quoted) eq_(quoted, dbl_quoted) def test_literal(): - lit = literal(u'This string <>') - other = literal(u'') - eq_(u'This string <>', lit + other) + lit = literal('This string <>') + other = literal('') + eq_('This string <>', lit + other) assert type(lit + other) is literal - eq_(u'"', '"' + other) - eq_(u'"', other + '"') + eq_('"', '"' + other) + eq_('"', other + '"') mod = literal('<%s>ello') - eq_(u'<<H>>ello', mod % '') + eq_('<<H>>ello', mod % '') assert type(mod % '') is literal eq_(HTML(''), '<a>') assert type(HTML('')) is literal def test_literal_dict(): - lit = literal(u'This string <>') + lit = literal('This string <>') unq = 'This has ' sub = literal('%s and %s') - eq_(u'This string <> and This has <crap>', sub % (lit, unq)) + eq_('This string <> and This has <crap>', sub % (lit, unq)) sub = literal('%(lit)s and %(lit)r') - eq_(u"This string <> and literal(u'This string <>')", sub % dict(lit=lit)) + eq_("This string <> and literal(u'This string <>')", sub % dict(lit=lit)) sub = literal('%(unq)r and %(unq)s') - eq_(u"'This has <crap>' and This has <crap>", sub % dict(unq=unq)) + eq_("'This has <crap>' and This has <crap>", 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', '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\" Bad <script> tag') + eq_(a, 'Bad <script> tag') img = HTML.img(src='http://some/image.jpg') - eq_(img, u'') + eq_(img, '') br = HTML.br() - eq_(u'
', br) + eq_('
', br) def test_lit_re(): lit = literal('This is a ') unlit = 'This is also a ' result = lit_sub(r'', escape(result)) + eq_('This is a ', escape(result)) result = lit_sub(r'a ', result) + print(result) + eq_('', result) result = HTML.form(_closed=False, action="hello") - eq_(u'', result) + eq_('', result) def test_newline_arg(): - eq_(HTML.a(), literal(u'')) - eq_(HTML.a(_nl=True), literal(u'\n\n')) - eq_(HTML.a(_closed=False), literal(u'')) - eq_(HTML.a(_closed=False, _nl=True), literal(u'\n')) - eq_(HTML.a("A", "B", href="/"), literal(u'AB')) - eq_(HTML.a("A", "B", href="/", _nl=True), literal(u'\nA\nB\n\n')) + eq_(HTML.a(), literal('')) + eq_(HTML.a(_nl=True), literal('\n\n')) + eq_(HTML.a(_closed=False), literal('')) + eq_(HTML.a(_closed=False, _nl=True), literal('\n')) + eq_(HTML.a("A", "B", href="/"), literal('AB')) + eq_(HTML.a("A", "B", href="/", _nl=True), literal('\nA\nB\n\n')) --- ./tests/test_feedgenerator.py (original) +++ ./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 sharpest 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 sharpest 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.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.add_item( title="Hello", - link=u"http://wwwRefactoringTool: Refactored ./tests/test_escapes.py RefactoringTool: Refactored ./tests/test_date.py RefactoringTool: Refactored ./tests/test_converters.py .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)) --- ./tests/test_escapes.py (original) +++ ./tests/test_escapes.py (refactored) @@ -3,10 +3,10 @@ def test_html_escape(): assert html_escape('foo') == 'foo' assert html_escape('') == '<this"that>' - assert html_escape(u'\u1000') == 'က' + assert html_escape('\u1000') == 'က' class X: def __unicode__(self): - return u'<\u1000>' + return '<\u1000>' assert html_escape(X()) == '<က>' assert html_escape(1) == '1' assert html_escape(None) == '' --- ./tests/test_date.py (original) +++ ./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 --- ./tests/test_converters.py (original) +++ ./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'

Introduction

\n

Markdown is a text-to-HTML conversion tool for web writers.

\n

Acknowledgements

\n

[Michel Fortin][] has ported to Markdown to PHP.

') + expected = literal('

Introduction

\n

Markdown is a text-to-HTML conversion tool for web writers.

\n

Acknowledgements

\n

[Michel Fortin][] has ported to Markdown to PHP.

') else: - expected = literal(u'

Introduction

\n

Markdown is a text-to-HTML conversion tool for web writers.\n

\n\n

Acknowledgements

\n

[Michel Fortin][] has ported to Markdown to PHP.\n

') + expected = literal('

Introduction

\n

Markdown is a text-to-HTML conversion tool for web writers.\n

\n\n

Acknowledgements

\n

[Michel Fortin][] has ported to Markdown to PHP.\n

') eq_(markdown(markdown_text, markdown=_markdown), expected) RefactoringTool: Refactored ./tests/test_containers.py RefactoringTool: No changes to ./setup.py RefactoringTool: Refactored ./docs/conf.py def test_markdown_embedded_html(): _markdown = _get_markdown_module() markdown_text = 'This text includes & stuff.' if _markdown.version_info >= (2, 0): - expected = literal(u'

This text includes <script>Javascript</script> & stuff.

') + expected = literal('

This text includes <script>Javascript</script> & stuff.

') else: - expected = literal(u'

This text includes <script>Javascript</script> & stuff.\n

') + expected = literal('

This text includes <script>Javascript</script> & stuff.\n

') eq_(markdown(markdown_text, safe_mode="escape", markdown=_markdown), expected) def test_nl2br(): - eq_(u'A B
\nC D
\n
\nE F', nl2br("A B\nC D\r\n\r\nE F")) + eq_('A B
\nC D
\n
\nE F', nl2br("A B\nC D\r\n\r\nE F")) def test_nl2br2(): - eq_(u'<strike>W</strike>
\nThe W', nl2br("W\nThe W")) + eq_('<strike>W</strike>
\nThe W', nl2br("W\nThe W")) def test_nl2br3(): - eq_(u'W
\nThe W', nl2br(literal("W\nThe W"))) + eq_('W
\nThe W', nl2br(literal("W\nThe W"))) def test_format_paragraphs1(): - eq_(u"

crazy\n cross\n platform linebreaks

", format_paragraphs("crazy\r\n cross\r platform linebreaks")) + eq_("

crazy\n cross\n platform linebreaks

", format_paragraphs("crazy\r\n cross\r platform linebreaks")) def test_format_paragraphs2(): - eq_(u"

crazy
\n cross
\n platform linebreaks

", format_paragraphs("crazy\r\n cross\r platform linebreaks", True)) + eq_("

crazy
\n cross
\n platform linebreaks

", format_paragraphs("crazy\r\n cross\r platform linebreaks", True)) def test_format_paragraphs3(): - eq_(u"

A paragraph

\n\n

and another one!

", format_paragraphs("A paragraph\n\nand another one!")) + eq_("

A paragraph

\n\n

and another one!

", format_paragraphs("A paragraph\n\nand another one!")) def test_format_paragraphs4(): - eq_(u"

A paragraph
\n With a newline

", format_paragraphs("A paragraph\n With a newline", True)) + eq_("

A paragraph
\n With a newline

", format_paragraphs("A paragraph\n With a newline", True)) def test_format_paragraphs5(): - eq_(u"

A paragraph\n With a newline

", format_paragraphs("A paragraph\n With a newline", False)) + eq_("

A paragraph\n With a newline

", format_paragraphs("A paragraph\n With a newline", False)) def test_format_paragraphs6(): - eq_(u"

A paragraph\n With a newline

", format_paragraphs("A paragraph\n With a newline")) + eq_("

A paragraph\n With a newline

", format_paragraphs("A paragraph\n With a newline")) def test_format_paragraphs7(): - eq_(u"", format_paragraphs(None)) + eq_("", format_paragraphs(None)) --- ./tests/test_containers.py (original) +++ ./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 12 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") --- ./docs/conf.py (original) +++ ./docs/cRefactoringTool: Files that were modified: RefactoringTool: ./webhelpers/util.py RefactoringTool: ./webhelpers/textile.py RefactoringTool: ./webhelpers/text.py RefactoringTool: ./webhelpers/pylonslib/secure_form.py RefactoringTool: ./webhelpers/pylonslib/minify.py RefactoringTool: ./webhelpers/pylonslib/grid.py RefactoringTool: ./webhelpers/pylonslib/flash.py RefactoringTool: ./webhelpers/pylonslib/_jsmin.py RefactoringTool: ./webhelpers/pylonslib/__init__.py RefactoringTool: ./webhelpers/paginate.py RefactoringTool: ./webhelpers/number.py RefactoringTool: ./webhelpers/misc.py RefactoringTool: ./webhelpers/mimehelper.py RefactoringTool: ./webhelpers/media.py RefactoringTool: ./webhelpers/markdown.py RefactoringTool: ./webhelpers/html/tools.py RefactoringTool: ./webhelpers/html/tags.py RefactoringTool: ./webhelpers/html/render.py RefactoringTool: ./webhelpers/html/grid_demo.py RefactoringTool: ./webhelpers/html/grid.py RefactoringTool: ./webhelpers/html/converters.py RefactoringTool: ./webhelpers/html/builder.py RefactoringTool: ./webhelpers/html/__init__.py RefactoringTool: ./webhelpers/feedgenerator.py RefactoringTool: ./webhelpers/date.py RefactoringTool: ./webhelpers/containers.py RefactoringTool: ./webhelpers/constants.py RefactoringTool: ./webhelpers/__init__.py RefactoringTool: ./unfinished/sanitize_filename.py RefactoringTool: ./unfinished/opener.py RefactoringTool: ./unfinished/number_to_human_size.py RefactoringTool: ./unfinished/multimedia.py RefactoringTool: ./unfinished/logging_optparse.py RefactoringTool: ./unfinished/document.py RefactoringTool: ./unfinished/disabled_test_pylonslib_minify.py RefactoringTool: ./unfinished/containers.py RefactoringTool: ./unfinished/baseN.py RefactoringTool: ./tests/util.py RefactoringTool: ./tests/test_tools.py RefactoringTool: ./tests/test_text.py RefactoringTool: ./tests/test_tags.py RefactoringTool: ./tests/test_pylonslib_flash.py RefactoringTool: ./tests/test_paginate.py RefactoringTool: ./tests/test_number.py RefactoringTool: ./tests/test_modeltags.py RefactoringTool: ./tests/test_mimetypes.py RefactoringTool: ./tests/test_html.py RefactoringTool: ./tests/test_feedgenerator.py RefactoringTool: ./tests/test_escapes.py RefactoringTool: ./tests/test_date.py RefactoringTool: ./tests/test_converters.py RefactoringTool: ./tests/test_containers.py RefactoringTool: ./setup.py RefactoringTool: ./docs/conf.py onf.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/python3/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.94274 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-webhelpers-1.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + 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' adding license file 'LICENSE' 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 + export PYTHONPATH=/usr/src/RPM/BUILD/python3-module-webhelpers-1.3 + PYTHONPATH=/usr/src/RPM/BUILD/python3-module-webhelpers-1.3 + touch tests/__init__.py + make SPHINXBUILD=sphinx-build-3 -C docs html make: Entering directory '/usr/src/RPM/BUILD/python3-module-webhelpers-1.3/docs' mkdir -p _build/pickle _build/doctrees sphinx-build-3 -b pickle -d _build/doctrees . _build/pickle Running Sphinx v4.0.2 running test WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. WARNING: The wheel package is not available. /usr/bin/python3: No module named pip error: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/usr/src/tmp/tmpwaw8j0h0', '--quiet', 'WebOb']' returned non-zero exit status 1. 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: [new config] 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 /usr/src/RPM/BUILD/python3-module-webhelpers-1.3/webhelpers/pylonslib/minify.py:178: SyntaxWarning: "is not" with a literal. Did you mean "!="? if color and color is not '': 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 /usr/src/RPM/BUILD/python3-module-webhelpers-1.3/docs/index.rst:47: WARNING: duplicated entry found in toctree: todo /usr/src/RPM/BUILD/python3-module-webhelpers-1.3/webhelpers/html/builder.py:docstring of webhelpers.html.builder.literal.escape:1: WARNING: duplicate object description of webhelpers.html.builder.literal.escape, other instance in modules/html/builder, use :noindex: for one of them WARNING: autodoc: failed to import module 'converters' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.format_paragraphs' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.markdown' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.nl2br' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.textilize' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' looking for now-outdated files... none found pickling environment... done checking consistency... /usr/src/RPM/BUILD/python3-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 done writing additional pages... search opensearch done 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, 8 warnings. You can now process the pickle files in _build/pickle. 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-3 -b html -d _build/doctrees . _build/html Running Sphinx v4.0.2 running test WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. WARNING: The wheel package is not available. /usr/bin/python3: No module named pip error: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/usr/src/tmp/tmp199rjy72', '--quiet', 'WebOb']' returned non-zero exit status 1. 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, 1 changed, 0 removed reading sources... [100%] modules/html/converters WARNING: autodoc: failed to import module 'converters' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.format_paragraphs' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.markdown' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.nl2br' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' WARNING: autodoc: failed to import function 'converters.textilize' from module 'webhelpers.html'; the following exception was raised: No module named 'sgmllib' looking for now-outdated files... none found pickling environment... done checking consistency... /usr/src/RPM/BUILD/python3-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 done writing additional pages... search opensearch done 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, 6 warnings. The HTML pages are in _build/html. Build finished. The HTML pages are in _build/html. make: Leaving directory '/usr/src/RPM/BUILD/python3-module-webhelpers-1.3/docs' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.89470 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-webhelpers-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-webhelpers-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-webhelpers-1.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python3-module-webhelpers-buildroot --force running install /usr/lib64/python3/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running install_lib creating /usr/src/tmp/python3-module-webhelpers-buildroot creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3 creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets copying build/lib/webhelpers/public/stylesheets/webhelpers.css -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets copying build/lib/webhelpers/public/stylesheets/grid.css -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/public/stylesheets creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/__init__.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/builder.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/converters.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/grid.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/grid_demo.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/render.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/tags.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html copying build/lib/webhelpers/html/tools.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html creating /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/__init__.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/_jsmin.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/flash.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/grid.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/minify.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/pylonslib/secure_form.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib copying build/lib/webhelpers/__init__.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/constants.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/containers.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/date.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/feedgenerator.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/markdown.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/media.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/mimehelper.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/misc.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/number.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/paginate.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/text.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/textile.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers copying build/lib/webhelpers/util.py -> /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py to __init__.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py to builder.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py to converters.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py to grid.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py to grid_demo.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py to render.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py to tags.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py to tools.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py to __init__.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py to _jsmin.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py to flash.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py to grid.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py to minify.cpython-39.pyc /usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py:178: SyntaxWarning: "is not" with a literal. Did you mean "!="? byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py to secure_form.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py to __init__.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py to constants.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py to containers.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py to date.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py to feedgenerator.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py to markdown.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py to media.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py to mimehelper.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py to misc.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py to number.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py to paginate.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py to text.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py to textile.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py to util.cpython-39.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' adding license file 'LICENSE' writing manifest file 'WebHelpers.egg-info/SOURCES.txt' Copying WebHelpers.egg-info to /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/WebHelpers-1.3-py3.9.egg-info running install_scripts + cp -fR docs/_build/pickle /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/ + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-webhelpers-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-webhelpers-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-webhelpers-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-webhelpers-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-webhelpers-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-webhelpers-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python3 modules in /usr/src/tmp/python3-module-webhelpers-buildroot using /usr/bin/python3 /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py:178: SyntaxWarning: "is not" with a literal. Did you mean "!="? if color and color is not '': unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/builder.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/render.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-39.pyc compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-39.pyc unlink /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-39.pyc compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-webhelpers-buildroot using /usr/bin/python3 -O /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py:178: SyntaxWarning: "is not" with a literal. Did you mean "!="? if color and color is not '': compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-webhelpers-buildroot using /usr/bin/python3 -OO /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py:178: SyntaxWarning: "is not" with a literal. Did you mean "!="? if color and color is not '': compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/builder.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/converters.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/grid_demo.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/render.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tags.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/html/tools.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/flash.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/grid.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/secure_form.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/__init__.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/constants.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/feedgenerator.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/mimehelper.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/number.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/paginate.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/text.py compile /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py compile /usr/src/tmp/python3-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__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/constants.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/containers.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/date.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/feedgenerator.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/markdown.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/media.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/mimehelper.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/misc.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/number.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/paginate.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/text.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/textile.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/__pycache__/util.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/converters.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/grid_demo.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tags.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/html/__pycache__/tools.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/_jsmin.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/flash.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/grid.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/minify.cpython-39.pyc' './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/webhelpers/pylonslib/__pycache__/secure_form.cpython-39.pyc' Processing files: python3-module-webhelpers-1.3-alt3 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.96232 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-webhelpers-1.3 + DOCDIR=/usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3 + /bin/mkdir -p /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3 + chmod -R go-w /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-1.3 + chmod -R a+rX /usr/src/tmp/python3-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.crqVqu 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.MQUsIi find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/lib/rpm/python3.req.py:6: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python import parser, symbol, token, types /usr/lib/rpm/python3.req.py:6: DeprecationWarning: The symbol module is deprecated and will be removed in future versions of Python import parser, symbol, token, types python3.req: /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/containers.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/date.py: skipping time /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py: line=1232 a form of __import__ was read which gave no deps: [324, [325, [1, '__import__', 1232]], [327, [7, '(', 1232], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'extension_module_name', 1232]]]]]]]]]]]]]]]]]], [8, ')', 1232]]] /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/media.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/misc.py: skipping itertools /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/textile.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/util.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-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/python3-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/python3-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/python3-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/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/markdown.py is not executable shebang.req.files: executable script /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/_jsmin.py is not executable shebang.req.files: executable script /usr/src/tmp/python3-module-webhelpers-buildroot/usr/lib/python3/site-packages/webhelpers/pylonslib/minify.py is not executable shebang.req.files: executable script /usr/src/tmp/python3-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: python3-module-webhelpers-tests-1.3-alt3 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.84809 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-webhelpers-1.3 + DOCDIR=/usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + /bin/mkdir -p /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + cp -prL tests /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + chmod -R go-w /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + chmod -R a+rX /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-tests-1.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.XsdrSF 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.ztgbjP find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) Requires: python3-module-webhelpers = 1.3-alt3 Processing files: python3-module-webhelpers-docs-1.3-alt3 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.56451 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-webhelpers-1.3 + DOCDIR=/usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + /bin/mkdir -p /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + cp -prL docs/_build/html /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + chmod -R go-w /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + chmod -R a+rX /usr/src/tmp/python3-module-webhelpers-buildroot/usr/share/doc/python3-module-webhelpers-docs-1.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.K6xuiQ 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.ptHxZj find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) Processing files: python3-module-webhelpers-pickles-1.3-alt3 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.CctB86 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.IN2d7H find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) Requires: /usr/lib/python3/site-packages Adding to python3-module-webhelpers-tests a strict dependency on python3-module-webhelpers Wrote: /usr/src/RPM/RPMS/noarch/python3-module-webhelpers-1.3-alt3.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-webhelpers-tests-1.3-alt3.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-webhelpers-docs-1.3-alt3.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-webhelpers-pickles-1.3-alt3.noarch.rpm (w2.lzdio) 27.02user 1.92system 0:35.79elapsed 80%CPU (0avgtext+0avgdata 71620maxresident)k 0inputs+0outputs (0major+501618minor)pagefaults 0swaps 39.86user 7.78system 1:09.26elapsed 68%CPU (0avgtext+0avgdata 104672maxresident)k 10256inputs+0outputs (46259major+983579minor)pagefaults 0swaps --- python3-module-webhelpers-docs-1.3-alt3.noarch.rpm.repo 2021-06-03 11:36:41.000000000 +0000 +++ python3-module-webhelpers-docs-1.3-alt3.noarch.rpm.hasher 2021-11-23 01:19:34.475218063 +0000 @@ -236,3 +236,3 @@ File: /usr/share/doc/python3-module-webhelpers-docs-1.3/html/modules/pylonslib/__init__.html 100644 root:root 4ff6eb976c5039d681b6d8bab1fd286b -File: /usr/share/doc/python3-module-webhelpers-docs-1.3/html/modules/pylonslib/flash.html 100644 root:root b0a18a1cfdb8ec5c29aec8069f23a9b3 +File: /usr/share/doc/python3-module-webhelpers-docs-1.3/html/modules/pylonslib/flash.html 100644 root:root b2d6f159c7ec23d42a5a37575ae5979c File: /usr/share/doc/python3-module-webhelpers-docs-1.3/html/modules/pylonslib/grid.html 100644 root:root e8ebdf625f44329a6322df1caf1e0692 @@ -250,2 +250,2 @@ File: /usr/share/doc/python3-module-webhelpers-docs-1.3/html/whats_new.html 100644 root:root 4a1ee3d4f2d911ebe2dbb3e8bfc81758 -RPMIdentity: 1e9f667c39651f3bc300bb03f60c1df34f9c2773b6297c78a458e2af9ccd3688e7525b9ee88a952813ee301898f07873393ed86c164f65f7b1099747dbcbde3d +RPMIdentity: a80a75aba7a08e6478fd00dbe2715367d3607b51ec9fe81e22227f17ec760f97e89324fcd9ed3f00ebfe03a2f8df2fa427edcf9485be242e7c40a22ec5faf7ae --- python3-module-webhelpers-pickles-1.3-alt3.noarch.rpm.repo 2021-06-03 11:36:41.000000000 +0000 +++ python3-module-webhelpers-pickles-1.3-alt3.noarch.rpm.hasher 2021-11-23 01:19:34.943215202 +0000 @@ -190,3 +190,3 @@ File: /usr/lib/python3/site-packages/webhelpers/pickle/development.fpickle 100644 root:root 2e3789fb4a0bb542e3debc4f5b520ee8 -File: /usr/lib/python3/site-packages/webhelpers/pickle/environment.pickle 100644 root:root 65c17958ead28f60938cd23fae15c187 +File: /usr/lib/python3/site-packages/webhelpers/pickle/environment.pickle 100644 root:root 4ee14b1450a68b6a82447d925113a7e0 File: /usr/lib/python3/site-packages/webhelpers/pickle/genindex-A.fpickle 100644 root:root 17a77fe9470954763f335e22190bd2d7 @@ -241,3 +241,3 @@ File: /usr/lib/python3/site-packages/webhelpers/pickle/modules/pylonslib/__init__.fpickle 100644 root:root 632227d2339fe9654c8fa3ac3ea9b7e2 -File: /usr/lib/python3/site-packages/webhelpers/pickle/modules/pylonslib/flash.fpickle 100644 root:root a6bc8213caaa232244ea941dab9a252c +File: /usr/lib/python3/site-packages/webhelpers/pickle/modules/pylonslib/flash.fpickle 100644 root:root 1e7c9f033331d5c9bdf2f83f96f84473 File: /usr/lib/python3/site-packages/webhelpers/pickle/modules/pylonslib/grid.fpickle 100644 root:root 3067e6a8b0a3e0630fd7303875eee8d4 @@ -255,2 +255,2 @@ File: /usr/lib/python3/site-packages/webhelpers/pickle/whats_new.fpickle 100644 root:root d64ff864f52e6eb43e3d62ebef060ba5 -RPMIdentity: df7217a6fd79c325f70974440bba17956610f22378d9b7d9b65e49102ee2a6cb46dc2eb72246820407b76a020611a27b06795ec29169f9068e1d911e26eba3b2 +RPMIdentity: f0222b5089ac85fffd6d4e4fbe2b19329fc3a94245c61fee3593327f2972173bbad45387fb44fadc90259d797756512be9ac504c1cdefdf09b2e9347e019b144