<86>Oct 9 03:15:21 userdel[3085784]: delete user 'rooter' <86>Oct 9 03:15:21 userdel[3085784]: removed group 'rooter' owned by 'rooter' <86>Oct 9 03:15:21 userdel[3085784]: removed shadow group 'rooter' owned by 'rooter' <86>Oct 9 03:15:21 groupadd[3085789]: group added to /etc/group: name=rooter, GID=645 <86>Oct 9 03:15:21 groupadd[3085789]: group added to /etc/gshadow: name=rooter <86>Oct 9 03:15:21 groupadd[3085789]: new group: name=rooter, GID=645 <86>Oct 9 03:15:21 useradd[3085793]: new user: name=rooter, UID=645, GID=645, home=/root, shell=/bin/bash <86>Oct 9 03:15:21 userdel[3085799]: delete user 'builder' <86>Oct 9 03:15:21 userdel[3085799]: removed group 'builder' owned by 'builder' <86>Oct 9 03:15:21 userdel[3085799]: removed shadow group 'builder' owned by 'builder' <86>Oct 9 03:15:21 groupadd[3085804]: group added to /etc/group: name=builder, GID=646 <86>Oct 9 03:15:21 groupadd[3085804]: group added to /etc/gshadow: name=builder <86>Oct 9 03:15:21 groupadd[3085804]: new group: name=builder, GID=646 <86>Oct 9 03:15:22 useradd[3085808]: new user: name=builder, UID=646, GID=646, home=/usr/src, shell=/bin/bash <13>Oct 9 03:15:27 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626058413 installed <13>Oct 9 03:15:27 rpmi: libexpat-2.2.10-alt1 sisyphus+276608.100.1.2 1625153355 installed <13>Oct 9 03:15:27 rpmi: libp11-kit-0.23.15-alt2 sisyphus+278382.100.1.2 1626190666 installed <13>Oct 9 03:15:27 rpmi: libtasn1-4.17.0-alt2 sisyphus+285706.100.1.1 1632328563 installed <13>Oct 9 03:15:27 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Oct 9 03:15:27 rpmi: alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Oct 9 03:15:27 rpmi: ca-certificates-2021.10.06-alt1 sisyphus+286526.200.1.1 1633528578 installed <13>Oct 9 03:15:27 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Oct 9 03:15:27 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+278382.100.1.2 1626190666 installed <13>Oct 9 03:15:28 rpmi: libcrypto1.1-1.1.1l-alt1 sisyphus+283685.100.1.1 1629815887 installed <13>Oct 9 03:15:28 rpmi: libssl1.1-1.1.1l-alt1 sisyphus+283685.100.1.1 1629815887 installed <13>Oct 9 03:15:28 rpmi: python3-3.9.7-alt3 sisyphus+286270.40.2.1 1633128995 installed <13>Oct 9 03:15:30 rpmi: python3-base-3.9.7-alt3 sisyphus+286270.40.2.1 1633128995 installed <13>Oct 9 03:15:30 rpmi: tests-for-installed-python3-pkgs-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Oct 9 03:15:30 rpmi: rpm-build-python3-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Oct 9 03:15:38 rpmi: python3-module-six-1.16.0-alt1 sisyphus+283489.100.2.1 1629527308 installed <13>Oct 9 03:15:38 rpmi: python3-module-genshi-0.7.4-alt2 sisyphus+275930.100.2.1 1624873830 installed <13>Oct 9 03:15:38 rpmi: python3-module-webencodings-0.5.1-alt2 sisyphus+276020.100.1.1 1624812421 installed <13>Oct 9 03:15:38 rpmi: libxslt-1.1.34-alt3 sisyphus+275636.100.1.1 1624616833 installed <13>Oct 9 03:15:38 rpmi: python3-module-html5lib-1:1.1-alt1 sisyphus+278096.120.5.1 1626086978 installed <13>Oct 9 03:15:38 rpmi: python3-module-cssselect-0.9.1-alt3 sisyphus+270533.2600.6.1 1619684675 installed <13>Oct 9 03:15:38 rpmi: python3-module-lxml-4.6.3.0.16.git5ecb40bc-alt1 sisyphus+279721.1500.1.1 1626648574 installed <13>Oct 9 03:15:38 rpmi: libpython-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:38 rpmi: python2-base-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:38 rpmi: python-modules-encodings-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:38 rpmi: python-modules-compiler-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:38 rpmi: python-modules-email-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:38 rpmi: python-modules-unittest-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python-modules-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python-modules-ctypes-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python-modules-multiprocessing-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python-modules-logging-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python-tools-2to3-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Oct 9 03:15:39 rpmi: python3-module-simplejson-3.17.2-alt1 sisyphus+277069.20.5.1 1625400706 installed <13>Oct 9 03:15:39 rpmi: python3-module-nose-1:1.3.7-alt9.git20160316 sisyphus+284960.4100.5.1 1631869589 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-strainer-0.1.4-alt3.nosrc.rpm (w1.gzdio) <13>Oct 9 03:15:45 rpmi: python3-module-pkg_resources-1:58.1.0-alt1 sisyphus+285983.100.1.1 1632727228 installed <13>Oct 9 03:15:45 rpmi: libpython3-3.9.7-alt3 sisyphus+286270.40.2.1 1633128995 installed <13>Oct 9 03:15:45 rpmi: libncurses-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022599 installed <13>Oct 9 03:15:45 rpmi: libtinfo-devel-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022599 installed <13>Oct 9 03:15:46 rpmi: libncurses-devel-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022599 installed <13>Oct 9 03:15:48 rpmi: python3-dev-3.9.7-alt3 sisyphus+286270.40.2.1 1633128995 installed <13>Oct 9 03:15:48 rpmi: python3-module-setuptools-1:58.1.0-alt1 sisyphus+285983.100.1.1 1632727228 installed Installing python3-module-strainer-0.1.4-alt3.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.70643 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-strainer-0.1.4 + echo 'Source #0 (python3-module-strainer-0.1.4.tar):' Source #0 (python3-module-strainer-0.1.4.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-strainer-0.1.4.tar + cd python3-module-strainer-0.1.4 + /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 ./strainer/xhtmlify.py --- ./strainer/xhtmlify.py (original) +++ ./strainer/xhtmlify.py (refactored) @@ -1,6 +1,6 @@ #!/usr/bin/env python """An HTML to XHTML converter.""" -import re, htmlentitydefs, codecs +import re, html.entities, codecs import encodings.aliases @@ -67,9 +67,9 @@ # character reference try: if text[:3] in ("&#x", "&#X"): - c = unichr(int(text[3:-1], 16)) + c = chr(int(text[3:-1], 16)) else: - c = unichr(int(text[2:-1], 10)) + c = chr(int(text[2:-1], 10)) except ValueError: pass else: @@ -88,7 +88,7 @@ if name in ['amp', 'lt', 'gt', 'quot', 'apos']: return text else: - cp = htmlentitydefs.name2codepoint.get(name) + cp = html.entities.name2codepoint.get(name) if cp: return '&#x%x;' % cp else: @@ -250,7 +250,7 @@ encodingdecl = '' if encoding is not None: EncName_re = re.compile(r'[A-Za-z][A-Za-z0-9._-]*\Z') # from XML spec - if isinstance(encoding, basestring) and EncName_re.match(encoding): + if isinstance(encoding, str) and EncName_re.match(encoding): encodingdecl = ' encoding="%s"' % encoding else: # Don't tell them expected format, guessing won't help @@ -277,7 +277,7 @@ EOS = r'\Z' # end of string regexp starts_utf16_re = re.compile('utf[_-]?16', re.IGNORECASE) bomless_utf16_re = re.compile('utf[_-]?16[_-]?[bl]e\Z', re.IGNORECASE) - unicode_input = isinstance(xml, unicode) + unicode_input = isinstance(xml, str) if not re.match(r'1\.[0-9]+' + EOS, default_version): raise ValueError("Bad default XML declaration version") if encoding is not None: @@ -292,9 +292,9 @@ # begin with the Byte Order Mark". if not unicode_input and not (xml.startswith(codecs.BOM_UTF16_LE) or xml.startswith(codecs.BOM_UTF16_BE)): - xml = u'\ufeff'.encode(encoding) + xml + xml = '\ufeff'.encode(encoding) + xml elif unicode_input and bomless_utf16_re.match(encoding): - xml = u'\ufeff' + xml + xml = '\ufeff' + xml # "else: pass"; Python adds the BOM when encoding unicode as UTF-16 if unicode_input: if encoding: @@ -314,7 +314,7 @@ if bomless_utf16_re.match(enc): # These need a BOM prefix according to the spec but the default # Python encodings of that name don't provide one. - prefix = encode(u'\ufeff') + prefix = encode('\ufeff') else: prefix = encode('') chars_we_need = ('''abcdefghijklmnopqrstuvwxyz''' @@ -456,12 +456,12 @@ any = lambda *args: '(?:%s)*' % '|'.join(args) some = lambda *args: '(?:%s)+' % '|'.join(args) named = lambda name, regexp: '(?P<%s>%s)' % (name, regexp) - NameStartChar = (u'[:A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D' - u'\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF' - u'\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]') - if len(u'\U00010000')==1: - NameStartChar = NameStartChar[:-1] + u'\U00010000-\U000EFFFF]' - NameChar = NameStartChar[:-1] + u"0-9\xB7\u0300-\u036F\u203F-\u2040\-]" + NameStartChar = ('[:A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D' + '\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF' + '\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]') + if len('\U00010000')==1: + NameStartChar = NameStartChar[:-1] + '\U00010000-\U000EFFFF]' + NameChar = NameStartChar[:-1] + "0-9\xB7\u0300-\u036F\u203F-\u2040\-]" Name = NameStartChar + any(NameChar) Nmtoken = some(NameChar) quoted = oneof('"[^<>"]*"', "'[^<>']*'") @@ -578,25 +578,25 @@ html = fix_xmldecl(html, encoding=encoding, add_encoding=False) if not encoding: encoding = sniff_encoding(html) - unicode_input = isinstance(html, unicode) + unicode_input = isinstance(html, str) if unicode_input: html = html.encode(encoding, 'strict') if not isinstance(html, str): raise TypeError("Expected string, got %s" % type(html)) html = html.decode(encoding, 'replace') # "in HTML, the Formfeed character (U+000C) is treated as white space" - html = html.replace(u'\u000C', u' ') + html = html.replace('\u000C', ' ') # Replace disallowed characters with U+FFFD (unicode replacement char) - if len(u'\U00010000')==1: + if len('\U00010000')==1: html = re.sub( # XML 1.0 section 2.2, "Char" production - u'[^\x09\x0A\x0D\u0020-\uD7FF\uE000-\uFFFD' - u'\U00010000-\U0010FFFF]', # <-- 32 bit characters - u'\N{replacement character}', html) + '[^\x09\x0A\x0D\u0020-\uD7FF\uE000-\uFFFD' + '\U00010000-\U0010FFFF]', # <-- 32 bit characters + '\N{replacement character}', html) else: # Replace 32-bit characters, this Python build doesn't support them html = re.sub( # XML 1.0 section 2.2, "Char" production - u'[^\x09\x0A\x0D\u0020-\uD7FF\uE000-\uFFFD]', - u'\N{replacement character}', html) + '[^\x09\x0A\x0D\u0020-\uD7FF\uE000-\uFFFD]', + '\N{replacement character}', html) def ERROR(message, charpos=None): if charpos is None: @@ -616,7 +616,7 @@ # Output the XML declaration and doctype, if they exist. doctype, lastpos = fix_doctype(html) output(doctype) - if html.startswith('')+1 if not doctype: output(html[:pos]) @@ -780,7 +780,7 @@ try: assert xhtml==xhtmlify(xhtml) except ValidationError: - print xhtml + print(xhtml) raise xmlparse(re.sub('(?s)', '', xhtml)) # ET can't handle if len(sys.argv)==2: @@ -790,13 +790,13 @@ def xmlparse(snippet, encoding=None, wrap=None): """Parse snippet as XML with ElementTree/expat. By default it wraps the snippet in an outer element before parsing (unless the - snippet starts "\n%s\n' % snippet else: input = snippet - if isinstance(snippet, unicode): + if isinstance(snippet, str): if not encoding: encoding = sniff_encoding(snippet) input = input.encode(encoding) parser.feed(input) parser.close() - except xml.parsers.expat.ExpatError, e: + except xml.parsers.expat.ExpatError as e: lineno, offset = e.lineno, e.offset lineno -= 1 if lineno==input.count('\n'): # last line => @@ -835,7 +835,7 @@ """Detects the XML encoding as per XML 1.0 section F.1.""" if isinstance(xml, str): xmlstr = xml - elif isinstance(xml, basestring): + elif isinstance(xml, str): xmlstr = xml.encode('utf-8') else: raise TypeError('Expected a string, got %r' % type(xml)) @@ -845,7 +845,7 @@ encode = codecs.lookup(enc).incrementalencoder().encode prefix = encode('') # any header such as a UTF-8 BOM if enc in ('utf_16_le', 'utf_16_be'): - prefix = u'\ufeff'.encode(enc) # the standard approach fails + prefix = '\ufeff'.encode(enRefactoringTool: Refactored ./strainer/wellformed.py RefactoringTool: Refactored ./strainer/validate.py RefactoringTool: Refactored ./strainer/operators.py c) # the standard approach fails L = lambda s: re.escape(encode(s)) # encoded form of literal s optional = lambda s: '(?:%s)?' % s oneof = lambda opts: '(?:%s)' % '|'.join(opts) --- ./strainer/wellformed.py (original) +++ ./strainer/wellformed.py (refactored) @@ -1,7 +1,7 @@ """Performs basic XHTML wellformedness checks.""" import xml.sax import xml.sax.handler -import htmlentitydefs +import html.entities from xml.sax._exceptions import SAXParseException @@ -17,7 +17,7 @@ """Calls is_wellformed_xml with doctype=DOCTYPE_XHTML1_STRICT and entitydefs=htmlentitydefs.entitydefs.""" return is_wellformed_xml(docpart, doctype=DOCTYPE_XHTML1_STRICT, - entitydefs=htmlentitydefs.entitydefs, + entitydefs=html.entities.entitydefs, record_error=record_error) def is_wellformed_xml(docpart, doctype='', entitydefs={}, record_error=None): @@ -47,7 +47,7 @@ parser.feed(doc) parser.close() return True - except SAXParseException, e: # catches our exception and other parse errors + except SAXParseException as e: # catches our exception and other parse errors if record_error is not None: line, column = e.getLineNumber(), e.getColumnNumber() # Correct location to account for our adding a doctype prefix. --- ./strainer/validate.py (original) +++ ./strainer/validate.py (refactored) @@ -2,7 +2,7 @@ import lxml.etree # the stdlib's expat parser can't do validation import os import re -import urlparse +import urllib.parse try: import demjson as json # most accurate JSON validator AFAIK @@ -60,7 +60,7 @@ DOCTYPE_XHTML1_TRANSITIONAL or DOCTYPE_XHTML1_FRAMESET.""" try: lxml.etree.fromstring(doctype + xhtml, parser=_get_parser()) - except lxml.etree.XMLSyntaxError, e: + except lxml.etree.XMLSyntaxError as e: # Try to fix up the error message so line numbers are # relative to xhtml. tline = doctype.count('\n') @@ -85,7 +85,7 @@ xhtml = doctype + (template % xhtml_fragment) try: lxml.etree.fromstring(xhtml, parser=_get_parser()) - except lxml.etree.XMLSyntaxError, e: + except lxml.etree.XMLSyntaxError as e: # Try to fix up the error message so line numbers are # relative to the fragment. message = re.sub(r'line (\d+)', @@ -97,5 +97,5 @@ """Validates that json is a valid JSON string (by loading it).""" try: json.loads(jsonstr) - except ValueError, e: + except ValueError as e: raise JSONSyntaxError(str(e)) --- ./strainer/operators.py (original) +++ ./strainer/operators.py (refactored) @@ -1,11 +1,11 @@ -from xhtmlify import xhtmlify, XMLParsingError, ValidationError +from .xhtmlify import xhtmlify, XMLParsingError, ValidationError from xml.etree import ElementTree as etree from xml.parsers.expat import ExpatError import copy, re from pprint import pformat, pprint from simplejson import loads from nose.tools import * -from almostequal import approx_equal +from .almostequal import approx_equal import strainer.log as log log = log.log @@ -32,7 +32,7 @@ def replace_escape_chars(needle): needle = needle.replace(' ', ' ') - needle = needle.replace(u'\xa0', ' ') + needle = needle.replace('\xa0', ' ') return needle def normalize_to_xhtml(needle): @@ -42,7 +42,7 @@ needle = xhtmlify(needle) try: needle_node = etree.fromstring(needle) - except ExpatError, e: + except ExpatError as e: raise XMLParsingError('Could not parse %s into xml. %s'%(needle, e.args[0])) needle_node = remove_whitespace_nodes(needle_node) remove_namespace(needle_node) @@ -52,11 +52,11 @@ def in_xhtml(needle, haystack): try: needle_s = normalize_to_xhtml(needle) - except ValidationError, e: + except ValidationError as e: raise XMLParsingError('Could not parse needle: %s into xml. %s'%(needle, e.message)) try: haystack_s = norRefactoringTool: Refactored ./strainer/middleware.py malize_to_xhtml(haystack) - except ValidationError, e: + except ValidationError as e: raise XMLParsingError('Could not parse haystack: %s into xml. %s'%(haystack, e.message)) return needle_s in haystack_s @@ -66,11 +66,11 @@ haystack = '
%s
' try: needle_s = normalize_to_xhtml(needle) - except ValidationError, e: + except ValidationError as e: raise XMLParsingError('Could not parse needle: %s into xml. %s'%(needle, e.message)) try: haystack_s = normalize_to_xhtml(haystack) - except ValidationError, e: + except ValidationError as e: raise XMLParsingError('Could not parse haystack: %s into xml. %s'%(haystack, e.message)) return needle_s == haystack_s @@ -89,7 +89,7 @@ def assert_raises(exc, method, *args, **kw): try: method(*args, **kw) - except exc, e: + except exc as e: return e else: raise AssertionError('%s() did not raise %s' % (method.__name__, exc.__name__)) @@ -135,7 +135,7 @@ del cb[key] #this needs to be recursive so we can '&ignore'-out ids anywhere in a json stream - for key in set(ca.keys() + cb.keys()): + for key in set(list(ca.keys()) + list(cb.keys())): if key not in ca: log.error('%s!= %s\n key "%s" not in first argument' %(ca, cb, key)) return False @@ -149,7 +149,7 @@ if v1 == '&ignore' or v2 == '&ignore': log.info('Ignored comparison for key: %s', key) continue - if not isinstance(v2, basestring) and isinstance(v1, basestring): + if not isinstance(v2, str) and isinstance(v1, str): if not eq_pprint(type(v1), type(v2)): log.error('The types of values for "%s" do not match (%s vs. %s)' %(key, v1, v2)) return False @@ -177,9 +177,9 @@ return _eq_dict(ca, cb, ignore=ignore) def eq_json(a, b): - if isinstance(a, basestring): + if isinstance(a, str): a = loads(a) - if isinstance(b, basestring): + if isinstance(b, str): b = loads(b) eq_dict(a, b) @@ -187,5 +187,5 @@ return True -__all__ = [_key for _key in locals().keys() if not _key.startswith('_')] +__all__ = [_key for _key in list(locals().keys()) if not _key.startswith('_')] --- ./strainer/middleware.py (original) +++ ./strainer/middleware.py (refactored) @@ -1,11 +1,11 @@ """Provides WSGI middleware for validating and tidying HTML output.""" import re -import xhtmlify +from . import xhtmlify import logging try: - from cStringIO import StringIO + from io import StringIO except ImportError: - from StringIO import StringIO + from io import StringIO __all__ = ['XHTMLValidatorMiddleware', 'XHTMLifyMiddleware', @@ -50,7 +50,7 @@ return response try: - from validate import validate_xhtml, XHTMLSyntaxError + from .validate import validate_xhtml, XHTMLSyntaxError class XHTMLValidatorMiddleware(BufferingMiddleware): def __init__(self, app, doctype='', record_error=LOG.error): @@ -66,7 +66,7 @@ if content_type in ('text/html', 'application/xml+html'): try: validate_xhtml(response, doctype=self.doctype) - except XHTMLSyntaxError, e: + except XHTMLSyntaxError as e: self.record_error(str(e)) return response except ImportError: @@ -92,7 +92,7 @@ return response -from wellformed import is_wellformed_xhtml, is_wellformed_xml +from .wellformed import is_wellformed_xhtml, is_wellformed_xml class WellformednessCheckerMiddleware(BufferingMiddleware): """Checks that served webpages are well-formed HTML/XHTML/XML, @@ -119,7 +119,7 @@ is_wellformed_xml(response, record_error=self.record_error) return response -from validate import validate_json, JSONSyntaxError +from .validate import validate_json, JSONSyntaxError class JSONValidatorMiddleware(BufferingMiddleware): def __init__(sRefactoringTool: No changes to ./strainer/log.py RefactoringTool: No changes to ./strainer/doctypes.py RefactoringTool: Refactored ./strainer/case.py RefactoringTool: No changes to ./strainer/almostequal.py RefactoringTool: No changes to ./setup.py RefactoringTool: Files that were modified: RefactoringTool: ./strainer/xhtmlify.py RefactoringTool: ./strainer/wellformed.py RefactoringTool: ./strainer/validate.py RefactoringTool: ./strainer/operators.py RefactoringTool: ./strainer/middleware.py RefactoringTool: ./strainer/log.py RefactoringTool: ./strainer/doctypes.py RefactoringTool: ./strainer/case.py RefactoringTool: ./strainer/almostequal.py RefactoringTool: ./setup.py elf, app, doctype='', record_error=LOG.error): @@ -134,6 +134,6 @@ if content_type=='text/json': try: validate_json(response) - except JSONSyntaxError, e: + except JSONSyntaxError as e: self.record_error(str(e)) return response --- ./strainer/case.py (original) +++ ./strainer/case.py (refactored) @@ -1,5 +1,5 @@ import sys -from cStringIO import StringIO +from io import StringIO import inspect import traceback @@ -81,7 +81,7 @@ klass = cls break else: - raise AttributeError('%s not found on %s' % (func.__name__, func.im_class.__name__)) + raise AttributeError('%s not found on %s' % (func.__name__, func.__self__.__class__.__name__)) superfunc = getattr(super(klass, self), func.__name__) #superfunc is bound, so "self" is implied #Args and KW needed? @@ -90,7 +90,7 @@ superfunc(klass.__base__) else: superfunc() - except Exception, e: + except Exception as e: if delay: append_delayed_and_print_traceback(e) else: @@ -101,7 +101,7 @@ #During try: ret = func(self) - except Exception, e: + except Exception as e: if delay: append_delayed_and_print_traceback(e) else: @@ -122,7 +122,7 @@ '''Like the nose tool of the same name, but returns the exception raised so that args can be checked''' try: ret = method(*args, **kwargs) - except exc, e: + except exc as e: return e else: raise AssertionError('The expected exception (%s) was not raised' % exc.__name__) ++ find ./ -name '*.py' + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./strainer/xhtmlify.py ./strainer/wellformed.py ./strainer/validate.py ./strainer/operators.py ./strainer/middleware.py ./strainer/log.py ./strainer/doctypes.py ./strainer/case.py ./strainer/almostequal.py ./strainer/__init__.py ./setup.py + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.34935 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-strainer-0.1.4 + 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 --debug running build running build_py creating build creating build/lib creating build/lib/strainer copying strainer/__init__.py -> build/lib/strainer copying strainer/almostequal.py -> build/lib/strainer copying strainer/case.py -> build/lib/strainer copying strainer/doctypes.py -> build/lib/strainer copying strainer/log.py -> build/lib/strainer copying strainer/middleware.py -> build/lib/strainer copying strainer/operators.py -> build/lib/strainer copying strainer/validate.py -> build/lib/strainer copying strainer/wellformed.py -> build/lib/strainer copying strainer/xhtmlify.py -> build/lib/strainer running egg_info writing strainer.egg-info/PKG-INFO writing dependency_links to strainer.egg-info/dependency_links.txt writing entry points to strainer.egg-info/entry_points.txt writing top-level names to strainer.egg-info/top_level.txt reading manifest file 'strainer.egg-info/SOURCES.txt' writing manifest file 'strainer.egg-info/SOURCES.txt' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.19684 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-strainer-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-strainer-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-strainer-0.1.4 + 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-strainer-buildroot --force running install running install_lib creating /usr/src/tmp/python3-module-strainer-buildroot creating /usr/src/tmp/python3-module-strainer-buildroot/usr creating /usr/src/tmp/python3-module-strainer-buildroot/usr/lib creating /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3 creating /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/xhtmlify.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/wellformed.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/validate.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/operators.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/middleware.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/log.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/doctypes.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/case.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/almostequal.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer copying build/lib/strainer/__init__.py -> /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py to xhtmlify.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/wellformed.py to wellformed.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py to validate.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py to operators.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py to middleware.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/log.py to log.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/doctypes.py to doctypes.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/case.py to case.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/almostequal.py to almostequal.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__init__.py to __init__.cpython-39.pyc running install_egg_info running egg_info writing strainer.egg-info/PKG-INFO writing dependency_links to strainer.egg-info/dependency_links.txt writing entry points to strainer.egg-info/entry_points.txt writing top-level names to strainer.egg-info/top_level.txt reading manifest file 'strainer.egg-info/SOURCES.txt' writing manifest file 'strainer.egg-info/SOURCES.txt' Copying strainer.egg-info to /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info running install_scripts + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-strainer-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-strainer-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-strainer-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-strainer-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-strainer-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-strainer-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-strainer-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.pyc unlink /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.pyc compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__init__.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/almostequal.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/case.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/doctypes.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/log.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/wellformed.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-strainer-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__init__.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/almostequal.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/case.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/doctypes.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/log.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/wellformed.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-strainer-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/__init__.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/almostequal.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/case.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/doctypes.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/log.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/wellformed.py compile /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.pyc' './usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.31543 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-strainer-0.1.4 + /usr/bin/python3 setup.py test 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. running egg_info writing strainer.egg-info/PKG-INFO writing dependency_links to strainer.egg-info/dependency_links.txt writing entry points to strainer.egg-info/entry_points.txt writing top-level names to strainer.egg-info/top_level.txt reading manifest file 'strainer.egg-info/SOURCES.txt' writing manifest file 'strainer.egg-info/SOURCES.txt' running build_ext ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK + exit 0 Processing files: python3-module-strainer-0.1.4-alt3 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.NKLKPi 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.YCuR5j 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-strainer-buildroot/usr/lib/python3/site-packages/strainer/case.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=3 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=6 IGNORE (for REQ=slight and deep=8) module=io /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=8 IGNORE (for REQ=slight and deep=8) module=io /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=53 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=95 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/middleware.py: line=122 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py: line=1 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/operators.py: line=8 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py: line=8 IGNORE (for REQ=slight and deep=8) module=demjson /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py: line=11 IGNORE (for REQ=slight and deep=12) module=simplejson /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/validate.py: line=13 IGNORE (for REQ=slight and deep=12) module=json /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py: line=771 IGNORE (for REQ=slight and deep=12) module=sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py: line=795 IGNORE (for REQ=slight and deep=8) module=xml.parsers.expat /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py: line=796 IGNORE (for REQ=slight and deep=8) module=xml.etree shebang.req.files: executable script /usr/src/tmp/python3-module-strainer-buildroot/usr/lib/python3/site-packages/strainer/xhtmlify.py is not executable Provides: python3(strainer), python3(strainer.almostequal), python3(strainer.case), python3(strainer.doctypes), python3(strainer.log), python3(strainer.middleware), python3(strainer.operators), python3(strainer.validate), python3(strainer.wellformed), python3(strainer.xhtmlify) Requires: python3(json) < 0, /usr/lib/python3/site-packages, python3(codecs) < 0, python3(copy) < 0, python3(encodings.aliases) < 0, python3(html.entities) < 0, python3(inspect) < 0, python3(io) < 0, python3(logging) < 0, python3(lxml.etree) < 0, python3(nose.tools) < 0, python3(os) < 0, python3(pkg_resources) < 0, python3(pprint) < 0, python3(re) < 0, python3(simplejson) < 0, python3(traceback) < 0, python3(unittest) < 0, python3(urllib.parse) < 0, python3(xml.etree) < 0, python3(xml.parsers.expat) < 0, python3(xml.sax) < 0, python3(xml.sax._exceptions) < 0, python3(xml.sax.handler) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python3-module-strainer-0.1.4-alt3.noarch.rpm (w2.lzdio) 13.86user 1.55system 0:20.57elapsed 74%CPU (0avgtext+0avgdata 39464maxresident)k 0inputs+0outputs (0major+196158minor)pagefaults 0swaps 31.07user 14.92system 1:04.50elapsed 71%CPU (0avgtext+0avgdata 105304maxresident)k 5872inputs+0outputs (46382major+602092minor)pagefaults 0swaps --- python3-module-strainer-0.1.4-alt3.noarch.rpm.repo 2019-12-04 08:07:52.000000000 +0000 +++ python3-module-strainer-0.1.4-alt3.noarch.rpm.hasher 2021-10-09 03:16:14.174220454 +0000 @@ -1,41 +1,41 @@ /usr/lib/python3/site-packages/strainer 40755 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info 40755 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/PKG-INFO 100644 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/SOURCES.txt 100644 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/dependency_links.txt 100644 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/entry_points.txt 100644 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/top_level.txt 100644 root:root -/usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/zip-safe 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info 40755 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/PKG-INFO 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/SOURCES.txt 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/dependency_links.txt 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/entry_points.txt 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/top_level.txt 100644 root:root +/usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/zip-safe 100644 root:root /usr/lib/python3/site-packages/strainer/__init__.py 100644 root:root /usr/lib/python3/site-packages/strainer/__pycache__ 40755 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.pyc 100644 root:root /usr/lib/python3/site-packages/strainer/almostequal.py 100644 root:root @@ -86,41 +86,41 @@ File: /usr/lib/python3/site-packages/strainer 40755 root:root -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info 40755 root:root -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/PKG-INFO 100644 root:root c0de62d5e2845f2da5bdfbeff17880c9 -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/SOURCES.txt 100644 root:root 6cd40c6c76fb11a10f86908c47a3c807 -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/entry_points.txt 100644 root:root 1d14414e007751b9e2901b967e2b7c9e -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/top_level.txt 100644 root:root 6312e325434f39dfc43e91fb7efdd187 -File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.7.egg-info/zip-safe 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info 40755 root:root +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/PKG-INFO 100644 root:root 2c27c4fc34a7b03180e09213ce3b3488 +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/SOURCES.txt 100644 root:root 6cd40c6c76fb11a10f86908c47a3c807 +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/entry_points.txt 100644 root:root 1d14414e007751b9e2901b967e2b7c9e +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/top_level.txt 100644 root:root 6312e325434f39dfc43e91fb7efdd187 +File: /usr/lib/python3/site-packages/strainer-0.1.4-py3.9.egg-info/zip-safe 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 File: /usr/lib/python3/site-packages/strainer/__init__.py 100644 root:root 552dacb15f2019c8f3f74c55befa242c File: /usr/lib/python3/site-packages/strainer/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root cd91da45f8e7ca08192c9f0eecb85835 -File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root cd91da45f8e7ca08192c9f0eecb85835 -File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-37.pyc 100644 root:root cd91da45f8e7ca08192c9f0eecb85835 -File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.opt-1.pyc 100644 root:root 0e5319630eb54dc7a04948b50d024b1e -File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.opt-2.pyc 100644 root:root 203a0ea15718619e6299f50974d8f89b -File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-37.pyc 100644 root:root 6f7e6ea9c4e058b174b34ce5c008a0de -File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.opt-1.pyc 100644 root:root 517b6ac965ba42973b1e3be2c1ccc6fd -File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.opt-2.pyc 100644 root:root 66c092b86c90326942396ebf1f943608 -File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-37.pyc 100644 root:root 517b6ac965ba42973b1e3be2c1ccc6fd -File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.opt-1.pyc 100644 root:root dab98a28751251f97a3f903126c8038d -File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.opt-2.pyc 100644 root:root dab98a28751251f97a3f903126c8038d -File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-37.pyc 100644 root:root dab98a28751251f97a3f903126c8038d -File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.opt-1.pyc 100644 root:root 9fce7779d8bc0996fc7a3984978a9e9c -File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.opt-2.pyc 100644 root:root 9fce7779d8bc0996fc7a3984978a9e9c -File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-37.pyc 100644 root:root 9fce7779d8bc0996fc7a3984978a9e9c -File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.opt-1.pyc 100644 root:root a20b07de2fd2f335d0b28c8530616788 -File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.opt-2.pyc 100644 root:root 6d3441dfb197402cbc38920fdd691638 -File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-37.pyc 100644 root:root a20b07de2fd2f335d0b28c8530616788 -File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.opt-1.pyc 100644 root:root 5285e15fe1e25031af0888c778f77202 -File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.opt-2.pyc 100644 root:root 9f349b51bbe32b8c58f90038a681bfa4 -File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-37.pyc 100644 root:root 91f9015db265a68692b2bca6cd3f2b5d -File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.opt-1.pyc 100644 root:root bd96d25fa809afe43a9fdfbaa394e5e3 -File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.opt-2.pyc 100644 root:root b8ffbe6f3828d5f9c332c9b4463fde30 -File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-37.pyc 100644 root:root bd96d25fa809afe43a9fdfbaa394e5e3 -File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.opt-1.pyc 100644 root:root 0ba6317ec5ff4fa76385b123fe3e4526 -File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.opt-2.pyc 100644 root:root 92601c7dbba21c3efee4548688d7eeca -File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-37.pyc 100644 root:root eb67b0b490539a4bf3d0edb9509fccd8 -File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.opt-1.pyc 100644 root:root 0f5d2bbc7ae97c4b078b6c4e64a8eec1 -File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.opt-2.pyc 100644 root:root 26e888d2e66748e34f784c7a8512495a -File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-37.pyc 100644 root:root f465411f664295ce30b25c18d48ba400 +File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root 217a728759392b4d27c891b6fe9fa9eb +File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root 217a728759392b4d27c891b6fe9fa9eb +File: /usr/lib/python3/site-packages/strainer/__pycache__/__init__.cpython-39.pyc 100644 root:root 217a728759392b4d27c891b6fe9fa9eb +File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.opt-1.pyc 100644 root:root 6823e62238865df67551ffe08ae80add +File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.opt-2.pyc 100644 root:root d59ed6e1ee64ef0ea1c9755477801695 +File: /usr/lib/python3/site-packages/strainer/__pycache__/almostequal.cpython-39.pyc 100644 root:root c09a24b53dc1842719c7e1bf291e5cab +File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.opt-1.pyc 100644 root:root 54b9c1bc35cfe6d60544ac4c57f80214 +File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.opt-2.pyc 100644 root:root 7e5a69c075a062a1d96eecd77b6b2a9f +File: /usr/lib/python3/site-packages/strainer/__pycache__/case.cpython-39.pyc 100644 root:root 54b9c1bc35cfe6d60544ac4c57f80214 +File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-1.pyc 100644 root:root c65b6aec7da8cb5df19e6dd47ac753f3 +File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.opt-2.pyc 100644 root:root c65b6aec7da8cb5df19e6dd47ac753f3 +File: /usr/lib/python3/site-packages/strainer/__pycache__/doctypes.cpython-39.pyc 100644 root:root c65b6aec7da8cb5df19e6dd47ac753f3 +File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-1.pyc 100644 root:root fd35e99d1c6960741c2d0fd760883a2b +File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.opt-2.pyc 100644 root:root fd35e99d1c6960741c2d0fd760883a2b +File: /usr/lib/python3/site-packages/strainer/__pycache__/log.cpython-39.pyc 100644 root:root fd35e99d1c6960741c2d0fd760883a2b +File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.opt-1.pyc 100644 root:root ec75e690255b54c28958cb0f0b9d47fb +File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.opt-2.pyc 100644 root:root 69aa7bfb0f667c942f30919bb7d268c0 +File: /usr/lib/python3/site-packages/strainer/__pycache__/middleware.cpython-39.pyc 100644 root:root ec75e690255b54c28958cb0f0b9d47fb +File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.opt-1.pyc 100644 root:root 30d4203408bc9e1e1506ca5a680937a9 +File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.opt-2.pyc 100644 root:root 41f5e9ea08485ffd359113a7aa7cc763 +File: /usr/lib/python3/site-packages/strainer/__pycache__/operators.cpython-39.pyc 100644 root:root ef8634a86c6f635e1f7093700984be0f +File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.opt-1.pyc 100644 root:root ff892c5855e71c5e6825b3b3e6e1c8b5 +File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.opt-2.pyc 100644 root:root 72f1afdd432c99f4146be52a68b12488 +File: /usr/lib/python3/site-packages/strainer/__pycache__/validate.cpython-39.pyc 100644 root:root ff892c5855e71c5e6825b3b3e6e1c8b5 +File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.opt-1.pyc 100644 root:root 3bca48bab01966aa1851623aef38c52a +File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.opt-2.pyc 100644 root:root de1a54e7025d2f0a3a3dab508a708745 +File: /usr/lib/python3/site-packages/strainer/__pycache__/wellformed.cpython-39.pyc 100644 root:root 4df3c63b1b1fa5ee5012cfca432cabb9 +File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.opt-1.pyc 100644 root:root e895185594ec3157f9d1688769644ae0 +File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.opt-2.pyc 100644 root:root 83d68d6f42df8035775239d6ecf7e54f +File: /usr/lib/python3/site-packages/strainer/__pycache__/xhtmlify.cpython-39.pyc 100644 root:root 8aee48d24f9786e766bfc77fbb1272c6 File: /usr/lib/python3/site-packages/strainer/almostequal.py 100644 root:root 8ecbc9d4b654117b67b38383747bdefb @@ -134,2 +134,2 @@ File: /usr/lib/python3/site-packages/strainer/xhtmlify.py 100644 root:root 2b5bd65c4f1889fae10b8bc959dc0c08 -RPMIdentity: 93dde3e8f22b43ff66adfee252f662ee0db1d20e6aef3ce21157f462daa17d38ba710be695adaa81feedf9b05047e47118103a4ee895d702cd7e7d84e201d12e +RPMIdentity: da1f97891958ea87010c48c9715e0e0f1a8375018e76379b4cb487bb37e64ee6df80f8b00b31201a22abed79fbc05a9d4bc3fe86a3bb881382b906ba746588b6