diff --git a/cgcs-patch/cgcs-patch/cgcs_make_patch/make_patch_functions.py b/cgcs-patch/cgcs-patch/cgcs_make_patch/make_patch_functions.py index 6be1d59f..155b9c01 100644 --- a/cgcs-patch/cgcs-patch/cgcs_make_patch/make_patch_functions.py +++ b/cgcs-patch/cgcs-patch/cgcs_make_patch/make_patch_functions.py @@ -803,7 +803,7 @@ class RecipeData(object): self._parse_recipe(e) def __str__(self): - return "name: %s, packages: %s" % (self.name, str(self.packages.keys())) + return "name: %s, packages: %s" % (self.name, str(list(self.packages.keys()))) def myprint(self, indent=""): print("%sname: %s" % (indent, self.name)) @@ -961,7 +961,7 @@ class PatchRecipeData(object): return rc def set_implicit_requires(self, patch_list): - self.auto_requires = patch_list.get_implicit_requires(self.patch_id, self.recipies.keys()) + self.auto_requires = patch_list.get_implicit_requires(self.patch_id, list(self.recipies.keys())) def get_build_context(self): return self.build_context @@ -1170,7 +1170,7 @@ class PatchRecipeData(object): write_xml_file(e_top, fname) def __str__(self): - return "[ patch_id: %s, context: %s, metadata: %s, requires: %s, recipies: %s ]" % (str(self.patch_id), str(self.build_context), str(self.metadata), str(self.requires), str(self.recipies.keys())) + return "[ patch_id: %s, context: %s, metadata: %s, requires: %s, recipies: %s ]" % (str(self.patch_id), str(self.build_context), str(self.metadata), str(self.requires), str(list(self.recipies.keys()))) def myprint(self, indent=""): print("patch_id: %s" % str(self.patch_id)) diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py index 4c8d9c6f..ee10f403 100644 --- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py +++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py @@ -303,7 +303,7 @@ class PatchAgentDnfTransLogCB(dnf.callback.TransactionProgress): if ti_done == 0 or ti_done == ti_total: LOG.info('%s PROGRESS %s: %s %0.1f%% [%s/%s]', self.log_prefix, action_str, package, - (ti_done * 100 / ti_total), + (ti_done * 100 // ti_total), ts_done, ts_total) else: LOG.info('%s PROGRESS %s: %s [%s/%s]', diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py index e2153329..42e6471f 100644 --- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py +++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_controller.py @@ -2017,7 +2017,7 @@ class PatchController(PatchService): disk_space += statinfo.st_size if dry_run: - results["info"] = "This commit operation would free %0.2f MiB" % (disk_space / (1024.0 * 1024.0)) + results["info"] = "This commit operation would free %0.2f MiB" % (disk_space / (1024.0 * 1024.0)) # pylint: disable=W1619 return results # Do the commit diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py index 009f90d7..38ddd1b0 100644 --- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py +++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py @@ -228,20 +228,51 @@ class PackageVersion(object): self.release = release def __le__(self, other): + """ + This function is called by comparison operators to compare + two versions. The rpm.labelCompare() function takes two versions, + specified in a list structure, and returns -1, 0, or 1. + """ out = rpm.labelCompare((self.epoch, self.version, self.release), (other.epoch, other.version, other.release)) if out == 1: return False return True - def __cmp__(self, other): - """ - This function is called by comparison operators to compare - two versions. The rpm.labelCompare() function takes two versions, - specified in a list structure, and returns -1, 0, or 1. - """ - return rpm.labelCompare((self.epoch, self.version, self.release), - (other.epoch, other.version, other.release)) + def __eq__(self, other): + out = rpm.labelCompare((self.epoch, self.version, self.release), + (other.epoch, other.version, other.release)) + if out == 0: + return True + return False + + def __ne__(self, other): + out = rpm.labelCompare((self.epoch, self.version, self.release), + (other.epoch, other.version, other.release)) + if out == 0: + return False + return True + + def __gt__(self, other): + out = rpm.labelCompare((self.epoch, self.version, self.release), + (other.epoch, other.version, other.release)) + if out == 1: + return True + return False + + def __lt__(self, other): + out = rpm.labelCompare((self.epoch, self.version, self.release), + (other.epoch, other.version, other.release)) + if out == -1: + return True + return False + + def __ge__(self, other): + out = rpm.labelCompare((self.epoch, self.version, self.release), + (other.epoch, other.version, other.release)) + if out == -1: + return False + return True def __str__(self): """ diff --git a/cgcs-patch/cgcs-patch/pylint.rc b/cgcs-patch/cgcs-patch/pylint.rc index 86c3044f..ae02e6f8 100644 --- a/cgcs-patch/cgcs-patch/pylint.rc +++ b/cgcs-patch/cgcs-patch/pylint.rc @@ -132,12 +132,8 @@ enable=E1603,E1609,E1610,E1602,E1606,E1608,E1607,E1605,E1604,E1601,E1611,W1652, # W1505, deprecated-method # H216, unittest mock # Disable Python3 checkers: -# W1618: no-absolute-import -# W1619: old-division -# W1630: cmp-method -disable=C, H216, R, W0107, W0511, W0603, W0703, W0707, W1505, W1618, W1619, - W1630 - +# W1618: no-absolute-import +disable=C, H216, R, W0107, W0511, W0603, W0703, W0707, W1505, W1618 [REPORTS] diff --git a/cgcs-patch/cgcs-patch/pylint_make_patch.rc b/cgcs-patch/cgcs-patch/pylint_make_patch.rc index 4eec62b5..391b5d8f 100644 --- a/cgcs-patch/cgcs-patch/pylint_make_patch.rc +++ b/cgcs-patch/cgcs-patch/pylint_make_patch.rc @@ -33,7 +33,87 @@ symbols=no # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option # multiple time. See also the "--disable" option for examples. -#enable= +# +# Python3 checker: +# +# E1601: print-statement +# E1602: parameter-unpacking +# E1603: unpacking-in-except +# E1604: old-raise-syntax +# E1605: backtick +# E1606: long-suffix +# E1607: old-ne-operator +# E1608: old-octal-literal +# E1609: import-star-module-level +# E1610: non-ascii-bytes-literal +# E1611: invalid-unicode-literal +# W1601: apply-builtin +# W1602: basestring-builtin +# W1603: buffer-builtin +# W1604: cmp-builtin +# W1605: coerce-builtin +# W1606: execfile-builtin +# W1607: file-builtin +# W1608: long-builtin +# W1609: raw_input-builtin +# W1610: reduce-builtin +# W1611: standarderror-builtin +# W1612: unicode-builtin +# W1613: xrange-builtin +# W1614: coerce-method +# W1615: delslice-method +# W1616: getslice-method +# W1617: setslice-method +# W1618: no-absolute-import +# W1619: old-division +# W1620: dict-iter-method +# W1621: dict-view-method +# W1622: next-method-called +# W1623: metaclass-assignment +# W1624: indexing-exception +# W1625: raising-string +# W1626: reload-builtin +# W1627: oct-method +# W1628: hex-method +# W1629: nonzero-method +# W1630: cmp-method +# W1632: input-builtin +# W1633: round-builtin +# W1634: intern-builtin +# W1635: unichr-builtin +# W1636: map-builtin-not-iterating +# W1637: zip-builtin-not-iterating +# W1638: range-builtin-not-iterating +# W1639: filter-builtin-not-iterating +# W1640: using-cmp-argument +# W1641: eq-without-hash +# W1642: div-method +# W1643: idiv-method +# W1644: rdiv-method +# W1645: exception-message-attribute +# W1646: invalid-str-codec +# W1647: sys-max-int +# W1648: bad-python3-import +# W1649: deprecated-string-function +# W1650: deprecated-str-translate-call +# W1651: deprecated-itertools-function +# W1652: deprecated-types-field +# W1653: next-method-defined +# W1654: dict-items-not-iterating +# W1655: dict-keys-not-iterating +# W1656: dict-values-not-iterating +# W1657: deprecated-operator-function +# W1658: deprecated-urllib-function +# W1659: xreadlines-attribute +# W1660: deprecated-sys-function +# W1661: exception-escape +# W1662: comprehension-escape +enable=E1603,E1609,E1610,E1602,E1606,E1608,E1607,E1605,E1604,E1601,E1611,W1652, + W1651,W1649,W1657,W1660,W1658,W1659,W1623,W1622,W1620,W1621,W1645,W1641, + W1624,W1648,W1625,W1611,W1662,W1661,W1650,W1640,W1630,W1614,W1615,W1642, + W1616,W1628,W1643,W1629,W1627,W1644,W1617,W1601,W1602,W1603,W1604,W1605, + W1654,W1655,W1656,W1619,W1606,W1607,W1639,W1618,W1632,W1634,W1608,W1636, + W1653,W1646,W1638,W1609,W1610,W1626,W1633,W1647,W1635,W1612,W1613,W1637 # Disable the message, report, category or checker with the given id(s). You # can either give multiple identifiers separated by comma (,) or put this @@ -60,9 +140,10 @@ symbols=no # W0707 raise-missing-from # W1401 anomalous-backslash-in-string # W1505, deprecated-method +# W1618: no-absolute-import disable=C, R, fixme, E1101, W0101, W0104, W0107, W0212, W0231, W0603, W0612, W0613, W0622, W0703, W0707, - W1401, W1505 + W1401, W1505, W1618 [REPORTS]