<86>Jan 6 00:59:36 userdel[3633758]: delete user 'rooter' <86>Jan 6 00:59:36 userdel[3633758]: removed group 'rooter' owned by 'rooter' <86>Jan 6 00:59:36 groupadd[3633776]: group added to /etc/group: name=rooter, GID=954 <86>Jan 6 00:59:36 groupadd[3633776]: group added to /etc/gshadow: name=rooter <86>Jan 6 00:59:36 groupadd[3633776]: new group: name=rooter, GID=954 <86>Jan 6 00:59:36 useradd[3633822]: new user: name=rooter, UID=954, GID=954, home=/root, shell=/bin/bash <86>Jan 6 00:59:36 userdel[3633889]: delete user 'builder' <86>Jan 6 00:59:36 userdel[3633889]: removed group 'builder' owned by 'builder' <86>Jan 6 00:59:36 groupadd[3633978]: group added to /etc/group: name=builder, GID=955 <86>Jan 6 00:59:36 groupadd[3633978]: group added to /etc/gshadow: name=builder <86>Jan 6 00:59:36 groupadd[3633978]: new group: name=builder, GID=955 <86>Jan 6 00:59:36 useradd[3634039]: new user: name=builder, UID=955, GID=955, home=/usr/src, shell=/bin/bash <13>Jan 6 00:59:40 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626058413 installed <13>Jan 6 00:59:40 rpmi: libexpat-2.4.1-alt2 sisyphus+291954.100.1.1 1639496332 installed <13>Jan 6 00:59:40 rpmi: libp11-kit-0.23.15-alt2 sisyphus+287552.300.2.1 1634541413 installed <13>Jan 6 00:59:40 rpmi: libtasn1-4.17.0-alt2 sisyphus+285706.100.1.1 1632328563 installed <13>Jan 6 00:59:40 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Jan 6 00:59:40 rpmi: alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Jan 6 00:59:40 rpmi: ca-certificates-2021.10.06-alt1 sisyphus+286526.200.1.1 1633528578 installed <13>Jan 6 00:59:40 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Jan 6 00:59:40 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+287552.300.2.1 1634541413 installed <13>Jan 6 00:59:40 rpmi: libcrypto1.1-1.1.1l-alt2 sisyphus+287339.100.1.1 1634383589 installed <13>Jan 6 00:59:40 rpmi: libssl1.1-1.1.1l-alt2 sisyphus+287339.100.1.1 1634383589 installed <13>Jan 6 00:59:40 rpmi: python3-3.9.9-alt1 sisyphus+291125.100.2.1 1638385948 installed <13>Jan 6 00:59:41 rpmi: python3-base-3.9.9-alt1 sisyphus+291125.100.2.1 1638385948 installed <13>Jan 6 00:59:41 rpmi: tests-for-installed-python3-pkgs-0.1.18-alt1 sisyphus+290420.100.1.1 1637593698 installed <13>Jan 6 00:59:41 rpmi: rpm-build-python3-0.1.18-alt1 sisyphus+290420.100.1.1 1637593698 installed <13>Jan 6 00:59:45 rpmi: python3-module-six-1.16.0-alt1 sisyphus+283489.100.2.1 1629527308 installed <13>Jan 6 00:59:45 rpmi: python3-module-pyasn1-0.4.8-alt2 sisyphus+270533.4400.6.1 1619685081 installed <13>Jan 6 00:59:45 rpmi: python3-module-pkg_resources-1:59.6.0-alt1 sisyphus+291992.100.1.1 1639555592 installed <13>Jan 6 00:59:45 rpmi: python3-module-passlib-1.7.4-alt1 sisyphus+260996.100.1.1 1604554811 installed <13>Jan 6 00:59:45 rpmi: python3-module-idna-3.3-alt1 sisyphus+288800.100.1.1 1635936399 installed <13>Jan 6 00:59:45 rpmi: python3-module-werkzeug-0.16.1-alt2 sisyphus+276021.100.1.2 1624853135 installed <13>Jan 6 00:59:45 rpmi: python3-module-markupsafe-1:2.0.1-alt2 sisyphus+279531.100.1.1 1626556142 installed <13>Jan 6 00:59:45 rpmi: python3-module-jinja2-3.0.1-alt1 sisyphus+274841.1100.1.1 1624295237 installed <13>Jan 6 00:59:45 rpmi: python3-module-itsdangerous-2.0.1-alt1 sisyphus+271651.300.3.1 1621569018 installed <13>Jan 6 00:59:45 rpmi: python3-module-click-7.1.2-alt2 sisyphus+275908.100.1.1 1624804412 installed <13>Jan 6 00:59:45 rpmi: python3-module-charset-normalizer-2.0.6-alt1 sisyphus+286375.600.1.1 1633362792 installed <13>Jan 6 00:59:45 rpmi: python3-module-pycparser-2.20-alt2 sisyphus+278697.200.1.1 1626167452 installed <13>Jan 6 00:59:45 rpmi: python3-module-cffi-1.15.0-alt1 sisyphus+292084.100.2.1 1639731625 installed <13>Jan 6 00:59:45 rpmi: python3-module-cryptography-36.0.0-alt1 sisyphus+291184.200.1.1 1638452739 installed <13>Jan 6 00:59:45 rpmi: python3-module-openssl-20.0.1-alt1 sisyphus+267607.100.2.1 1615475362 installed <13>Jan 6 00:59:45 rpmi: python3-module-urllib3-2:1.26.6-alt3 sisyphus+283224.100.2.2 1629257365 installed <13>Jan 6 00:59:45 rpmi: libpython-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:45 rpmi: python2-base-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:45 rpmi: python-modules-encodings-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:45 rpmi: python-modules-compiler-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:45 rpmi: python-modules-email-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:45 rpmi: python-modules-unittest-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: python-modules-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: libffi7-1:3.3-alt2 sisyphus+287337.160.5.1 1634396592 installed <13>Jan 6 00:59:46 rpmi: python-modules-ctypes-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: python-modules-multiprocessing-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: python-modules-logging-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: python-tools-2to3-2.7.18-alt8 sisyphus+286676.100.1.1 1633726916 installed <13>Jan 6 00:59:46 rpmi: python3-module-requests-2.26.0-alt2 sisyphus+286450.100.1.1 1633447383 installed <13>Jan 6 00:59:46 rpmi: python3-module-netlib-0.11-alt1.git20140816.1.2 sisyphus+227468.500.2.2 1555755765 installed <13>Jan 6 00:59:46 rpmi: python3-module-flask-1.1.2-alt2 sisyphus+275929.100.1.1 1624805971 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-pathod-0.11-alt2.nosrc.rpm (w1.gzdio) <13>Jan 6 00:59:49 rpmi: libpython3-3.9.9-alt1 sisyphus+291125.100.2.1 1638385948 installed <13>Jan 6 00:59:49 rpmi: libncurses-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Jan 6 00:59:49 rpmi: libtinfo-devel-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Jan 6 00:59:49 rpmi: libncurses-devel-6.3.20211106-alt1 sisyphus+289273.100.1.1 1636477028 installed <13>Jan 6 00:59:49 rpmi: python3-dev-3.9.9-alt1 sisyphus+291125.100.2.1 1638385948 installed <13>Jan 6 00:59:50 rpmi: python3-module-setuptools-1:59.6.0-alt1 sisyphus+291992.100.1.1 1639555592 installed Installing python3-module-pathod-0.11-alt2.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.93342 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-pathod-0.11 + echo 'Source #0 (python3-module-pathod-0.11.tar):' Source #0 (python3-module-pathod-0.11.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-pathod-0.11.tar + cd python3-module-pathod-0.11 + /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 ./test/tutils.py RefactoringTool: Refactored ./test/test_utils.py RefactoringTool: No changes to ./test/test_test.py RefactoringTool: No changes to ./test/test_pathod.py RefactoringTool: Refactored ./test/test_pathoc.py RefactoringTool: Refactored ./test/test_language.py --- ./test/tutils.py (original) +++ ./test/tutils.py (refactored) @@ -103,9 +103,9 @@ :kwargs Arguments to be passed to the callable. """ try: - apply(obj, args, kwargs) - except Exception, v: - if isinstance(exc, basestring): + obj(*args, **kwargs) + except Exception as v: + if isinstance(exc, str): if exc.lower() in str(v).lower(): return else: --- ./test/test_utils.py (original) +++ ./test/test_utils.py (refactored) @@ -29,7 +29,7 @@ def test_inner_repr(): assert utils.inner_repr("\x66") == "\x66" - assert utils.inner_repr(u"foo") == "foo" + assert utils.inner_repr("foo") == "foo" def test_escape_unprintables(): --- ./test/test_pathoc.py (original) +++ ./test/test_pathoc.py (refactored) @@ -1,5 +1,5 @@ import json -import cStringIO +import io import re from libpathod import pathoc, test, version, pathod, language @@ -57,7 +57,7 @@ c.connect() if timeout: c.settimeout(timeout) - s = cStringIO.StringIO() + s = io.StringIO() for i in requests: r = language.parse_requests(i)[0] if explain: @@ -155,13 +155,13 @@ def test_connect_fail(self): to = ("foobar", 80) c = pathoc.Pathoc(("127.0.0.1", self.d.port)) - c.rfile, c.wfile = cStringIO.StringIO(), cStringIO.StringIO() + c.rfile, c.wfile = io.StringIO(), io.StringIO() tutils.raises("connect failed", c.http_connect, to) - c.rfile = cStringIO.StringIO( + c.rfile = io.StringIO( "HTTP/1.1 500 OK\r\n" ) tutils.raises("connect failed", c.http_connect, to) - c.rfile = cStringIO.StringIO( + c.rfile = io.StringIO( "HTTP/1.1 200 OK\r\n" ) c.http_connect(to) --- ./test/test_language.py (original) +++ ./test/test_language.py (refactored) @@ -1,5 +1,5 @@ import os -import cStringIO +import io from libpathod import language, utils import tutils @@ -288,7 +288,7 @@ assert v2.value.val == v3.value.val def test_internal_response(self): - d = cStringIO.StringIO() + d = io.StringIO() s = language.make_error_response("foo") language.serve(s, d, {}) @@ -444,7 +444,7 @@ assert v.offset == "r" def test_serve(self): - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:i0,'foo'") assert language.serve(r, s, {}) @@ -543,7 +543,7 @@ assert r[1].method.string() == "GET" def test_render(self): - s = cStringIO.StringIO() + s = io.StringIO() r = parse_request("GET:'/foo'") assert language.serve(r, s, {}, "foo.com") @@ -594,76 +594,76 @@ def test_send_chunk(self): v = "foobarfoobar" for bs in range(1, len(v)+2): - s = cStringIO.StringIO() + s = io.StringIO() language.send_chunk(s, v, bs, 0, len(v)) assert s.getvalue() == v for start in range(len(v)): for end in range(len(v)): - s = cStringIO.StringIO() + s = io.StringIO() language.send_chunk(s, v, bs, start, end) assert s.getvalue() == v[start:end] def test_write_values_inject(self): tst = "foo" - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(0, "inject", "aaa")], blocksize=5) assert s.getvalue() == "aaafoo" - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5) assert s.getvalue() == "faaaoo" - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(1, "inject", "aaa")], blocksize=5) assert s.getvalue() == "faaaoo" def test_write_values_disconnects(self): - s = cStringIO.StringIO() + s = io.StringIO() tst = "RefactoringTool: No changes to ./test/test_app.py RefactoringTool: No changes to ./setup.py RefactoringTool: No changes to ./libpathod/version.py RefactoringTool: Refactored ./libpathod/utils.py foo"*100 language.write_values(s, [tst], [(0, "disconnect")], blocksize=5) assert not s.getvalue() def test_write_values(self): tst = "foobarvoing" - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], []) assert s.getvalue() == tst for bs in range(1, len(tst) + 2): for off in range(len(tst)): - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(off, "disconnect")], blocksize=bs) assert s.getvalue() == tst[:off] def test_write_values_pauses(self): tst = "".join(str(i) for i in range(10)) for i in range(2, 10): - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(2, "pause", 0), (1, "pause", 0)], blocksize=i) assert s.getvalue() == tst for i in range(2, 10): - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, [tst], [(1, "pause", 0)], blocksize=i) assert s.getvalue() == tst tst = ["".join(str(i) for i in range(10))]*5 for i in range(2, 10): - s = cStringIO.StringIO() + s = io.StringIO() language.write_values(s, tst[:], [(1, "pause", 0)], blocksize=i) assert s.getvalue() == "".join(tst) def test_write_values_after(self): - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:da") language.serve(r, s, {}) - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:pa,0") language.serve(r, s, {}) - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:ia,'xx'") language.serve(r, s, {}) assert s.getvalue().endswith('xx') @@ -689,7 +689,7 @@ assert "OK" in [i[:] for i in r.preamble({})] def test_render(self): - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:m'msg'") assert language.serve(r, s, {}) @@ -699,13 +699,13 @@ assert "p0" not in s.spec() def test_raw(self): - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:b'foo'") language.serve(r, s, {}) v = s.getvalue() assert "Content-Length" in v - s = cStringIO.StringIO() + s = io.StringIO() r = language.parse_response("400:b'foo':r") language.serve(r, s, {}) v = s.getvalue() @@ -713,7 +713,7 @@ def test_length(self): def testlen(x): - s = cStringIO.StringIO() + s = io.StringIO() language.serve(x, s, {}) assert x.length({}) == len(s.getvalue()) testlen(language.parse_response("400:m'msg':r")) @@ -722,7 +722,7 @@ def test_maximum_length(self): def testlen(x): - s = cStringIO.StringIO() + s = io.StringIO() m = x.maximum_length({}) language.serve(x, s, {}) assert m >= len(s.getvalue()) @@ -742,7 +742,7 @@ ) try: language.parse_response("400'msg':b:") - except language.ParseException, v: + except language.ParseException as v: assert v.marked() assert str(v) --- ./libpathod/utils.py (original) +++ ./libpathod/utils.py (refactored) @@ -35,7 +35,7 @@ return int(s) except ValueError: pass - for i in SIZE_UNITS.keys(): + for i in list(SIZE_UNITS.keys()): if s.endswith(i): try: return int(s[:-1]) * SIZE_UNITS[i] @@ -73,7 +73,7 @@ Returns the inner portion of a string or unicode repr (i.e. without the quotes) """ - if isinstance(s, unicode): + if isinstance(s, str): return repr(s)[2:-1] else: return repr(s)[1:RefactoringTool: Refactored ./libpathod/test.py RefactoringTool: Refactored ./libpathod/pathod.py RefactoringTool: Refactored ./libpathod/pathoc.py -1] @@ -106,7 +106,7 @@ """ fullpath = os.path.join(self.dirname, path) if not os.path.exists(fullpath): - raise ValueError, "dataPath: %s does not exist."%fullpath + raise ValueError("dataPath: %s does not exist."%fullpath) return fullpath @@ -117,7 +117,7 @@ pid = os.fork() if pid > 0: sys.exit(0) - except OSError, e: + except OSError as e: sys.stderr.write("fork #1 failed: (%d) %s\n" % (e.errno, e.strerror)) sys.exit(1) os.chdir("/") @@ -127,7 +127,7 @@ pid = os.fork() if pid > 0: sys.exit(0) - except OSError, e: + except OSError as e: sys.stderr.write("fork #2 failed: (%d) %s\n" % (e.errno, e.strerror)) sys.exit(1) si = open(stdin, 'rb') --- ./libpathod/test.py (original) +++ ./libpathod/test.py (refactored) @@ -1,8 +1,8 @@ import threading -import Queue +import queue import requests import urllib3 -import pathod +from . import pathod urllib3.disable_warnings() @@ -10,7 +10,7 @@ class Daemon: IFACE = "127.0.0.1" def __init__(self, ssl=None, **daemonargs): - self.q = Queue.Queue() + self.q = queue.Queue() self.thread = _PaThread(self.IFACE, self.q, ssl, daemonargs) self.thread.start() self.port = self.q.get(True, 5) --- ./libpathod/pathod.py (original) +++ ./libpathod/pathod.py (refactored) @@ -1,4 +1,4 @@ -import urllib +import urllib.request, urllib.parse, urllib.error import threading import logging import os @@ -113,7 +113,7 @@ cipher_list=self.server.ssloptions.ciphers, method=self.server.ssloptions.sslversion, ) - except tcp.NetLibError, v: + except tcp.NetLibError as v: s = str(v) self.info(s) return False, dict(type="error", msg=s) @@ -165,7 +165,7 @@ self.rfile, headers, None, method, None, True ) - except http.HttpError, s: + except http.HttpError as s: s = str(s) self.info(s) return False, dict(type="error", msg=s) @@ -177,11 +177,11 @@ return again, retlog if not self.server.nocraft and path.startswith(self.server.craftanchor): - spec = urllib.unquote(path)[len(self.server.craftanchor):] + spec = urllib.parse.unquote(path)[len(self.server.craftanchor):] self.info("crafting spec: %s" % spec) try: crafted = language.parse_response(spec) - except language.ParseException, v: + except language.ParseException as v: self.info("Parse error: %s" % v.msg) crafted = language.make_error_response( "Parse Error", @@ -232,7 +232,7 @@ cipher_list=self.server.ssloptions.ciphers, method=self.server.ssloptions.sslversion, ) - except tcp.NetLibError, v: + except tcp.NetLibError as v: s = str(v) self.server.add_log( dict( @@ -433,21 +433,21 @@ hexdump = args.hexdump, explain = args.explain, ) - except PathodError, v: - print >> sys.stderr, "Error: %s"%v + except PathodError as v: + print("Error: %s"%v, file=sys.stderr) sys.exit(1) - except language.FileAccessDenied, v: - print >> sys.stderr, "Error: %s"%v + except language.FileAccessDenied as v: + print("Error: %s"%v, file=sys.stderr) if args.daemonize: utils.daemonize() try: - print "%s listening on %s:%s"%( + print("%s listening on %s:%s"%( version.NAMEVERSION, pd.address.host, pd.address.port - ) + )) pd.serve_forever() except KeyboardInterrupt: pass --- ./libpathod/pathoc.py (original) +++ ./libpathod/pathoc.py (refactored) @@ -5,8 +5,8 @@ from netlib import tcp, http, certutils import netlib.utils -import language -import utils +from . import language +from . import utils import OpenSSL.crypto @@ -88,7 +88,7 @@ method=self.sslversion, cipher_list = self.ciphers ) - except tcp.NetLibError, v: + except tcp.NetLibError as v: raise PathocError(str(v)) self.sslinfo = SSLInfo( self.connection.get_peer_cert_chain(), @@ -110,18 +110,18 @@ return Response(*ret) def _show_summary(self, fp, httpversion, code, msg, headers, content): - print >> fp, "<< %s %s: %s bytes"%( + print("<< %s %s: %s bytes"%( code, utils.xrepr(msg), len(content) - ) + ), file=fp) def _show(self, fp, header, data, hexdump): if hexdump: - print >> fp, "%s (hex dump):"%header + print("%s (hex dump):"%header, file=fp) for line in netlib.utils.hexdump(data): - print >> fp, "\t%s %s %s"%line + print("\t%s %s %s"%line, file=fp) else: - print >> fp, "%s (unprintables escaped):"%header - print >> fp, netlib.utils.cleanBin(data) + print("%s (unprintables escaped):"%header, file=fp) + print(netlib.utils.cleanBin(data), file=fp) def print_request( self, @@ -163,21 +163,21 @@ ) self.wfile.flush() resp = http.read_response(self.rfile, r.method.string(), None) - except http.HttpError, v: - print >> fp, "<< HTTP Error:", v.message + except http.HttpError as v: + print("<< HTTP Error:", v.message, file=fp) except tcp.NetLibTimeout: if ignoretimeout: return - print >> fp, "<<", "Timeout" + print("<<", "Timeout", file=fp) except tcp.NetLibDisconnect: # pragma: nocover - print >> fp, "<<", "Disconnect" + print("<<", "Disconnect", file=fp) if req: if ignorecodes and resp and resp[1] in ignorecodes: return if explain: - print >> fp, ">> Spec:", r.spec() + print(">> Spec:", r.spec(), file=fp) if showreq: self._show(fp, ">> Request", self.wfile.get_log(), hexdump) @@ -189,34 +189,34 @@ self._show_summary(fp, *resp) if showssl and self.sslinfo: - print >> fp, "Cipher: %s, %s bit, %s"%self.sslinfo.cipher - print >> fp, "SSL certificate chain:\n" + print("Cipher: %s, %s bit, %s"%self.sslinfo.cipher, file=fp) + print("SSL certificate chain:\n", file=fp) for i in self.sslinfo.certchain: - print >> fp, "\tSubject: ", + print("\tSubject: ", end=' ', file=fp) for cn in i.get_subject().get_components(): - print >> fp, "%s=%s"%cn, - print >> fp - print >> fp, "\tIssuer: ", + print("%s=%s"%cn, end=' ', file=fp) + print(file=fp) + print("\tIssuer: ", end=' ', file=fp) for cn in i.get_issuer().get_components(): - print >> fp, "%s=%s"%cn, - print >> fp - print >> fp, "\tVersion: %s"%i.get_version() - print >> fp, "\tValidity: %s - %s"%( + print("%s=%s"%cn, end=' ', file=fp) + print(file=fp) + print("\tVersion: %s"%i.get_version(), file=fp) + print("\tValidity: %s - %s"%( i.get_notBefore(), i.get_notAfter() - ) - print >> fp, "\tSerial: %s"%i.get_serial_number() - print >> fp, "\tAlgorithm: %s"%i.get_signatRefactoringTool: Refactored ./libpathod/language.py ure_algorithm() + ), file=fp) + print("\tSerial: %s"%i.get_serial_number(), file=fp) + print("\tAlgorithm: %s"%i.get_signature_algorithm(), file=fp) pk = i.get_pubkey() types = { OpenSSL.crypto.TYPE_RSA: "RSA", OpenSSL.crypto.TYPE_DSA: "DSA" } t = types.get(pk.type(), "Uknown") - print >> fp, "\tPubkey: %s bit %s"%(pk.bits(), t) + print("\tPubkey: %s bit %s"%(pk.bits(), t), file=fp) s = certutils.SSLCert(i) if s.altnames: - print >> fp, "\tSANs:", " ".join(s.altnames) - print >> fp + print("\tSANs:", " ".join(s.altnames), file=fp) + print(file=fp) return True @@ -227,7 +227,7 @@ cnt = 0 while 1: if trycount > args.memolimit: - print >> sys.stderr, "Memo limit exceeded..." + print("Memo limit exceeded...", file=sys.stderr) return cnt += 1 @@ -262,8 +262,8 @@ trycount = 0 try: p.connect(args.connect_to) - except (tcp.NetLibError, PathocError), v: - print >> sys.stderr, str(v) + except (tcp.NetLibError, PathocError) as v: + print(str(v), file=sys.stderr) sys.exit(1) if args.timeout: p.settimeout(args.timeout) --- ./libpathod/language.py (original) +++ ./libpathod/language.py (refactored) @@ -6,10 +6,11 @@ import time import copy import abc -import contrib.pyparsing as pp +from . import contrib.pyparsing as pp from netlib import http_status, tcp, http_uastrings -import utils +from . import utils +from functools import reduce BLOCKSIZE = 1024 TRUNCATE = 1024 @@ -233,11 +234,10 @@ return "<%s"%self.path -class _Token(object): +class _Token(object, metaclass=abc.ABCMeta): """ A specification token. Tokens are immutable. """ - __metaclass__ = abc.ABCMeta @abc.abstractmethod def expr(klass): # pragma: no cover @@ -323,12 +323,12 @@ u = reduce( operator.or_, - [pp.Literal(i) for i in utils.SIZE_UNITS.keys()] + [pp.Literal(i) for i in list(utils.SIZE_UNITS.keys())] ).leaveWhitespace() e = e + pp.Optional(u, default=None) s = pp.Literal(",").suppress() - s += reduce(operator.or_, [pp.Literal(i) for i in DATATYPES.keys()]) + s += reduce(operator.or_, [pp.Literal(i) for i in list(DATATYPES.keys())]) e += pp.Optional(s, default="bytes") return e.setParseAction(lambda x: klass(*x)) @@ -500,7 +500,7 @@ class ShortcutUserAgent(_Header): def __init__(self, value): self.specvalue = value - if isinstance(value, basestring): + if isinstance(value, str): value = ValueLiteral(http_uastrings.get_by_shortcut(value)[2]) _Header.__init__(self, ValueLiteral("User-Agent"), value) @@ -553,7 +553,7 @@ parseAll=True ) ) - except pp.ParseException, v: + except pp.ParseException as v: raise ParseException(v.msg, v.line, v.col) @classmethod @@ -577,7 +577,7 @@ class Path(_Component): def __init__(self, value): - if isinstance(value, basestring): + if isinstance(value, str): value = ValueLiteral(value) self.value = value @@ -614,7 +614,7 @@ # If it's a string, we were passed one of the methods, so we upper-case # it to be canonical. The user can specify a different case by using a # string value literal. - if isinstance(value, basestring): + if isinstance(value, str): value = ValueLiteral(value.upper()) self.value = value @@ -792,8 +792,7 @@ retuRefactoringTool: Refactored ./libpathod/contrib/pyparsing.py rn InjectAt(self.offset, self.value.freeze(settings)) -class _Message(object): - __metaclass__ = abc.ABCMeta +class _Message(object, metaclass=abc.ABCMeta): version = "HTTP/1.1" def __init__(self, tokens): @@ -1067,7 +1066,7 @@ raise ParseException("Spec must be valid ASCII.", 0, 0) try: return Response(Response.expr().parseString(s, parseAll=True)) - except pp.ParseException, v: + except pp.ParseException as v: raise ParseException(v.msg, v.line, v.col) @@ -1086,5 +1085,5 @@ ) ).parseString(s, parseAll=True) return [Request(i) for i in parts] - except pp.ParseException, v: + except pp.ParseException as v: raise ParseException(v.msg, v.line, v.col) --- ./libpathod/contrib/pyparsing.py (original) +++ ./libpathod/contrib/pyparsing.py (refactored) @@ -95,15 +95,15 @@ PY_3 = sys.version.startswith('3') if PY_3: _MAX_INT = sys.maxsize - basestring = str - unichr = chr + str = str + chr = chr _ustr = str # build list of single arg builtins, that can be used as parse actions singleArgBuiltins = [sum, len, sorted, reversed, list, tuple, set, any, all, min, max] else: - _MAX_INT = sys.maxint + _MAX_INT = sys.maxsize range = xrange def _ustr(obj): @@ -111,7 +111,7 @@ str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It then < returns the unicode object | encodes it with the default encoding | ... >. """ - if isinstance(obj,unicode): + if isinstance(obj,str): return obj try: @@ -125,7 +125,7 @@ # unicode object (being a subclass of basestring) count as a "string # object"? # If so, then return a unicode object: - return unicode(obj) + return str(obj) # Else encode it... but how? There are many choices... :) # Replace unprintables with escape codes? #return unicode(obj).encode(sys.getdefaultencoding(), 'backslashreplace_errors') @@ -135,7 +135,7 @@ # build list of single arg builtins, tolerant of Python version, that can be used as parse actions singleArgBuiltins = [] - import __builtin__ + import builtins for fname in "sum len sorted reversed list tuple set any all min max".split(): try: singleArgBuiltins.append(getattr(__builtin__,fname)) @@ -301,7 +301,7 @@ name = _ustr(name) # will always return a str, but use _ustr for consistency self.__name = name if not toklist in (None,'',[]): - if isinstance(toklist,basestring): + if isinstance(toklist,str): toklist = [ toklist ] if asList: if isinstance(toklist,ParseResults): @@ -370,16 +370,16 @@ def iterkeys( self ): """Returns all named result keys.""" if hasattr(self.__tokdict, "iterkeys"): - return self.__tokdict.iterkeys() + return iter(self.__tokdict.keys()) else: return iter(self.__tokdict) def itervalues( self ): """Returns all named result values.""" - return (self[k] for k in self.iterkeys()) + return (self[k] for k in self.keys()) def iteritems( self ): - return ((k, self[k]) for k in self.iterkeys()) + return ((k, self[k]) for k in self.keys()) if PY_3: keys = iterkeys @@ -388,15 +388,15 @@ else: def keys( self ): """Returns all named result keys.""" - return list(self.iterkeys()) + return list(self.keys()) def values( self ): """Returns all named result values.""" - return list(self.itervalues()) + return list(self.values()) def items( self ): """Returns all named result keys and values as a list of tuples.""" - return list(self.iteritems()) + return list(self.items()) def haskeys( self ): """Since keys() returns an iterator, this method is helpful in bypassing @@ -483,7 +483,7 @@ if other.__tokdict: offset = len(self.__toklist) addoffset = ( lambda a: (a<0 and offset) or (a+offset) ) - otheritems = other.__tokdict.items() + otheritems = list(other.__tokdict.items()) otherdictitems = [(k, _ParseResultsWithOffset(v[0],addoffset(v[1])) ) for (k,vlist) in otheritems for v in vlist] for k,v in otherdictitems: @@ -535,9 +535,9 @@ def asDict( self ): """Returns the named parse results as dictionary.""" if PY_3: - return dict( self.items() ) - else: - return dict( self.iteritems() ) + return dict( list(self.items()) ) + else: + return dict( iter(self.items()) ) def copy( self ): """Returns a new copy of a C{ParseResults} object.""" @@ -552,7 +552,7 @@ """Returns the parse results as XML. Tags are created for tokens and lists that have defined results names.""" nl = "\n" out = [] - namedItems = dict((v[1],k) for (k,vlist) in self.__tokdict.items() + namedItems = dict((v[1],k) for (k,vlist) in list(self.__tokdict.items()) for v in vlist) nextLevelIndent = indent + " " @@ -609,7 +609,7 @@ return "".join(out) def __lookup(self,sub): - for k,vlist in self.__tokdict.items(): + for k,vlist in list(self.__tokdict.items()): for v,loc in vlist: if sub is v: return k @@ -627,8 +627,8 @@ return None elif (len(self) == 1 and len(self.__tokdict) == 1 and - self.__tokdict.values()[0][0][1] in (0,-1)): - return self.__tokdict.keys()[0] + list(self.__tokdict.values())[0][0][1] in (0,-1)): + return list(self.__tokdict.keys())[0] else: return None @@ -722,10 +722,10 @@ print (("Match " + _ustr(expr) + " at loc " + _ustr(loc) + "(%d,%d)" % ( lineno(loc,instring), col(loc,instring) ))) def _defaultSuccessDebugAction( instring, startloc, endloc, expr, toks ): - print ("Matched " + _ustr(expr) + " -> " + str(toks.asList())) + print(("Matched " + _ustr(expr) + " -> " + str(toks.asList()))) def _defaultExceptionDebugAction( instring, loc, expr, exc ): - print ("Exception raised:" + _ustr(exc)) + print(("Exception raised:" + _ustr(exc))) def nullDebugAction(*args): """'Do-nothing' debug action, to suppress debugging output during parsing.""" @@ -1211,7 +1211,7 @@ def __add__(self, other ): """Implementation of + operator - returns C{L{And}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1221,7 +1221,7 @@ def __radd__(self, other ): """Implementation of + operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1231,7 +1231,7 @@ def __sub__(self, other): """Implementation of - operator, returns C{L{And}} with error stop""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1241,7 +1241,7 @@ def __rsub__(self, other ): """Implementation of - operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1322,7 +1322,7 @@ def __or__(self, other ): """Implementation of | operator - returns C{L{MatchFirst}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1332,7 +1332,7 @@ def __ror__(self, other ): """Implementation of | operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1342,7 +1342,7 @@ def __xor__(self, other ): """Implementation of ^ operator - returns C{L{Or}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1352,7 +1352,7 @@ def __rxor__(self, other ): """Implementation of ^ operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1362,7 +1362,7 @@ def __and__(self, other ): """Implementation of & operator - returns C{L{Each}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1372,7 +1372,7 @@ def __rand__(self, other ): """Implementation of & operator when left operand is not a C{L{ParserElement}}""" - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) if not isinstance( other, ParserElement ): warnings.warn("Cannot combine element of type %s with ParserElement" % type(other), @@ -1499,7 +1499,7 @@ def __eq__(self,other): if isinstance(other, ParserElement): return self is other or self.__dict__ == other.__dict__ - elif isinstance(other, basestring): + elif isinstance(other, str): try: self.parseString(_ustr(other), parseAll=True) return True @@ -1799,7 +1799,7 @@ """The parameters C{pattern} and C{flags} are passed to the C{re.compile()} function as-is. See the Python C{re} module for an explanation of the acceptable patterns and flags.""" super(Regex,self).__init__() - if isinstance(pattern, basestring): + if isinstance(pattern, str): if len(pattern) == 0: warnings.warn("null string passed to Regex; use Empty() instead", SyntaxWarning, stacklevel=2) @@ -1944,7 +1944,7 @@ # strip off quotes ret = ret[self.quoteCharLen:-self.endQuoteCharLen] - if isinstance(ret,basestring): + if isinstance(ret,str): # replace escaped characters if self.escChar: ret = re.sub(self.escCharReplacePattern,"\g<1>",ret) @@ -2223,12 +2223,12 @@ if isinstance( exprs, _generatorType ): exprs = list(exprs) - if isinstance( exprs, basestring ): + if isinstance( exprs, str ): self.exprs = [ Literal( exprs ) ] elif isinstance( exprs, collections.Sequence ): # if sequence of strings provided, wrap with Literal - if all(isinstance(expr, basestring) for expr in exprs): - exprs = map(Literal, exprs) + if all(isinstance(expr, str) for expr in exprs): + exprs = list(map(Literal, exprs)) self.exprs = list(exprs) else: try: @@ -2368,7 +2368,7 @@ return loc, resultlist def __iadd__(self, other ): - if isinstance( other, basestring ): + if isinstance( other, str ): other = Literal( other ) return self.append( other ) #And( [ self, other ] ) @@ -2431,7 +2431,7 @@ return maxMatchExp._parse( instring, loc, doActions ) def __ixor__(self, other ): - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) return self.append( other ) #Or( [ self, other ] ) @@ -2486,7 +2486,7 @@ raise ParseException(instring, loc, "no defined alternatives to match", self) def __ior__(self, other ): - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass( other ) return self.append( other ) #MatchFirst( [ self, other ] ) @@ -2564,13 +2564,13 @@ finalResults = ParseResults([]) for r in resultlist: dups = {} - for k in r.keys(): + for k in list(r.keys()): if k in finalResults: tmp = ParseResults(finalResults[k]) tmp += ParseResults(r[k]) dups[k] = tmp finalResults += ParseResults(r) - for k,v in dups.items(): + for k,v in list(dups.items()): finalResults[k] = v return loc, finalResults @@ -2593,7 +2593,7 @@ """Abstract subclass of C{ParserElement}, for combining and post-processing parsed tokens.""" def __init__( self, expr, savelist=False ): super(ParseElementEnhance,self).__init__(savelist) - if isinstance( expr, basestring ): + if isinstance( expr, str ): expr = Literal(expr) self.expr = expr self.strRepr = None @@ -2836,7 +2836,7 @@ self.mayIndexError = False self.includeMatch = include self.asList = False - if failOn is not None and isinstance(failOn, basestring): + if failOn is not None and isinstance(failOn, str): self.failOn = Literal(failOn) else: self.failOn = failOn @@ -2903,7 +2903,7 @@ super(Forward,self).__init__( other, savelist=False ) def __lshift__( self, other ): - if isinstance( other, basestring ): + if isinstance( other, str ): other = ParserElement.literalStringClass(other) self.expr = other self.mayReturnEmpty = other.mayReturnEmpty @@ -3083,7 +3083,7 @@ """Decorator for debugging parse actions.""" f = _trim_arity(f) def z(*paArgs): - thisFunc = f.func_name + thisFunc = f.__name__ s,l,t = paArgs[-3:] if len(paArgs)>3: thisFunc = paArgs[0].__class__.__name__ + '.' + thisFunc @@ -3228,7 +3228,7 @@ masks = ( lambda a,b: b.startswith(a) ) parseElementClass = Literal - if isinstance(strs,basestring): + if isinstance(strs,str): symbols = strs.split() elif isinstance(strs, collections.Sequence): symbols = list(strs[:]) @@ -3334,8 +3334,8 @@ stringEnd = StringEnd().setName("stringEnd") _escapedPunc = Word( _bslash,RefactoringTool: Refactored ./libpathod/cmdline.py r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1]) -_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16))) -_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8))) +_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:chr(int(t[0].lstrip(r'\0x'),16))) +_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:chr(int(t[0][1:],8))) _singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | Word(printables, excludeChars=r'\]', exact=1) _charRange = Group(_singleChar + Suppress("-") + _singleChar) _reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]" @@ -3357,7 +3357,7 @@ a range of any of the above, separated by a dash ('a-z', etc.) any combination of the above ('aeiouy', 'a-zA-Z0-9_$', etc.) """ - _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1)) + _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(chr(c) for c in range(ord(p[0]),ord(p[1])+1)) try: return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body) except: @@ -3425,7 +3425,7 @@ def _makeTags(tagStr, xml): """Internal helper to construct opening and closing tag expressions, given a tag name""" - if isinstance(tagStr,basestring): + if isinstance(tagStr,str): resname = tagStr tagStr = Keyword(tagStr, caseless=not xml) else: @@ -3481,7 +3481,7 @@ if args: attrs = args[:] else: - attrs = attrDict.items() + attrs = list(attrDict.items()) attrs = [(k,v) for k,v in attrs] def pa(s,l,tokens): for attrName,attrValue in attrs: @@ -3600,7 +3600,7 @@ if opener == closer: raise ValueError("opening and closing strings cannot be the same") if content is None: - if isinstance(opener,basestring) and isinstance(closer,basestring): + if isinstance(opener,str) and isinstance(closer,str): if len(opener) == 1 and len(closer)==1: if ignoreExpr is not None: content = (Combine(OneOrMore(~ignoreExpr + @@ -3685,7 +3685,7 @@ anyOpenTag,anyCloseTag = makeHTMLTags(Word(alphas,alphanums+"_:")) commonHTMLEntity = Combine(_L("&") + oneOf("gt lt amp nbsp quot").setResultsName("entity") +";").streamline() -_htmlEntityMap = dict(zip("gt lt amp nbsp quot".split(),'><& "')) +_htmlEntityMap = dict(list(zip("gt lt amp nbsp quot".split(),'><& "'))) replaceHTMLEntity = lambda t : t.entity in _htmlEntityMap and _htmlEntityMap[t.entity] or None # it's easy to get these comment structures wrong - they're very common, so may as well make them available @@ -3710,15 +3710,15 @@ try: tokens = simpleSQL.parseString( teststring ) tokenlist = tokens.asList() - print (teststring + "->" + str(tokenlist)) - print ("tokens = " + str(tokens)) - print ("tokens.columns = " + str(tokens.columns)) - print ("tokens.tables = " + str(tokens.tables)) - print (tokens.asXML("SQL",True)) + print((teststring + "->" + str(tokenlist))) + print(("tokens = " + str(tokens))) + print(("tokens.columns = " + str(tokens.columns))) + print(("tokens.tables = " + str(tokens.tables))) + print((tokens.asXML("SQL",True))) except ParseBaseException as err: - print (teststring + "->") - print (err.line) - print (" "*(err.column-1) + "^") + print((teststring + "->")) + print((err.line)) + print((" "*(err.column-1) + "^")) print (err) print() --- ./libpathod/cmdline.py (original) +++ ./libpathod/cmdline.py (refactored) @@ -16,9 +16,9 @@ ) pa = preparser.parse_known_args()[0] if pa.showua: - RefactoringTool: Refactored ./libpathod/app.py RefactoringTool: No changes to ./examples/test_setupall.py RefactoringTool: No changes to ./examples/test_setup.py RefactoringTool: No changes to ./examples/test_context.py RefactoringTool: Refactored ./examples/libpathod_pathoc.py RefactoringTool: Files that were modified: RefactoringTool: ./test/tutils.py RefactoringTool: ./test/test_utils.py RefactoringTool: ./test/test_test.py RefactoringTool: ./test/test_pathod.py RefactoringTool: ./test/test_pathoc.py RefactoringTool: ./test/test_language.py RefactoringTool: ./test/test_app.py RefactoringTool: ./setup.py RefactoringTool: ./libpathod/version.py RefactoringTool: ./libpathod/utils.py RefactoringTool: ./libpathod/test.py RefactoringTool: ./libpathod/pathod.py RefactoringTool: ./libpathod/pathoc.py RefactoringTool: ./libpathod/language.py RefactoringTool: ./libpathod/contrib/pyparsing.py RefactoringTool: ./libpathod/cmdline.py RefactoringTool: ./libpathod/app.py RefactoringTool: ./examples/test_setupall.py RefactoringTool: ./examples/test_setup.py RefactoringTool: ./examples/test_context.py RefactoringTool: ./examples/libpathod_pathoc.py print "User agent strings:" + print("User agent strings:") for i in http_uastrings.UASTRINGS: - print " ", i[1], i[0] + print(" ", i[1], i[0]) sys.exit(0) parser = argparse.ArgumentParser( @@ -180,9 +180,9 @@ r = data try: reqs.extend(language.parse_requests(r)) - except language.ParseException, v: - print >> sys.stderr, "Error parsing request spec: %s"%v.msg - print >> sys.stderr, v.marked() + except language.ParseException as v: + print("Error parsing request spec: %s"%v.msg, file=sys.stderr) + print(v.marked(), file=sys.stderr) sys.exit(1) args.requests = reqs pathoc.main(args) @@ -354,7 +354,7 @@ if args.sizelimit: try: sizelimit = utils.parse_size(args.sizelimit) - except ValueError, v: + except ValueError as v: parser.error(v) args.sizelimit = sizelimit @@ -366,14 +366,14 @@ try: req = language.parse_response(spec) - except language.ParseException, v: - print >> sys.stderr, "Error parsing anchor spec: %s"%v.msg - print >> sys.stderr, v.marked() + except language.ParseException as v: + print("Error parsing anchor spec: %s"%v.msg, file=sys.stderr) + print(v.marked(), file=sys.stderr) sys.exit(1) try: arex = re.compile(patt) except re.error: - print >> sys.stderr, "Invalid regex in anchor: %s" % patt + print("Invalid regex in anchor: %s" % patt, file=sys.stderr) sys.exit(1) anchors.append((arex, req)) args.anchors = anchors --- ./libpathod/app.py (original) +++ ./libpathod/app.py (refactored) @@ -1,6 +1,6 @@ -import logging, pprint, cStringIO +import logging, pprint, io from flask import Flask, jsonify, render_template, request, abort, make_response -import version, language, utils +from . import version, language, utils from netlib import http_uastrings logging.basicConfig(level="DEBUG") @@ -112,12 +112,12 @@ r = language.parse_requests(spec)[0] else: r = language.parse_response(spec) - except language.ParseException, v: + except language.ParseException as v: args["syntaxerror"] = str(v) args["marked"] = v.marked() return render(template, False, **args) - s = cStringIO.StringIO() + s = io.StringIO() safe = r.preview_safe() c = app.config["pathod"].check_policy(safe, app.config["pathod"].request_settings) --- ./examples/libpathod_pathoc.py (original) +++ ./examples/libpathod_pathoc.py (refactored) @@ -3,5 +3,5 @@ p = pathoc.Pathoc(("google.com", 80)) p.connect() -print p.request("get:/") -print p.request("get:/foo") +print(p.request("get:/")) +print(p.request("get:/foo")) + echo 'Patch #0 (port-on-python3.patch):' Patch #0 (port-on-python3.patch): + /usr/bin/patch -p1 patching file libpathod/language.py + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.25558 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pathod-0.11 + 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/libpathod copying libpathod/language.py -> build/lib/libpathod copying libpathod/version.py -> build/lib/libpathod copying libpathod/utils.py -> build/lib/libpathod copying libpathod/test.py -> build/lib/libpathod copying libpathod/pathod.py -> build/lib/libpathod copying libpathod/pathoc.py -> build/lib/libpathod copying libpathod/cmdline.py -> build/lib/libpathod copying libpathod/app.py -> build/lib/libpathod copying libpathod/__init__.py -> build/lib/libpathod creating build/lib/libpathod/contrib copying libpathod/contrib/pyparsing.py -> build/lib/libpathod/contrib copying libpathod/contrib/__init__.py -> build/lib/libpathod/contrib running egg_info creating pathod.egg-info writing pathod.egg-info/PKG-INFO writing dependency_links to pathod.egg-info/dependency_links.txt writing requirements to pathod.egg-info/requires.txt writing top-level names to pathod.egg-info/top_level.txt writing manifest file 'pathod.egg-info/SOURCES.txt' reading manifest file 'pathod.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'README.mkd' warning: no previously-included files matching '*.pyo' found under directory '*' warning: no previously-included files matching '*.swo' found under directory '*' warning: no previously-included files matching '*.swp' found under directory '*' adding license file 'LICENSE' writing manifest file 'pathod.egg-info/SOURCES.txt' creating build/lib/libpathod/static copying libpathod/static/bootstrap.min.css -> build/lib/libpathod/static copying libpathod/static/bootstrap.min.js -> build/lib/libpathod/static copying libpathod/static/jquery-1.7.2.min.js -> build/lib/libpathod/static copying libpathod/static/jquery.localscroll-min.js -> build/lib/libpathod/static copying libpathod/static/jquery.scrollTo-min.js -> build/lib/libpathod/static copying libpathod/static/pathod.css -> build/lib/libpathod/static copying libpathod/static/start_quote.png -> build/lib/libpathod/static copying libpathod/static/syntax.css -> build/lib/libpathod/static copying libpathod/static/torture.png -> build/lib/libpathod/static creating build/lib/libpathod/templates copying libpathod/templates/about.html -> build/lib/libpathod/templates copying libpathod/templates/docframe.html -> build/lib/libpathod/templates copying libpathod/templates/docs_lang.html -> build/lib/libpathod/templates copying libpathod/templates/docs_libpathod.html -> build/lib/libpathod/templates copying libpathod/templates/docs_pathoc.html -> build/lib/libpathod/templates copying libpathod/templates/docs_pathod.html -> build/lib/libpathod/templates copying libpathod/templates/docs_test.html -> build/lib/libpathod/templates copying libpathod/templates/download.html -> build/lib/libpathod/templates copying libpathod/templates/examples_context.html -> build/lib/libpathod/templates copying libpathod/templates/examples_setup.html -> build/lib/libpathod/templates copying libpathod/templates/examples_setupall.html -> build/lib/libpathod/templates copying libpathod/templates/frame.html -> build/lib/libpathod/templates copying libpathod/templates/index.html -> build/lib/libpathod/templates copying libpathod/templates/layout.html -> build/lib/libpathod/templates copying libpathod/templates/libpathod_pathoc.html -> build/lib/libpathod/templates copying libpathod/templates/log.html -> build/lib/libpathod/templates copying libpathod/templates/onelog.html -> build/lib/libpathod/templates copying libpathod/templates/request_preview.html -> build/lib/libpathod/templates copying libpathod/templates/request_previewform.html -> build/lib/libpathod/templates copying libpathod/templates/response_preview.html -> build/lib/libpathod/templates copying libpathod/templates/response_previewform.html -> build/lib/libpathod/templates running build_scripts creating build/scripts-3.9 copying and adjusting pathod -> build/scripts-3.9 copying and adjusting pathoc -> build/scripts-3.9 changing mode of build/scripts-3.9/pathod from 644 to 755 changing mode of build/scripts-3.9/pathoc from 644 to 755 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.12841 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-pathod-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-pathod-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-pathod-0.11 + 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-pathod-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-pathod-buildroot creating /usr/src/tmp/python3-module-pathod-buildroot/usr creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3 creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/response_previewform.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/response_preview.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/request_previewform.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/request_preview.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/onelog.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/log.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/libpathod_pathoc.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/layout.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/index.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/frame.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/examples_setupall.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/examples_setup.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/examples_context.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/download.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docs_test.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docs_pathod.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docs_pathoc.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docs_libpathod.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docs_lang.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/docframe.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates copying build/lib/libpathod/templates/about.html -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/templates creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/torture.png -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/syntax.css -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/start_quote.png -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/pathod.css -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/jquery.scrollTo-min.js -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/jquery.localscroll-min.js -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/jquery-1.7.2.min.js -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/bootstrap.min.js -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static copying build/lib/libpathod/static/bootstrap.min.css -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/static creating /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib copying build/lib/libpathod/contrib/__init__.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib copying build/lib/libpathod/contrib/pyparsing.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib copying build/lib/libpathod/__init__.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/app.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/cmdline.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/pathoc.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/pathod.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/test.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/utils.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/version.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod copying build/lib/libpathod/language.py -> /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__init__.py to __init__.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py to pyparsing.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__init__.py to __init__.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/app.py to app.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py to cmdline.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py to pathoc.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py to pathod.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/test.py to test.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/utils.py to utils.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/version.py to version.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py to language.cpython-39.pyc running install_egg_info running egg_info writing pathod.egg-info/PKG-INFO writing dependency_links to pathod.egg-info/dependency_links.txt writing requirements to pathod.egg-info/requires.txt writing top-level names to pathod.egg-info/top_level.txt reading manifest file 'pathod.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'README.mkd' warning: no previously-included files matching '*.pyo' found under directory '*' warning: no previously-included files matching '*.swo' found under directory '*' warning: no previously-included files matching '*.swp' found under directory '*' adding license file 'LICENSE' writing manifest file 'pathod.egg-info/SOURCES.txt' Copying pathod.egg-info to /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info running install_scripts creating /usr/src/tmp/python3-module-pathod-buildroot/usr/bin copying build/scripts-3.9/pathoc -> /usr/src/tmp/python3-module-pathod-buildroot/usr/bin copying build/scripts-3.9/pathod -> /usr/src/tmp/python3-module-pathod-buildroot/usr/bin changing mode of /usr/src/tmp/python3-module-pathod-buildroot/usr/bin/pathoc to 755 changing mode of /usr/src/tmp/python3-module-pathod-buildroot/usr/bin/pathod to 755 + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-pathod-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-pathod-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-pathod-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-pathod-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-pathod-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-pathod-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-pathod-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.pyc compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/app.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/test.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/utils.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/version.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-pathod-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/app.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/test.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/utils.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/version.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-pathod-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/__init__.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/app.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/test.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/utils.py compile /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/version.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.35039 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pathod-0.11 + export PYTHONPATH=/usr/src/RPM/BUILD/python3-module-pathod-0.11 + PYTHONPATH=/usr/src/RPM/BUILD/python3-module-pathod-0.11 + /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 pathod.egg-info/PKG-INFO writing dependency_links to pathod.egg-info/dependency_links.txt deleting pathod.egg-info/requires.txt writing top-level names to pathod.egg-info/top_level.txt reading manifest file 'pathod.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'README.mkd' warning: no previously-included files matching '*.pyo' found under directory '*' warning: no previously-included files matching '*.swo' found under directory '*' warning: no previously-included files matching '*.swp' found under directory '*' adding license file 'LICENSE' writing manifest file 'pathod.egg-info/SOURCES.txt' running build_ext ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK + exit 0 Processing files: python3-module-pathod-0.11-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.66740 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-pathod-0.11 + DOCDIR=/usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + /bin/mkdir -p /usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + cp -prL CHANGELOG README.mkd README.txt examples /usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + chmod -R go-w /usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + chmod -R a+rX /usr/src/tmp/python3-module-pathod-buildroot/usr/share/doc/python3-module-pathod-0.11 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.uouAQi 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.maknej find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/app.py: possible relative import from libpathod python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py: possible relative import from libpathod python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py: skipping sys python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py: skipping builtins /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py: Ignore for REQ=slight module=inspect /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py: Ignore for REQ=slight module=pdb python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py: skipping sys python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py: possible relative import from libpathod python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/language.py: skipping time python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py: possible relative import from libpathod python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py: possible relative import from libpathod python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathoc.py: skipping sys python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py: possible relative import from libpathod python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/pathod.py: skipping sys 'Name' object has no attribute 'value' python3.req: /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/utils.py: skipping sys shebang.req.files: executable script /usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/cmdline.py is not executable Provides: python3(libpathod), python3(libpathod.app), python3(libpathod.cmdline), python3(libpathod.contrib), python3(libpathod.contrib.pyparsing), python3(libpathod.language), python3(libpathod.pathoc), python3(libpathod.pathod), python3(libpathod.utils), python3(libpathod.version) Requires: /usr/bin/python3, /usr/lib/python3/site-packages, python3(OpenSSL.crypto) < 0, python3(abc) < 0, python3(argparse) < 0, python3(collections) < 0, python3(copy) < 0, python3(flask) < 0, python3(functools) < 0, python3(hashlib) < 0, python3(io) < 0, python3(logging) < 0, python3(mmap) < 0, python3(netlib) < 0, python3(netlib.utils) < 0, python3(operator) < 0, python3(os) < 0, python3(os.path) < 0, python3(pprint) < 0, python3(random) < 0, python3(re) < 0, python3(sre_constants) < 0, python3(string) < 0, python3(threading) < 0, python3(urllib.error) < 0, python3(urllib.parse) < 0, python3(urllib.request) < 0, python3(warnings) < 0, python3(weakref) < 0 Processing files: python3-module-pathod-test-0.11-alt2 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Hryavh 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.RdhJiq find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python3.req.py:/usr/src/tmp/python3-module-pathod-buildroot/usr/lib/python3/site-packages/libpathod/test.py: possible relative import from libpathod Provides: python3(libpathod.test) Requires: python3-module-pathod = 0.11-alt2, /usr/lib/python3/site-packages, python3(queue) < 0, python3(requests) < 0, python3(threading) < 0, python3(urllib3) < 0 Adding to python3-module-pathod-test a strict dependency on python3-module-pathod Removing 2 extra deps from python3-module-pathod-test due to repentancy on python3-module-pathod Wrote: /usr/src/RPM/RPMS/noarch/python3-module-pathod-0.11-alt2.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-pathod-test-0.11-alt2.noarch.rpm (w2.lzdio) 9.98user 1.30system 0:16.02elapsed 70%CPU (0avgtext+0avgdata 70596maxresident)k 0inputs+0outputs (0major+312285minor)pagefaults 0swaps 18.82user 7.87system 0:37.66elapsed 70%CPU (0avgtext+0avgdata 104804maxresident)k 96inputs+0outputs (46391major+739799minor)pagefaults 0swaps --- python3-module-pathod-0.11-alt2.noarch.rpm.repo 2020-01-27 07:16:16.000000000 +0000 +++ python3-module-pathod-0.11-alt2.noarch.rpm.hasher 2022-01-06 01:00:09.692283090 +0000 @@ -5,29 +5,29 @@ /usr/lib/python3/site-packages/libpathod/__pycache__ 40755 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.pyc 100644 root:root /usr/lib/python3/site-packages/libpathod/app.py 100644 root:root @@ -37,8 +37,8 @@ /usr/lib/python3/site-packages/libpathod/contrib/__pycache__ 40755 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.pyc 100644 root:root /usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py 100644 root:root @@ -81,8 +81,8 @@ /usr/lib/python3/site-packages/libpathod/version.py 100644 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info 40755 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/PKG-INFO 100644 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/SOURCES.txt 100644 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/dependency_links.txt 100644 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/requires.txt 100644 root:root -/usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/top_level.txt 100644 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info 40755 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/PKG-INFO 100644 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/SOURCES.txt 100644 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/dependency_links.txt 100644 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/requires.txt 100644 root:root +/usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/top_level.txt 100644 root:root /usr/share/doc/python3-module-pathod-0.11 40755 root:root @@ -142,29 +142,29 @@ File: /usr/lib/python3/site-packages/libpathod/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root 0ab536127fef72a320e3c34fd7bb45f1 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root 0ab536127fef72a320e3c34fd7bb45f1 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-37.pyc 100644 root:root 0ab536127fef72a320e3c34fd7bb45f1 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.opt-1.pyc 100644 root:root d7e3eb4fada7bd1993eaeeb683d62b3e -File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.opt-2.pyc 100644 root:root d7e3eb4fada7bd1993eaeeb683d62b3e -File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-37.pyc 100644 root:root d7e3eb4fada7bd1993eaeeb683d62b3e -File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.opt-1.pyc 100644 root:root 1b3c4f64b2beb29dfff54df55f63a44a -File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.opt-2.pyc 100644 root:root 1b3c4f64b2beb29dfff54df55f63a44a -File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-37.pyc 100644 root:root 1b3c4f64b2beb29dfff54df55f63a44a -File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.opt-1.pyc 100644 root:root f01474b03368bf39c261d7a4fb2b0104 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.opt-2.pyc 100644 root:root 0e17c1fd7c425cf634470cb18f05c451 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-37.pyc 100644 root:root f01474b03368bf39c261d7a4fb2b0104 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.opt-1.pyc 100644 root:root 654bb4ca67faa41f0f62d4d68bdec58a -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.opt-2.pyc 100644 root:root 2034d685f74644ab7e28a556a43554b3 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-37.pyc 100644 root:root 654bb4ca67faa41f0f62d4d68bdec58a -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.opt-1.pyc 100644 root:root 24baed1738c2a94fc76678bc386de513 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.opt-2.pyc 100644 root:root b03e8e2d26e54fcbf8d4bb4081029a98 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-37.pyc 100644 root:root 24baed1738c2a94fc76678bc386de513 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.opt-1.pyc 100644 root:root 146d2740a77f2782f3493519e13266c4 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.opt-2.pyc 100644 root:root b5bacca6b51abc6bd31ab1de6f6c1d6d -File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-37.pyc 100644 root:root 146d2740a77f2782f3493519e13266c4 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.opt-1.pyc 100644 root:root 874c7d800737ce8d0eb388955ea49a49 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.opt-2.pyc 100644 root:root e46dfc3e3c8936373460f87b31bef8ff -File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-37.pyc 100644 root:root 874c7d800737ce8d0eb388955ea49a49 -File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.opt-1.pyc 100644 root:root ec965852c3c8c9d1aae741bfff60f62d -File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.opt-2.pyc 100644 root:root ec965852c3c8c9d1aae741bfff60f62d -File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-37.pyc 100644 root:root ec965852c3c8c9d1aae741bfff60f62d +File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root 48e5465a67fbecf0e5a4b8a555fa3f88 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root 48e5465a67fbecf0e5a4b8a555fa3f88 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/__init__.cpython-39.pyc 100644 root:root 48e5465a67fbecf0e5a4b8a555fa3f88 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-1.pyc 100644 root:root 3a89916d0b82e70aeb44e999aca70738 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.opt-2.pyc 100644 root:root 3a89916d0b82e70aeb44e999aca70738 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/app.cpython-39.pyc 100644 root:root 3a89916d0b82e70aeb44e999aca70738 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-1.pyc 100644 root:root b35eb8c140265e5e863005c07eee04f8 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.opt-2.pyc 100644 root:root b35eb8c140265e5e863005c07eee04f8 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/cmdline.cpython-39.pyc 100644 root:root b35eb8c140265e5e863005c07eee04f8 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.opt-1.pyc 100644 root:root b8e90aba1487f7066b6a97eef31a993c +File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.opt-2.pyc 100644 root:root e877593169f6322d35df2f47655670a1 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/language.cpython-39.pyc 100644 root:root b8e90aba1487f7066b6a97eef31a993c +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.opt-1.pyc 100644 root:root 19577a7c0f35ba2cc08557e64a841850 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.opt-2.pyc 100644 root:root 3c65211dd77ac8d2a8c7d4fb8183d2d3 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathoc.cpython-39.pyc 100644 root:root 19577a7c0f35ba2cc08557e64a841850 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.opt-1.pyc 100644 root:root 6410dd73f5c4baa1a46296e55ef379c6 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.opt-2.pyc 100644 root:root 1df464c14f5b88ad232f97c0a13e389c +File: /usr/lib/python3/site-packages/libpathod/__pycache__/pathod.cpython-39.pyc 100644 root:root 6410dd73f5c4baa1a46296e55ef379c6 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.opt-1.pyc 100644 root:root 0b2921bcc87e97186e01180c14f16537 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.opt-2.pyc 100644 root:root 424c6226add2154a8327e1dfd72576d5 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/test.cpython-39.pyc 100644 root:root 0b2921bcc87e97186e01180c14f16537 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.opt-1.pyc 100644 root:root b663cbb3884cd06a7070bac4e0fd9a6d +File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.opt-2.pyc 100644 root:root 0faa4cabe76835fd270c8a4f946f96e5 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/utils.cpython-39.pyc 100644 root:root b663cbb3884cd06a7070bac4e0fd9a6d +File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-1.pyc 100644 root:root 701e3acf6d6d049acc0a11ca5e9e1fd5 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.opt-2.pyc 100644 root:root 701e3acf6d6d049acc0a11ca5e9e1fd5 +File: /usr/lib/python3/site-packages/libpathod/__pycache__/version.cpython-39.pyc 100644 root:root 701e3acf6d6d049acc0a11ca5e9e1fd5 File: /usr/lib/python3/site-packages/libpathod/app.py 100644 root:root 3bc9bebb4ec688050adf5cf60403e71d @@ -174,8 +174,8 @@ File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root f2ee6128dde9e62139ccf9a3f23ca2e5 -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root f2ee6128dde9e62139ccf9a3f23ca2e5 -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-37.pyc 100644 root:root f2ee6128dde9e62139ccf9a3f23ca2e5 -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.opt-1.pyc 100644 root:root 40495b156589f7e2f3780b8d0d1dea50 -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.opt-2.pyc 100644 root:root 58978a555f5c006e9cc8c26c3cc36aa4 -File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-37.pyc 100644 root:root 40495b156589f7e2f3780b8d0d1dea50 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root 691eea3d24ce1a46fcba2f06af673419 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root 691eea3d24ce1a46fcba2f06af673419 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/__init__.cpython-39.pyc 100644 root:root 691eea3d24ce1a46fcba2f06af673419 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.opt-1.pyc 100644 root:root 53faab88038be19de3c28ab2bfd55ea5 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.opt-2.pyc 100644 root:root 8c4e15d40d03c5b2599727a36a7533c4 +File: /usr/lib/python3/site-packages/libpathod/contrib/__pycache__/pyparsing.cpython-39.pyc 100644 root:root 53faab88038be19de3c28ab2bfd55ea5 File: /usr/lib/python3/site-packages/libpathod/contrib/pyparsing.py 100644 root:root c04167ef5d5d01a24d68c53f5da46331 @@ -218,8 +218,8 @@ File: /usr/lib/python3/site-packages/libpathod/version.py 100644 root:root 8a63f6e02b9b0a0aacf179a8d0eb5ef7 -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info 40755 root:root -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/PKG-INFO 100644 root:root 2f54611c307b7c543b586c74e716857f -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/SOURCES.txt 100644 root:root f3d2bac4a9282b65ea9436ec8b12b990 -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/requires.txt 100644 root:root 4b3e49c36c45b27c7a3ed954b7af0bc2 -File: /usr/lib/python3/site-packages/pathod-0.11-py3.7.egg-info/top_level.txt 100644 root:root 70b8cd61e745de1af4855608253c4ed8 +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info 40755 root:root +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/PKG-INFO 100644 root:root f6020379b9545aeac64031762d890dc4 +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/SOURCES.txt 100644 root:root f3d2bac4a9282b65ea9436ec8b12b990 +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/requires.txt 100644 root:root 4b3e49c36c45b27c7a3ed954b7af0bc2 +File: /usr/lib/python3/site-packages/pathod-0.11-py3.9.egg-info/top_level.txt 100644 root:root 70b8cd61e745de1af4855608253c4ed8 File: /usr/share/doc/python3-module-pathod-0.11 40755 root:root @@ -233,2 +233,2 @@ File: /usr/share/doc/python3-module-pathod-0.11/examples/test_setupall.py 100644 root:root c8e2266040364a2a568ec13430171285 -RPMIdentity: 95afcf26fc9c6c238c3e5a18a8223cb8344f8f96e770bf369cfd8df230b94049d0ee0b6d2536a30647ab45c125a255be526952084150b318dc1c39089903d401 +RPMIdentity: 9e073c9e775afdc6e05890e8c40c393a1263c9f7a39f9ff9fff1c5ec5e000a93f9526e0a3ab6fbc00f0c6cd410e610fb9749395df6ebf4d1a678dff146257d36