<86>Jun 16 01:09:56 userdel[3758439]: delete user 'rooter' <86>Jun 16 01:09:56 userdel[3758439]: removed shadow group 'rooter' owned by 'rooter' <86>Jun 16 01:09:56 groupadd[3758455]: group added to /etc/group: name=rooter, GID=1271 <86>Jun 16 01:09:56 groupadd[3758455]: group added to /etc/gshadow: name=rooter <86>Jun 16 01:09:56 groupadd[3758455]: new group: name=rooter, GID=1271 <86>Jun 16 01:09:56 useradd[3758466]: new user: name=rooter, UID=1271, GID=1271, home=/root, shell=/bin/bash <86>Jun 16 01:09:56 userdel[3758485]: delete user 'builder' <86>Jun 16 01:09:56 userdel[3758485]: removed group 'builder' owned by 'builder' <86>Jun 16 01:09:56 userdel[3758485]: removed shadow group 'builder' owned by 'builder' <86>Jun 16 01:09:56 groupadd[3758499]: group added to /etc/group: name=builder, GID=1272 <86>Jun 16 01:09:56 groupadd[3758499]: group added to /etc/gshadow: name=builder <86>Jun 16 01:09:56 groupadd[3758499]: new group: name=builder, GID=1272 <86>Jun 16 01:09:56 useradd[3758512]: new user: name=builder, UID=1272, GID=1272, home=/usr/src, shell=/bin/bash /usr/src/in/srpm/python3-module-scour-0.29-alt2.src.rpm: license not found in '/usr/share/license' directory: ASLv2.0 <13>Jun 16 01:10:00 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626058413 installed <13>Jun 16 01:10:00 rpmi: libexpat-2.5.0-alt1 p10+324220.100.1.1 1688465137 installed <13>Jun 16 01:10:00 rpmi: libp11-kit-0.24.1-alt1 p10+305061.100.3.1 1660573397 installed <13>Jun 16 01:10:00 rpmi: libtasn1-4.19.0-alt1 p10+309071.100.2.1 1668522760 installed <13>Jun 16 01:10:00 rpmi: rpm-macros-alternatives-0.5.2-alt1 p10+309129.100.2.1 1668066636 installed <13>Jun 16 01:10:00 rpmi: alternatives-0.5.2-alt1 p10+309129.100.2.1 1668066636 installed <13>Jun 16 01:10:00 rpmi: ca-certificates-2022.09.15-alt1 p10+308004.100.2.1 1665748370 installed <13>Jun 16 01:10:00 rpmi: ca-trust-0.1.6-alt1 p10+344774.100.1.1 1712685728 installed <13>Jun 16 01:10:00 rpmi: p11-kit-trust-0.24.1-alt1 p10+305061.100.3.1 1660573397 installed <13>Jun 16 01:10:00 rpmi: libcrypto1.1-1.1.1w-alt0.p10.1 p10+330586.100.4.1 1697560982 installed <13>Jun 16 01:10:00 rpmi: libssl1.1-1.1.1w-alt0.p10.1 p10+330586.100.4.1 1697560982 installed <13>Jun 16 01:10:00 rpmi: python3-3.9.18-alt1 p10+340781.400.5.1 1709555259 installed <13>Jun 16 01:10:01 rpmi: python3-base-3.9.18-alt1 p10+340781.400.5.1 1709555259 installed <13>Jun 16 01:10:01 rpmi: tests-for-installed-python3-pkgs-0.1.22-alt1 p10+325520.200.7.1 1691156214 installed <13>Jun 16 01:10:01 rpmi: rpm-build-python3-0.1.22-alt1 p10+325520.200.7.1 1691156214 installed WARNING: %python3_build_debug is deprecated and will be removed in future, please use %pyproject_build instead WARNING: %python3_install is deprecated and will be removed in future, please use %pyproject_install instead <13>Jun 16 01:10:04 rpmi: libpython-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python2-base-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-encodings-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-compiler-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-email-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-unittest-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-ctypes-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-multiprocessing-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-modules-logging-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed <13>Jun 16 01:10:04 rpmi: python-tools-2to3-2.7.18-alt10 p10+309289.100.3.1 1668015444 installed WARNING: %python3_build_debug is deprecated and will be removed in future, please use %pyproject_build instead WARNING: %python3_install is deprecated and will be removed in future, please use %pyproject_install instead Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/python3-module-scour-0.29-alt2.nosrc.rpm (w1.gzdio) <13>Jun 16 01:10:06 rpmi: python3-module-pkg_resources-1:57.4.0-alt1 p10+281549.200.4.1 1628026198 installed <13>Jun 16 01:10:06 rpmi: libpython3-3.9.18-alt1 p10+340781.400.5.1 1709555259 installed <13>Jun 16 01:10:06 rpmi: libncurses-6.3.20220618-alt1 p10+319472.100.4.1 1685092691 installed <13>Jun 16 01:10:06 rpmi: libtinfo-devel-6.3.20220618-alt1 p10+319472.100.4.1 1685092691 installed <13>Jun 16 01:10:06 rpmi: libncurses-devel-6.3.20220618-alt1 p10+319472.100.4.1 1685092691 installed <13>Jun 16 01:10:08 rpmi: python3-dev-3.9.18-alt1 p10+340781.400.5.1 1709555259 installed <13>Jun 16 01:10:08 rpmi: python3-module-setuptools-1:57.4.0-alt1 p10+281549.200.4.1 1628026198 installed WARNING: %python3_build_debug is deprecated and will be removed in future, please use %pyproject_build instead WARNING: %python3_install is deprecated and will be removed in future, please use %pyproject_install instead Installing python3-module-scour-0.29-alt2.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.73245 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-scour-0.29 + echo 'Source #0 (python3-module-scour-0.29.tar):' Source #0 (python3-module-scour-0.29.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-scour-0.29.tar + cd python3-module-scour-0.29 + /bin/chmod -c -Rf u+rwX,go-w . ++ find ./ -name '*.py' + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./setup.py ./scour/yocto_css.py ./scour/svg_transform.py ./scour/svg_regex.py ./scour/scour.py ./scour/__init__.py + 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: No changes to ./setup.py RefactoringTool: Refactored ./scour/__init__.py RefactoringTool: Refactored ./scour/scour.py --- ./scour/__init__.py (original) +++ ./scour/__init__.py (refactored) @@ -16,7 +16,7 @@ ## ############################################################################### -import scour -import svg_regex -import svg_transform -import yocto_css +from . import scour +from . import svg_regex +from . import svg_transform +from . import yocto_css --- ./scour/scour.py (original) +++ ./scour/scour.py (refactored) @@ -45,23 +45,23 @@ # - if a has only one element in it, collapse the (ensure transform, etc are carried down) # necessary to get true division -from __future__ import division + import os import sys import xml.dom.minidom import re import math -from svg_regex import svg_parser -from svg_transform import svg_transform_parser +from .svg_regex import svg_parser +from .svg_transform import svg_transform_parser import optparse -from yocto_css import parseCssString +from .yocto_css import parseCssString # Python 2.3- did not have Decimal try: from decimal import * except ImportError: - print >>sys.stderr, "Scour requires Python 2.4." + print("Scour requires Python 2.4.", file=sys.stderr) # Import Psyco if available try: @@ -531,7 +531,7 @@ if prop in referencingProps and val != '' : if len(val) >= 7 and val[0:5] == 'url(#' : id = val[5:val.find(')')] - if ids.has_key(id) : + if id in ids : ids[id][0] += 1 ids[id][1].append(node) else: @@ -546,7 +546,7 @@ elif val[0:6] == "url('#" : id = val[6:val.find("')")] if id != None: - if ids.has_key(id) : + if id in ids : ids[id][0] += 1 ids[id][1].append(node) else: @@ -752,7 +752,7 @@ return num def unprotected_ids(doc, options): - u"""Returns a list of unprotected IDs within the document doc.""" + """Returns a list of unprotected IDs within the document doc.""" identifiedElements = findElementsWithId(doc.documentElement) if not (options.protect_ids_noninkscape or options.protect_ids_list or @@ -762,7 +762,7 @@ protect_ids_list = options.protect_ids_list.split(",") if options.protect_ids_prefix: protect_ids_prefixes = options.protect_ids_prefix.split(",") - for id in identifiedElements.keys(): + for id in list(identifiedElements.keys()): protected = False if options.protect_ids_noninkscape and not id[-1].isdigit(): protected = True @@ -785,9 +785,9 @@ global numIDsRemoved keepTags = ['font'] num = 0; - for id in identifiedElements.keys(): + for id in list(identifiedElements.keys()): node = identifiedElements[id] - if referencedIDs.has_key(id) == False and not node.nodeName in keepTags: + if (id in referencedIDs) == False and not node.nodeName in keepTags: node.removeAttribute('id') numIDsRemoved += 1 num += 1 @@ -800,7 +800,7 @@ # remove all namespace'd attributes from this element attrList = node.attributes attrsToRemove = [] - for attrNum in xrange(attrList.length): + for attrNum in range(attrList.length): attr = attrList.item(attrNum) if attr != None and attr.namespaceURI in namespaces: attrsToRemove.append(attr.nodeName) @@ -915,7 +915,7 @@ # its fill attribute is not what we want to look at, we should look for the first # non-animate/set element attrList = childElements[0].attributes - for num in xrange(attrList.length): + for num in range(attrList.length): attr = attrList.item(num) # this is most of the inheritable properties from http://www.w3.org/TR/SVG11/propidx.html # and http://www.w3.org/TR/SVGTiny12/attributeTable.html @@ -934,7 +934,7 @@ commonAttrs[attr.nodeName] = attr.nodeValue # for each subsequent child element - for childNum in xrange(len(childElements)): + for childNum in range(len(childElements)): # skip first child if childNum == 0: continue @@ -946,7 +946,7 @@ distinctAttrs = [] # loop through all current 'common' attributes - for name in commonAttrs.keys(): + for name in list(commonAttrs.keys()): # if this child doesn't match that attribute, schedule it for removal if child.getAttribute(name) != commonAttrs[name]: distinctAttrs.append(name) @@ -955,7 +955,7 @@ del commonAttrs[name] # commonAttrs now has all the inheritable attributes which are common among all child elements - for name in commonAttrs.keys(): + for name in list(commonAttrs.keys()): for child in childElements: child.removeAttribute(name) elem.setAttribute(name, commonAttrs[name]) @@ -1088,7 +1088,7 @@ # get all attribute values on this parent attrList = elem.attributes unusedAttrs = {} - for num in xrange(attrList.length): + for num in range(attrList.length): attr = attrList.item(num) if attr.nodeName in ['clip-rule', 'display-align', @@ -1104,10 +1104,10 @@ unusedAttrs[attr.nodeName] = attr.nodeValue # for each child, if at least one child inherits the parent's attribute, then remove - for childNum in xrange(len(childElements)): + for childNum in range(len(childElements)): child = childElements[childNum] inheritedAttrs = [] - for name in unusedAttrs.keys(): + for name in list(unusedAttrs.keys()): val = child.getAttribute(name) if val == '' or val == None or val == 'inherit': inheritedAttrs.append(name) @@ -1115,7 +1115,7 @@ del unusedAttrs[a] # unusedAttrs now has all the parent attributes that are unused - for name in unusedAttrs.keys(): + for name in list(unusedAttrs.keys()): elem.removeAttribute(name) num += 1 @@ -1145,7 +1145,7 @@ color = stop.getAttribute('stop-color') opacity = stop.getAttribute('stop-opacity') style = stop.getAttribute('style') - if stops.has_key(offset) : + if offset in stops : oldStop = stops[offset] if oldStop[0] == color and oldStop[1] == opacity and oldStop[2] == style: stopsToRemove.append(stop) @@ -1166,7 +1166,7 @@ identifiedElements = findElementsWithId(doc.documentElement) # make sure to reset the ref'ed ids for when we are running this in testscour - for rid,nodeCount in findReferencedElements(doc.documentElement).iteritems(): + for rid,nodeCount in findReferencedElements(doc.documentElement).items(): count = nodeCount[0] nodes = nodeCount[1] # Make sure that there's actually a defining element for the current ID name. @@ -1253,7 +1253,7 @@ # now compare stops stopsNotEqual = False - for i in xrange(stops.length): + for i in range(stops.length): if stopsNotEqual: break stop = stops.item(i) ostop = ostops.item(i) @@ -1265,16 +1265,16 @@ # ograd is a duplicate of grad, we schedule it to be removed UNLESS # ograd is ALREADY considered a 'master' element - if not gradientsToRemove.has_key(ograd): - if not duplicateToMaster.has_key(ograd): - if not gradientsToRemove.has_key(grad): + if ograd not in gradientsToRemove: + if ograd not in duplicateToMaster: + if grad not in gradientsToRemove: gradientsToRemove[grad] = [] gradientsToRemove[grad].append( ograd ) duplicateToMaster[ograd] = grad # get a collection of all elements that are referenced and their referencing elements referencedIDs = findReferencedElements(doc.documentElement) - for masterGrad in gradientsToRemove.keys(): + for masterGrad in list(gradientsToRemove.keys()): master_id = masterGrad.getAttribute('id') # print 'master='+master_id for dupGrad in gradientsToRemove[masterGrad]: @@ -1308,7 +1308,7 @@ return num def _getStyle(node): - u"""Returns the style attribute of a node as a dictionary.""" + """Returns the style attribute of a node as a dictionary.""" if node.nodeType == 1 and len(node.getAttribute('style')) > 0 : styleMap = { } rawStyles = node.getAttribute('style').split(';') @@ -1321,8 +1321,8 @@ return {} def _setStyle(node, styleMap): - u"""Sets the style attribute of a node to the dictionary ``styleMap``.""" - fixedStyle = ';'.join([prop + ':' + styleMap[prop] for prop in styleMap.keys()]) + """Sets the style attribute of a node to the dictionary ``styleMap``.""" + fixedStyle = ';'.join([prop + ':' + styleMap[prop] for prop in list(styleMap.keys())]) if fixedStyle != '' : node.setAttribute('style', fixedStyle) elif node.getAttribute('style'): @@ -1337,7 +1337,7 @@ # I've seen this enough to know that I need to correct it: # fill: url(#linearGradient4918) rgb(0, 0, 0); for prop in ['fill', 'stroke'] : - if styleMap.has_key(prop) : + if prop in styleMap : chunk = styleMap[prop].split(') ') if len(chunk) == 2 and (chunk[0][:5] == 'url(#' or chunk[0][:6] == 'url("#' or chunk[0][:6] == "url('#") and chunk[1] == 'rgb(0, 0, 0)' : styleMap[prop] = chunk[0] + ')' @@ -1345,23 +1345,23 @@ # Here is where we can weed out unnecessary styles like: # opacity:1 - if styleMap.has_key('opacity') : + if 'opacity' in styleMap : opacity = float(styleMap['opacity']) # if opacity='0' then all fill and stroke properties are useless, remove them if opacity == 0.0 : for uselessStyle in ['fill', 'fill-opacity', 'fill-rule', 'stroke', 'stroke-linejoin', 'stroke-opacity', 'stroke-miterlimit', 'stroke-linecap', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-opacity'] : - if styleMap.has_key(uselessStyle): + if uselessStyle in styleMap: del styleMap[uselessStyle] num += 1 # if stroke:none, then remove all stroke-related properties (stroke-width, etc) # TODO: should also detect if the computed value of this element is stroke="none" - if styleMap.has_key('stroke') and styleMap['stroke'] == 'none' : + if 'stroke' in styleMap and styleMap['stroke'] == 'none' : for strokestyle in [ 'stroke-width', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-linecap', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-opacity'] : - if styleMap.has_key(strokestyle) : + if strokestyle in styleMap : del styleMap[strokestyle] num += 1 # TODO: This is actually a problem if a parent element has a specified stroke @@ -1369,38 +1369,38 @@ del styleMap['stroke'] # if fill:none, then remove all fill-related properties (fill-rule, etc) - if styleMap.has_key('fill') and styleMap['fill'] == 'none' : + if 'fill' in styleMap and styleMap['fill'] == 'none' : for fillstyle in [ 'fill-rule', 'fill-opacity' ] : - if styleMap.has_key(fillstyle) : + if fillstyle in styleMap : del styleMap[fillstyle] num += 1 # fill-opacity: 0 - if styleMap.has_key('fill-opacity') : + if 'fill-opacity' in styleMap : fillOpacity = float(styleMap['fill-opacity']) if fillOpacity == 0.0 : for uselessFillStyle in [ 'fill', 'fill-rule' ] : - if styleMap.has_key(uselessFillStyle): + if uselessFillStyle in styleMap: del styleMap[uselessFillStyle] num += 1 # stroke-opacity: 0 - if styleMap.has_key('stroke-opacity') : + if 'stroke-opacity' in styleMap : strokeOpacity = float(styleMap['stroke-opacity']) if strokeOpacity == 0.0 : for uselessStrokeStyle in [ 'stroke', 'stroke-width', 'stroke-linejoin', 'stroke-linecap', 'stroke-dasharray', 'stroke-dashoffset' ] : - if styleMap.has_key(uselessStrokeStyle): + if uselessStrokeStyle in styleMap: del styleMap[uselessStrokeStyle] num += 1 # stroke-width: 0 - if styleMap.has_key('stroke-width') : + if 'stroke-width' in styleMap : strokeWidth = SVGLength(styleMap['stroke-width']) if strokeWidth.value == 0.0 : for uselessStrokeStyle in [ 'stroke', 'stroke-linejoin', 'stroke-linecap', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-opacity' ] : - if styleMap.has_key(uselessStrokeStyle): + if uselessStrokeStyle in styleMap: del styleMap[uselessStrokeStyle] num += 1 @@ -1413,18 +1413,18 @@ 'text-align', 'text-anchor', 'text-decoration', 'text-rendering', 'unicode-bidi', 'word-spacing', 'writing-mode'] : - if styleMap.has_key(fontstyle) : + if fontstyle in styleMap : del styleMap[fontstyle] num += 1 # remove inkscape-specific styles # TODO: need to get a full list of these for inkscapeStyle in ['-inkscape-font-specification']: - if styleMap.has_key(inkscapeStyle): + if inkscapeStyle in styleMap: del styleMap[inkscapeStyle] num += 1 - if styleMap.has_key('overflow') : + if 'overflow' in styleMap : # overflow specified on element other than svg, marker, pattern if not node.nodeName in ['svg','marker','pattern']: del styleMap['overflow'] @@ -1445,7 +1445,7 @@ # now if any of the properties match known SVG attributes we prefer attributes # over style so emit them and remove them from the style map if options.style_to_xml: - for propName in styleMap.keys() : + for propName in list(styleMap.keys()) : if propName in svgAttributes : node.setAttribute(propName, styleMap[propName]) del styleMap[propName] @@ -1501,7 +1501,7 @@ return result def taint(taintedSet, taintedAttribute): - u"""Adds an attribute to a set of attributes. + """Adds an attribute to a set of attributes. Related attributes are also included.""" taintedSet.add(taintedAttribute) @@ -1512,7 +1512,7 @@ return taintedSet def removeDefaultAttributeValues(node, options, tainted=set()): - u"""'tainted' keeps a set of attributes defined in parent nodes. + """'tainted' keeps a set of attributes defined in parent nodes. For such attributes, we don't delete attributes with default values.""" num = 0 @@ -1594,7 +1594,7 @@ for i in range(node.attributes.length)] for attribute in attributes: if attribute not in tainted: - if attribute in default_attributes.keys(): + if attribute in list(default_attributes.keys()): if node.getAttribute(attribute) == default_attributes[attribute]: node.removeAttribute(attribute) num += 1 @@ -1602,9 +1602,9 @@ tainted = taint(tainted, attribute) # These attributes might also occur as styles styles = _getStyle(node) - for attribute in styles.keys(): + for attribute in list(styles.keys()): if attribute not in tainted: - if attribute in default_attributes.keys(): + if attribute in list(default_attributes.keys()): if styles[attribute] == default_attributes[attribute]: del styles[attribute] num += 1 @@ -1626,7 +1626,7 @@ """ s = value - if s in colors.keys(): + if s in list(colors.keys()): s = colors[s] rgbpMatch = rgbp.match(s) @@ -1680,7 +1680,7 @@ element.setAttribute(attr, newColorValue) numBytes += (oldBytes - len(element.getAttribute(attr))) # colors might also hide in styles - if attr in styles.keys(): + if attr in list(styles.keys()): oldColorValue = styles[attr] newColorValue = convertColor(oldColorValue) oldBytes = len(oldColorValue) @@ -1722,13 +1722,13 @@ # convert absolute coordinates into relative ones. # Reuse the data structure 'path', since we're not adding or removing subcommands. # Also reuse the coordinate lists since we're not adding or removing any. - for pathIndex in xrange(0, len(path)): + for pathIndex in range(0, len(path)): cmd, data = path[pathIndex] # Changes to cmd don't get through to the data structure i = 0 # adjust abs to rel # only the A command has some values that we don't want to adjust (radii, rotation, flags) if cmd == 'A': - for i in xrange(i, len(data), 7): + for i in range(i, len(data), 7): data[i+5] -= x data[i+6] -= y x += data[i+5] @@ -1738,14 +1738,14 @@ x += sum(data[5::7]) y += sum(data[6::7]) elif cmd == 'H': - for i in xrange(i, len(data)): + for i in range(i, len(data)): data[i] -= x x += data[i] path[pathIndex] = ('h', data) elif cmd == 'h': x += sum(data) elif cmd == 'V': - for i in xrange(i, len(data)): + for i in range(i, len(data)): data[i] -= y y += data[i] path[pathIndex] = ('v', data) @@ -1761,14 +1761,14 @@ x, y = startx, starty i = 2 - for i in xrange(i, len(data), 2): + for i in range(i, len(data), 2): data[i] -= x data[i+1] -= y x += data[i] y += data[i+1] path[pathIndex] = ('m', data) elif cmd in ['L','T']: - for i in xrange(i, len(data), 2): + for i in range(i, len(data), 2): data[i] -= x data[i+1] -= y x += data[i] @@ -1784,14 +1784,14 @@ else: startx = x + data[0] starty = y + data[1] - for i in xrange(i, len(data), 2): + for i in range(i, len(data), 2): x += data[i] y += data[i+1] elif cmd in ['l','t']: x += sum(data[0::2]) y += sum(data[1::2]) elif cmd in ['S','Q']: - for i in xrange(i, len(data), 4): + for i in range(i, len(data), 4): data[i] -= x data[i+1] -= y data[i+2] -= x @@ -1803,7 +1803,7 @@ x += sum(data[2::4]) y += sum(data[3::4]) elif cmd == 'C': - for i in xrange(i, len(data), 6): + for i in range(i, len(data), 6): data[i] -= x data[i+1] -= y data[i+2] -= x @@ -1824,7 +1824,7 @@ # Reuse the data structure 'path' and the coordinate lists, even if we're # deleting items, because these deletions are relatively cheap. if not withRoundLineCaps: - for pathIndex in xrange(0, len(path)): + for pathIndex in range(0, len(path)): cmd, data = path[pathIndex] i = 0 if cmd in ['m','l','t']: @@ -2059,7 +2059,7 @@ # Reuse the data structure 'path', since we're not adding or removing subcommands. # Also reuse the coordinate lists, even if we're deleting items, because these # deletions are relatively cheap. - for pathIndex in xrange(1, len(path)): + for pathIndex in range(1, len(path)): cmd, data = path[pathIndex] if cmd in ['h','v'] and len(data) > 1: coordIndex = 1 @@ -2120,7 +2120,7 @@ # also, if 100-100 is found, split it into two also # - for i in xrange(len(ws_nums)): + for i in range(len(ws_nums)): negcoords = ws_nums[i].split("-") # this string didn't have any negative coordinates @@ -2128,7 +2128,7 @@ nums.append(negcoords[0]) # we got negative coords else: - for j in xrange(len(negcoords)): + for j in range(len(negcoords)): # first number could be positive if j == 0: if negcoords[0] != '': @@ -2251,7 +2251,7 @@ # separate from the next number. if options.renderer_workaround: if len(newData) > 0: - for i in xrange(1, len(newData)): + for i in range(1, len(newData)): if newData[i][0] == '-' and 'e' in newData[i - 1]: newData[i - 1] += ' ' return ''.join(newData) @@ -2290,7 +2290,7 @@ # gather the non-scientific notation version of the coordinate. # this may actually be in scientific notation if the value is # sufficiently large or small, so this is a misnomer. - nonsci = unicode(length).lower().replace("e+", "e") + nonsci = str(length).lower().replace("e+", "e") if not needsRendererWorkaround: if len(nonsci) > 2 and nonsci[:2] == '0.': nonsci = nonsci[1:] # remove the 0, leave the dot @@ -2300,7 +2300,7 @@ if len(nonsci) > 3: # avoid calling normalize unless strictly necessary # and then the scientific notation version, with E+NUMBER replaced with # just eNUMBER, since SVG accepts this. - sci = unicode(length.normalize()).lower().replace("e+", "e") + sci = str(length.normalize()).lower().replace("e+", "e") if len(sci) < len(nonsci): return sci else: return nonsci @@ -2337,7 +2337,7 @@ num += len(val) - len(newVal) element.setAttribute(lengthAttr, newVal) # repeat for attributes hidden in styles - if lengthAttr in styles.keys(): + if lengthAttr in list(styles.keys()): val = styles[lengthAttr] valLen = SVGLength(val) if valLen.units != Unit.INVALID: @@ -2597,7 +2597,7 @@ def embedRasters(element, options) : import base64 - import urllib + import urllib.request, urllib.parse, urllib.error """ Converts raster references to inline images. NOTE: there are size limits to base64-encoding handling in browsers @@ -2632,7 +2632,7 @@ raster = open( href, "rb") rasterdata = raster.read() elif href[:7] == 'http://': - webFile = urllib.urlopen( href ) + webFile = urllib.request.urlopen( href ) rasterdata = webFile.read() webFile.close() @@ -2714,7 +2714,7 @@ # add all the attributes attrList = node.attributes - for i in xrange(attrList.length): + for i in range(attrList.length): attr = attrList.item(i) newNode.setAttributeNS( attr.namespaceURI, attr.localName, attr.nodeValue) @@ -2778,7 +2778,7 @@ # now serialize the other attributes attrList = element.attributes - for num in xrange(attrList.length) : + for num in range(attrList.length) : attr = attrList.item(num) if attr.nodeName == 'id' or attr.nodeName == 'xml:id': continue # if the attribute value contains a double-quote, use single-quotes @@ -2877,7 +2877,7 @@ # remove the xmlns: declarations now xmlnsDeclsToRemove = [] attrList = doc.documentElement.attributes - for num in xrange(attrList.length) : + for num in range(attrList.length) : if attrList.item(num).nodeValue in unwanted_ns : xmlnsDeclsToRemove.append(attrList.item(num).nodeName) @@ -2895,7 +2895,7 @@ attrList = doc.documentElement.attributes xmlnsDeclsToRemove = [] redundantPrefixes = [] - for i in xrange(attrList.length): + for i in range(attrList.length): attr = attrList.item(i) name = attr.nodeName val = attr.nodeValue @@ -3245,7 +3245,7 @@ start = get_tick() if not options.quiet: - print >>sys.stderr, "%s %s\n%s" % (APP, VER, COPYRIGHT) + print("%s %s\n%s" % (APP, VER, COPYRIGHT), file=sys.stderr) # do the work in_string = input.read() @@ -3260,15 +3260,15 @@ # GZ: not using globals would be good too if not options.quiet: - print >>sys.stderr, ' File:', input.name, \ + print(' File:', input.name, \ os.linesep + ' Time taken:', str(end-start) + 's' +RefactoringTool: Refactored ./scour/svg_regex.py RefactoringTool: Refactored ./scour/svg_transform.py RefactoringTool: No changes to ./scour/yocto_css.py RefactoringTool: Files that were modified: RefactoringTool: ./setup.py RefactoringTool: ./scour/__init__.py RefactoringTool: ./scour/scour.py RefactoringTool: ./scour/svg_regex.py RefactoringTool: ./scour/svg_transform.py RefactoringTool: ./scour/yocto_css.py os.linesep, \ - getReport() + getReport(), file=sys.stderr) oldsize = len(in_string) newsize = len(out_string) sizediff = (newsize / oldsize) * 100 - print >>sys.stderr, ' Original file size:', oldsize, 'bytes;', \ - 'new file size:', newsize, 'bytes (' + str(sizediff)[:5] + '%)' + print(' Original file size:', oldsize, 'bytes;', \ + 'new file size:', newsize, 'bytes (' + str(sizediff)[:5] + '%)', file=sys.stderr) --- ./scour/svg_regex.py (original) +++ ./scour/svg_regex.py (refactored) @@ -145,7 +145,7 @@ def parse(self, text): """ Parse a string of SVG data. """ - next = self.lexer.lex(text).next + next = self.lexer.lex(text).__next__ token = next() return self.rule_svg_path(next, token) --- ./scour/svg_transform.py (original) +++ ./scour/svg_transform.py (refactored) @@ -145,7 +145,7 @@ def parse(self, text): """ Parse a string of SVG transform="" data. """ - next = self.lexer.lex(text).next + next = self.lexer.lex(text).__next__ commands = [] token = next() while token[0] is not EOF: @@ -209,7 +209,7 @@ numbers = [] token = next() # all numbers are mandatory - for i in xrange(6): + for i in range(6): number, token = self.rule_number(next, token) numbers.append(number) return numbers, token + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.88449 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-scour-0.29 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python3 setup.py build --debug running build running build_py creating build creating build/lib creating build/lib/scour copying scour/__init__.py -> build/lib/scour copying scour/scour.py -> build/lib/scour copying scour/svg_regex.py -> build/lib/scour copying scour/svg_transform.py -> build/lib/scour copying scour/yocto_css.py -> build/lib/scour + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.88449 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-scour-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-scour-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-scour-0.29 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python3-module-scour-buildroot --force running install running install_lib creating /usr/src/tmp/python3-module-scour-buildroot creating /usr/src/tmp/python3-module-scour-buildroot/usr creating /usr/src/tmp/python3-module-scour-buildroot/usr/lib creating /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3 creating /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour copying build/lib/scour/yocto_css.py -> /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour copying build/lib/scour/svg_transform.py -> /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour copying build/lib/scour/svg_regex.py -> /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour copying build/lib/scour/scour.py -> /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour copying build/lib/scour/__init__.py -> /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour byte-compiling /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/yocto_css.py to yocto_css.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_transform.py to svg_transform.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_regex.py to svg_regex.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py to scour.cpython-39.pyc byte-compiling /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__init__.py to __init__.cpython-39.pyc running install_egg_info running egg_info creating scour.egg-info writing scour.egg-info/PKG-INFO writing dependency_links to scour.egg-info/dependency_links.txt writing entry points to scour.egg-info/entry_points.txt writing top-level names to scour.egg-info/top_level.txt writing manifest file 'scour.egg-info/SOURCES.txt' reading manifest file 'scour.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'scour.egg-info/SOURCES.txt' Copying scour.egg-info to /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info running install_scripts Installing scour script to /usr/src/tmp/python3-module-scour-buildroot/usr/bin + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-scour-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-scour-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-scour-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-scour-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-scour-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-scour-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-scour-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.pyc unlink /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.pyc unlink /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.pyc unlink /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.pyc unlink /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.pyc compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__init__.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_regex.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_transform.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/yocto_css.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-scour-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__init__.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_regex.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_transform.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/yocto_css.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-scour-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__init__.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_regex.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_transform.py compile /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/yocto_css.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.pyc' './usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-1.pyc' './usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.pyc' './usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.pyc' './usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.pyc' './usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.pyc' './usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-1.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.20535 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-scour-0.29 + 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 scour.egg-info/PKG-INFO writing dependency_links to scour.egg-info/dependency_links.txt writing entry points to scour.egg-info/entry_points.txt writing top-level names to scour.egg-info/top_level.txt reading manifest file 'scour.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'scour.egg-info/SOURCES.txt' running build_ext ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK + exit 0 Processing files: python3-module-scour-0.29-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.63598 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-scour-0.29 + DOCDIR=/usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + /bin/mkdir -p /usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + cp -prL README.md /usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + chmod -R go-w /usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + chmod -R a+rX /usr/src/tmp/python3-module-scour-buildroot/usr/share/doc/python3-module-scour-0.29 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.pASEm9 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.jm1lR7 find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/bin/scour: Ignore for REQ=slight module=importlib.metadata /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/bin/scour: Ignore for REQ=slight module=importlib_metadata /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/bin/scour: Ignore for REQ=slight module=pkg_resources python3.req: /usr/src/tmp/python3-module-scour-buildroot/usr/bin/scour: skipping sys /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/__init__.py: scour is possibly a self-providing dependency, skip it /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=base64 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=decimal /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=gzip /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=psyco python3.req: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: skipping sys python3.req: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: skipping time /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=urllib.error /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=urllib.parse /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: Ignore for REQ=slight module=urllib.request /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: scour.svg_regex is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: scour.svg_transform is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py: scour.yocto_css is possibly a self-providing dependency, skip it shebang.req.files: executable script /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/scour.py is not executable shebang.req.files: executable script /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/svg_transform.py is not executable shebang.req.files: executable script /usr/src/tmp/python3-module-scour-buildroot/usr/lib/python3/site-packages/scour/yocto_css.py is not executable Provides: python3(scour), python3(scour.scour), python3(scour.svg_regex), python3(scour.svg_transform), python3(scour.yocto_css) Requires: /usr/bin/python3, /usr/lib/python3/site-packages, python3(decimal) < 0, python3(math) < 0, python3(optparse) < 0, python3(os) < 0, python3(re) < 0, python3(xml.dom.minidom) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python3-module-scour-0.29-alt2.noarch.rpm (w2.lzdio) 5.43user 0.84system 0:08.10elapsed 77%CPU (0avgtext+0avgdata 54040maxresident)k 0inputs+0outputs (0major+218571minor)pagefaults 0swaps /.out/python3-module-scour-0.29-alt2.noarch.rpm: license not found in '/usr/share/license' directory: ASLv2.0 6.12user 2.45system 0:24.94elapsed 34%CPU (0avgtext+0avgdata 128708maxresident)k 0inputs+0outputs (0major+323306minor)pagefaults 0swaps --- python3-module-scour-0.29-alt2.noarch.rpm.repo 2019-11-18 12:00:23.000000000 +0000 +++ python3-module-scour-0.29-alt2.noarch.rpm.hasher 2024-06-16 01:10:18.324229914 +0000 @@ -2,26 +2,26 @@ /usr/lib/python3/site-packages/scour 40755 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info 40755 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/PKG-INFO 100644 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/SOURCES.txt 100644 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/dependency_links.txt 100644 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/entry_points.txt 100644 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/top_level.txt 100644 root:root -/usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/zip-safe 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info 40755 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/PKG-INFO 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/SOURCES.txt 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/dependency_links.txt 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/entry_points.txt 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/top_level.txt 100644 root:root +/usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/zip-safe 100644 root:root /usr/lib/python3/site-packages/scour/__init__.py 100644 root:root /usr/lib/python3/site-packages/scour/__pycache__ 40755 root:root -/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.opt-1.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.opt-2.pyc 100644 root:root -/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-1.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-2.pyc 100644 root:root +/usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.pyc 100644 root:root /usr/lib/python3/site-packages/scour/scour.py 100644 root:root @@ -38,3 +38,2 @@ Requires: python3(os) < 0 -Requires: python3(pkg_resources) < 0 Requires: python3(re) < 0 @@ -48,28 +47,28 @@ Provides: python3-module-scour = 0.29-alt2:sisyphus+240938.40.2.1 -File: /usr/bin/scour 100755 root:root 8b6842e0473f5b5801f33843f315ca5b +File: /usr/bin/scour 100755 root:root c78f963e2f220a545da9dd292813797e File: /usr/lib/python3/site-packages/scour 40755 root:root -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info 40755 root:root -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/PKG-INFO 100644 root:root 5eeaf5015fa610c0ffdd54b2659e4bc5 -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/SOURCES.txt 100644 root:root 61f1f66f1923a87328271cbcb37f5af6 -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/entry_points.txt 100644 root:root f6bcddc356bd5920c0938245da45d30c -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/top_level.txt 100644 root:root 457512062b86042350216fc23f773f75 -File: /usr/lib/python3/site-packages/scour-0.29-py3.7.egg-info/zip-safe 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info 40755 root:root +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/PKG-INFO 100644 root:root 42a304c79f51d9dd07c906fdc6f9391a +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/SOURCES.txt 100644 root:root 475c49b1fc662f1b558aefc5b1be5f8f +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/dependency_links.txt 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/entry_points.txt 100644 root:root f6bcddc356bd5920c0938245da45d30c +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/top_level.txt 100644 root:root 457512062b86042350216fc23f773f75 +File: /usr/lib/python3/site-packages/scour-0.29-py3.9.egg-info/zip-safe 100644 root:root 68b329da9893e34099c7d8ad5cb9c940 File: /usr/lib/python3/site-packages/scour/__init__.py 100644 root:root 187af5cfbbbb2d3050bf294af7c9c70a File: /usr/lib/python3/site-packages/scour/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.opt-1.pyc 100644 root:root fb13bae069535e02ee085998a5b46524 -File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.opt-2.pyc 100644 root:root fb13bae069535e02ee085998a5b46524 -File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-37.pyc 100644 root:root fb13bae069535e02ee085998a5b46524 -File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.opt-1.pyc 100644 root:root 34b42e59da3bc8036a1ae03bb84caed6 -File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.opt-2.pyc 100644 root:root f53fcbe82ea423d693092584f577e31a -File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-37.pyc 100644 root:root 34b42e59da3bc8036a1ae03bb84caed6 -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.opt-1.pyc 100644 root:root b3e525a883795bf9f43073ac2646f9db -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.opt-2.pyc 100644 root:root 5840fb2fe78f642b05d6de27a10dac1c -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-37.pyc 100644 root:root b3e525a883795bf9f43073ac2646f9db -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.opt-1.pyc 100644 root:root 4c6477bf2658aa9d9f6b2aecefb6f864 -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.opt-2.pyc 100644 root:root 8c01d207e85c884154aef2682f51fd4d -File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-37.pyc 100644 root:root 4c6477bf2658aa9d9f6b2aecefb6f864 -File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.opt-1.pyc 100644 root:root 020f96907e000b481d0718ba3e95b8c8 -File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.opt-2.pyc 100644 root:root 020f96907e000b481d0718ba3e95b8c8 -File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-37.pyc 100644 root:root 020f96907e000b481d0718ba3e95b8c8 +File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-1.pyc 100644 root:root a0ec07973aad7bb67e79027065320bb6 +File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.opt-2.pyc 100644 root:root a0ec07973aad7bb67e79027065320bb6 +File: /usr/lib/python3/site-packages/scour/__pycache__/__init__.cpython-39.pyc 100644 root:root a0ec07973aad7bb67e79027065320bb6 +File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.opt-1.pyc 100644 root:root 50eb13d1c142f45d1809aa8c39689a58 +File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.opt-2.pyc 100644 root:root afe8b1c5a622cb5f8076879c4ae61d6c +File: /usr/lib/python3/site-packages/scour/__pycache__/scour.cpython-39.pyc 100644 root:root 50eb13d1c142f45d1809aa8c39689a58 +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.opt-1.pyc 100644 root:root 3aef157b76c3a637b08344fa7e26f576 +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.opt-2.pyc 100644 root:root be2b0a93c3c43373926867333a6d464f +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_regex.cpython-39.pyc 100644 root:root 3aef157b76c3a637b08344fa7e26f576 +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.opt-1.pyc 100644 root:root c0ea41b03c5b40ee1a00726c022a37fa +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.opt-2.pyc 100644 root:root 01a0b2a6b0aa5c9c48d9ff94778118af +File: /usr/lib/python3/site-packages/scour/__pycache__/svg_transform.cpython-39.pyc 100644 root:root c0ea41b03c5b40ee1a00726c022a37fa +File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-1.pyc 100644 root:root 461a1bd95249d76aa7448171ab92dae5 +File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.opt-2.pyc 100644 root:root 461a1bd95249d76aa7448171ab92dae5 +File: /usr/lib/python3/site-packages/scour/__pycache__/yocto_css.cpython-39.pyc 100644 root:root 461a1bd95249d76aa7448171ab92dae5 File: /usr/lib/python3/site-packages/scour/scour.py 100644 root:root c8568d068d38a6560e9842f577d16177 @@ -80,2 +79,2 @@ File: /usr/share/doc/python3-module-scour-0.29/README.md 100644 root:root bdb89eb2db3f876a1255ec3ca8d00a3d -RPMIdentity: 830006ccf100f7ef000a868770e2fa1a0bb6bbf78c4557d99396c014dc5c2e1e49a7c79bbdd130c0650b7e2f5b1a1380f321f8ec7fd314e36609cc76a2aa662b +RPMIdentity: a86160ce68e07878b4e3c5bf72a29e5e5de70f42a3787e65f509f0e8c2cc64d795e5be3f2c1bc0863038abec083a9842ffdd7a9dc55bd7a061add66f0a662349