py lib/portage/proxy/objectproxy.py lib/portage/repository/config.py lib/portage/repository/storage/interface.py lib/portage/sync/config_checks.py lib/portage/sync/controller.py lib/portage/sync/syncbase.py lib/portage/tests/dep/testAtom.py lib/portage/tests/dep/test_isvalidatom.py lib/portage/tests/dep/test_match_from_list.py lib/portage/tests/dep/test_use_reduce.py lib/portage/tests/resolver/ResolverPlayground.py lib/portage/tests/util/futures/asyncio/test_pipe_closed.py lib/portage/tests/util/futures/test_compat_coroutine.py lib/portage/tests/util/futures/test_retry.py lib/portage/tests/util/test_socks5.py lib/portage/util/SlotObject.py lib/portage/util/__init__.py lib/portage/util/_dyn_libs/LinkageMapELF.py lib/portage/util/_dyn_libs/NeededEntry.py lib/portage/util/_dyn_libs/PreservedLibsRegistry.py lib/portage/util/_dyn_libs/soname_deps.py lib/portage/util/_eventloop/EventLoop.py lib/portage/util/_eventloop/PollConstants.py lib/portage/util/_eventloop/PollSelectAdapter.py lib/po rtage/util/_xattr.py lib/portage/util/backoff.py lib/portage/util/digraph.py lib/portage/util/elf/header.py lib/portage/util/formatter.py lib/portage/util/futures/_asyncio/process.py lib/portage/util/futures/_asyncio/streams.py lib/portage/util/futures/_asyncio/tasks.py lib/portage/util/futures/compat_coroutine.py lib/portage/util/futures/executor/fork.py lib/portage/util/futures/futures.py lib/portage/util/futures/retry.py lib/portage/util/install_mask.py lib/portage/util/iterators/MultiIterGroupBy.py lib/portage/util/movefile.py lib/portage/util/socks5.py lib/portage/xml/metadata.py lib/portage/xpak.py X-VCS-Directories: lib/portage/package/ebuild/_ipc/ lib/portage/util/iterators/ lib/portage/repository/storage/ lib/portage/package/ebuild/_config/ lib/portage/emaint/modules/merges/ lib/portage/_sets/ lib/portage/_emirrordist/ lib/portage/elog/ lib/portage/emaint/modules/world/ lib/portage/util/elf/ lib/portage/util/futures/executor/ lib/portage/tests/resolver/ lib/portage/tests/dep/ lib/portage/emaint/modules/logs/ lib/portage/util/futures/ lib/portage/tests/util/futures/ lib/portage/cache/ lib/portage/tests/util/ lib/portage/cache/index/ lib/portage/xml/ lib/portage/util/futures/_asyncio/ lib/portage/env/ lib/portage/emaint/modules/move/ lib/portage/emaint/modules/sync/ lib/portage/emaint/ lib/portage/util/ lib/portage/proxy/ lib/portage/emaint/modules/config/ lib/portage/dbapi/ lib/portage/dep/soname/ lib/portage/package/ebuild/ lib/portage/dep/ lib/portage/util/_dyn_libs/ lib/portage/emaint/modules/binhost/ lib/portage/ lib/portage/repository/ lib/portage/util/_eventloop/ lib/po rtage/tests/util/futures/asyncio/ lib/portage/emaint/modules/resume/ lib/portage/sync/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: d04484a9400aec8818461e1ee9f488c862403c23 X-VCS-Branch: master Date: Wed, 22 Jul 2020 16:53:48 +0000 (UTC)
commit: d04484a9400aec8818461e1ee9f488c862403c23 Author: Alec Warner <antarus <AT> gentoo <DOT> org> AuthorDate: Wed Jul 22 03:40:19 2020 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Wed Jul 22 16:52:29 2020 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d04484a9 Fix pylint R0205. In python3 inheriting from object is no longer required. Signed-off-by: Alec Warner <antarus <AT> gentoo.org> Change-Id: Id489d4103d975a751be148205694cb6a20d33b31 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/portage/__init__.py | 8 ++++---- lib/portage/_emirrordist/Config.py | 4 ++-- lib/portage/_emirrordist/DeletionIterator.py | 2 +- lib/portage/_emirrordist/FetchIterator.py | 2 +- lib/portage/_selinux.py | 2 +- lib/portage/_sets/__init__.py | 2 +- lib/portage/_sets/base.py | 2 +- lib/portage/cache/index/IndexStreamIterator.py | 2 +- lib/portage/cache/mappings.py | 4 ++-- lib/portage/cache/template.py | 2 +- lib/portage/checksum.py | 8 ++++---- lib/portage/dbapi/DummyTree.py | 2 +- lib/portage/dbapi/IndexedPortdb.py | 4 ++-- lib/portage/dbapi/IndexedVardb.py | 2 +- lib/portage/dbapi/_ContentsCaseSensitivityManager.py | 2 +- lib/portage/dbapi/_VdbMetadataDelta.py | 2 +- lib/portage/dbapi/__init__.py | 2 +- lib/portage/dbapi/bintree.py | 2 +- lib/portage/dbapi/porttree.py | 4 ++-- lib/portage/dbapi/vartree.py | 8 ++++---- lib/portage/dbapi/virtual.py | 2 +- lib/portage/debug.py | 4 ++-- lib/portage/dep/__init__.py | 12 ++++++------ lib/portage/dep/soname/SonameAtom.py | 2 +- lib/portage/dispatch_conf.py | 2 +- lib/portage/eclass_cache.py | 4 ++-- lib/portage/elog/messages.py | 2 +- lib/portage/emaint/main.py | 4 ++-- lib/portage/emaint/modules/binhost/binhost.py | 2 +- lib/portage/emaint/modules/config/config.py | 2 +- lib/portage/emaint/modules/logs/logs.py | 2 +- lib/portage/emaint/modules/merges/merges.py | 4 ++-- lib/portage/emaint/modules/move/move.py | 2 +- lib/portage/emaint/modules/resume/resume.py | 2 +- lib/portage/emaint/modules/sync/sync.py | 2 +- lib/portage/emaint/modules/world/world.py | 2 +- lib/portage/env/loaders.py | 2 +- lib/portage/getbinpkg.py | 4 ++-- lib/portage/locks.py | 2 +- lib/portage/manifest.py | 4 ++-- lib/portage/metadata.py | 2 +- lib/portage/module.py | 4 ++-- lib/portage/news.py | 6 +++--- lib/portage/output.py | 8 ++++---- lib/portage/package/ebuild/_config/KeywordsManager.py | 2 +- lib/portage/package/ebuild/_config/LicenseManager.py | 2 +- lib/portage/package/ebuild/_config/LocationsManager.py | 2 +- lib/portage/package/ebuild/_config/MaskManager.py | 2 +- lib/portage/package/ebuild/_config/UseManager.py | 2 +- lib/portage/package/ebuild/_config/VirtualsManager.py | 2 +- lib/portage/package/ebuild/_config/features_set.py | 2 +- lib/portage/package/ebuild/_ipc/IpcCommand.py | 2 +- lib/portage/package/ebuild/config.py | 8 ++++---- lib/portage/package/ebuild/doebuild.py | 2 +- lib/portage/package/ebuild/fetch.py | 6 +++--- lib/portage/package/ebuild/getmaskingstatus.py | 4 ++-- lib/portage/process.py | 2 +- lib/portage/progress.py | 2 +- lib/portage/proxy/objectproxy.py | 2 +- lib/portage/repository/config.py | 4 ++-- lib/portage/repository/storage/interface.py | 2 +- lib/portage/sync/config_checks.py | 2 +- lib/portage/sync/controller.py | 4 ++-- lib/portage/sync/syncbase.py | 2 +- lib/portage/tests/dep/testAtom.py | 2 +- lib/portage/tests/dep/test_isvalidatom.py | 2 +- lib/portage/tests/dep/test_match_from_list.py | 6 +++--- lib/portage/tests/dep/test_use_reduce.py | 2 +- lib/portage/tests/resolver/ResolverPlayground.py | 8 ++++---- lib/portage/tests/util/futures/asyncio/test_pipe_closed.py | 2 +- lib/portage/tests/util/futures/test_compat_coroutine.py | 2 +- lib/portage/tests/util/futures/test_retry.py | 6 +++--- lib/portage/tests/util/test_socks5.py | 2 +- lib/portage/util/SlotObject.py | 2 +- lib/portage/util/__init__.py | 8 ++++---- lib/portage/util/_dyn_libs/LinkageMapELF.py | 8 ++++---- lib/portage/util/_dyn_libs/NeededEntry.py | 2 +- lib/portage/util/_dyn_libs/PreservedLibsRegistry.py | 2 +- lib/portage/util/_dyn_libs/soname_deps.py | 2 +- lib/portage/util/_eventloop/EventLoop.py | 10 +++++----- lib/portage/util/_eventloop/PollConstants.py | 2 +- lib/portage/util/_eventloop/PollSelectAdapter.py | 2 +- lib/portage/util/_xattr.py | 2 +- lib/portage/util/backoff.py | 2 +- lib/portage/util/digraph.py | 2 +- lib/portage/util/elf/header.py | 2 +- lib/portage/util/formatter.py | 4 ++-- lib/portage/util/futures/_asyncio/process.py | 2 +- lib/portage/util/futures/_asyncio/streams.py | 2 +- lib/portage/util/futures/_asyncio/tasks.py | 2 +- lib/portage/util/futures/compat_coroutine.py | 2 +- lib/portage/util/futures/executor/fork.py | 2 +- lib/portage/util/futures/futures.py | 2 +- lib/portage/util/futures/retry.py | 2 +- lib/portage/util/install_mask.py | 2 +- lib/portage/util/iterators/MultiIterGroupBy.py | 4 ++-- lib/portage/util/movefile.py | 2 +- lib/portage/util/socks5.py | 2 +- lib/portage/xml/metadata.py | 8 ++++---- lib/portage/xpak.py | 2 +- 100 files changed, 160 insertions(+), 160 deletions(-) diff --git a/lib/portage/__init__.py b/lib/portage/__init__.py index 2c44376cb..73bb1ed0d 100644 --- a/lib/portage/__init__.py +++ b/lib/portage/__init__.py @@ -188,7 +188,7 @@ def _unicode_decode(s, encoding=_encodings['content'], errors='replace'): _native_string = _unicode_decode -class _unicode_func_wrapper(object): +class _unicode_func_wrapper: """ Wraps a function, converts arguments from unicode to bytes, and return values to unicode from bytes. Function calls @@ -247,7 +247,7 @@ class _unicode_func_wrapper(object): return rval -class _unicode_module_wrapper(object): +class _unicode_module_wrapper: """ Wraps a module and wraps all functions with _unicode_func_wrapper. """ @@ -288,7 +288,7 @@ class _unicode_module_wrapper(object): cache[attr] = result return result -class _eintr_func_wrapper(object): +class _eintr_func_wrapper: """ Wraps a function and handles EINTR by calling the function as many times as necessary (until it returns without raising EINTR). @@ -397,7 +397,7 @@ bsd_chflags = None if platform.system() in ('FreeBSD',): # TODO: remove this class? - class bsd_chflags(object): + class bsd_chflags: chflags = os.chflags lchflags = os.lchflags diff --git a/lib/portage/_emirrordist/Config.py b/lib/portage/_emirrordist/Config.py index 736ce655e..125f05a70 100644 --- a/lib/portage/_emirrordist/Config.py +++ b/lib/portage/_emirrordist/Config.py @@ -13,7 +13,7 @@ from portage import os from portage.package.ebuild.fetch import MirrorLayoutConfig from portage.util import grabdict, grablines -class Config(object): +class Config: def __init__(self, options, portdb, event_loop): self.options = options self.portdb = portdb @@ -96,7 +96,7 @@ class Config(object): return self._LogFormatter(line_format, log_func) - class _LogFormatter(object): + class _LogFormatter: __slots__ = ('_line_format', '_log_func') diff --git a/lib/portage/_emirrordist/DeletionIterator.py b/lib/portage/_emirrordist/DeletionIterator.py index 3cbff2c3a..08985ed6c 100644 --- a/lib/portage/_emirrordist/DeletionIterator.py +++ b/lib/portage/_emirrordist/DeletionIterator.py @@ -7,7 +7,7 @@ import stat from portage import os from .DeletionTask import DeletionTask -class DeletionIterator(object): +class DeletionIterator: def __init__(self, config): self._config = config diff --git a/lib/portage/_emirrordist/FetchIterator.py b/lib/portage/_emirrordist/FetchIterator.py index 4ad797502..fe521c346 100644 --- a/lib/portage/_emirrordist/FetchIterator.py +++ b/lib/portage/_emirrordist/FetchIterator.py @@ -15,7 +15,7 @@ from .FetchTask import FetchTask from _emerge.CompositeTask import CompositeTask -class FetchIterator(object): +class FetchIterator: def __init__(self, config): self._config = config diff --git a/lib/portage/_selinux.py b/lib/portage/_selinux.py index a64215f27..1803415d9 100644 --- a/lib/portage/_selinux.py +++ b/lib/portage/_selinux.py @@ -105,7 +105,7 @@ def setfscreate(ctx="\n"): raise OSError( _("setfscreate: Failed setting fs create context \"%s\".") % ctx) -class spawn_wrapper(object): +class spawn_wrapper: """ Create a wrapper function for the given spawn function. When the wrapper is called, it will adjust the arguments such that setexec() to be called diff --git a/lib/portage/_sets/__init__.py b/lib/portage/_sets/__init__.py index a569b273b..38490d7cc 100644 --- a/lib/portage/_sets/__init__.py +++ b/lib/portage/_sets/__init__.py @@ -39,7 +39,7 @@ def get_boolean(options, name, default): class SetConfigError(Exception): pass -class SetConfig(object): +class SetConfig: def __init__(self, paths, settings, trees): self._parser = SafeConfigParser( defaults={ diff --git a/lib/portage/_sets/base.py b/lib/portage/_sets/base.py index a9c898da7..700b6fca7 100644 --- a/lib/portage/_sets/base.py +++ b/lib/portage/_sets/base.py @@ -9,7 +9,7 @@ from portage.versions import cpv_getkey OPERATIONS = ["merge", "unmerge"] -class PackageSet(object): +class PackageSet: # Set this to operations that are supported by your subclass. While # technically there is no difference between "merge" and "unmerge" regarding # package sets, the latter doesn't make sense for some sets like "system" diff --git a/lib/portage/cache/index/IndexStreamIterator.py b/lib/portage/cache/index/IndexStreamIterator.py index 972aee116..4ecfad02b 100644 --- a/lib/portage/cache/index/IndexStreamIterator.py +++ b/lib/portage/cache/index/IndexStreamIterator.py @@ -1,7 +1,7 @@ # Copyright 2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -class IndexStreamIterator(object): +class IndexStreamIterator: def __init__(self, f, parser): diff --git a/lib/portage/cache/mappings.py b/lib/portage/cache/mappings.py index 0adecde4a..27284b56e 100644 --- a/lib/portage/cache/mappings.py +++ b/lib/portage/cache/mappings.py @@ -8,7 +8,7 @@ __all__ = ["Mapping", "MutableMapping", "UserDict", "ProtectedDict", import sys import weakref -class Mapping(object): +class Mapping: """ In python-3.0, the UserDict.DictMixin class has been replaced by Mapping and MutableMapping from the collections module, but 2to3 @@ -289,7 +289,7 @@ def slot_dict_class(keys, prefix="_val_"): v = _slot_dict_classes.get((keys_set, prefix)) if v is None: - class SlotDict(object): + class SlotDict: allowed_keys = keys_set _prefix = prefix diff --git a/lib/portage/cache/template.py b/lib/portage/cache/template.py index e2dc3f088..850c133de 100644 --- a/lib/portage/cache/template.py +++ b/lib/portage/cache/template.py @@ -10,7 +10,7 @@ import warnings import operator -class database(object): +class database: # this is for metadata/cache transfer. # basically flags the cache needs be updated when transfered cache to cache. # leave this. diff --git a/lib/portage/checksum.py b/lib/portage/checksum.py index 4174638e6..bcc960526 100644 --- a/lib/portage/checksum.py +++ b/lib/portage/checksum.py @@ -52,7 +52,7 @@ def _open_file(filename): else: raise -class _generate_hash_function(object): +class _generate_hash_function: __slots__ = ("_hashobject",) @@ -159,7 +159,7 @@ if False: import binascii import pygcrypt.hashcontext - class GCryptHashWrapper(object): + class GCryptHashWrapper: def __init__(self, algo): self._obj = pygcrypt.hashcontext.HashContext(algo=algo, secure=False) @@ -287,7 +287,7 @@ if "WHIRLPOOL" not in hashfunc_map: # There is only one implementation for size -class SizeHash(object): +class SizeHash: def checksum_file(self, filename): size = os.stat(filename).st_size return (size, size) @@ -361,7 +361,7 @@ def _filter_unaccelarated_hashes(digests): return digests -class _hash_filter(object): +class _hash_filter: """ Implements filtering for PORTAGE_CHECKSUM_FILTER. """ diff --git a/lib/portage/dbapi/DummyTree.py b/lib/portage/dbapi/DummyTree.py index 6579e88e2..5ad7389d4 100644 --- a/lib/portage/dbapi/DummyTree.py +++ b/lib/portage/dbapi/DummyTree.py @@ -1,7 +1,7 @@ # Copyright 2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -class DummyTree(object): +class DummyTree: """ Most internal code only accesses the "dbapi" attribute of the binarytree, portagetree, and vartree classes. DummyTree is useful diff --git a/lib/portage/dbapi/IndexedPortdb.py b/lib/portage/dbapi/IndexedPortdb.py index 510e0278c..e8c5790c2 100644 --- a/lib/portage/dbapi/IndexedPortdb.py +++ b/lib/portage/dbapi/IndexedPortdb.py @@ -17,7 +17,7 @@ from portage.cache.index.pkg_desc_index import \ from portage.util.iterators.MultiIterGroupBy import MultiIterGroupBy from portage.versions import _pkg_str -class IndexedPortdb(object): +class IndexedPortdb: """ A portdbapi interface that uses a package description index to improve performance. If the description index is missing for a @@ -90,7 +90,7 @@ class IndexedPortdb(object): if index_missing: self._unindexed_cp_map = {} - class _NonIndexedStream(object): + class _NonIndexedStream: def __iter__(self_): for cp in self._portdb.cp_all( trees = index_missing): diff --git a/lib/portage/dbapi/IndexedVardb.py b/lib/portage/dbapi/IndexedVardb.py index e2910b27f..dfa72ff9e 100644 --- a/lib/portage/dbapi/IndexedVardb.py +++ b/lib/portage/dbapi/IndexedVardb.py @@ -6,7 +6,7 @@ from portage.dep import Atom from portage.exception import InvalidData from portage.versions import _pkg_str -class IndexedVardb(object): +class IndexedVardb: """ A vardbapi interface that sacrifices validation in order to improve performance. It takes advantage of vardbdbapi._aux_cache, diff --git a/lib/portage/dbapi/_ContentsCaseSensitivityManager.py b/lib/portage/dbapi/_ContentsCaseSensitivityManager.py index c479ec971..465d80554 100644 --- a/lib/portage/dbapi/_ContentsCaseSensitivityManager.py +++ b/lib/portage/dbapi/_ContentsCaseSensitivityManager.py @@ -1,7 +1,7 @@ # Copyright 2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -class ContentsCaseSensitivityManager(object): +class ContentsCaseSensitivityManager: """ Implicitly handles case transformations that are needed for case-insensitive support. diff --git a/lib/portage/dbapi/_VdbMetadataDelta.py b/lib/portage/dbapi/_VdbMetadataDelta.py index 7461f87c5..ffdc0b361 100644 --- a/lib/portage/dbapi/_VdbMetadataDelta.py +++ b/lib/portage/dbapi/_VdbMetadataDelta.py @@ -10,7 +10,7 @@ from portage import _encodings from portage.util import atomic_ofstream from portage.versions import cpv_getkey -class VdbMetadataDelta(object): +class VdbMetadataDelta: _format_version = "1" diff --git a/lib/portage/dbapi/__init__.py b/lib/portage/dbapi/__init__.py index f74cd946c..bea5a82cb 100644 --- a/lib/portage/dbapi/__init__.py +++ b/lib/portage/dbapi/__init__.py @@ -24,7 +24,7 @@ from portage.exception import InvalidData from portage.localization import _ from _emerge.Package import Package -class dbapi(object): +class dbapi: _category_re = re.compile(r'^\w[-.+\w]*$', re.UNICODE) _categories = None _use_mutable = False diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py index f6defbc30..102799f3d 100644 --- a/lib/portage/dbapi/bintree.py +++ b/lib/portage/dbapi/bintree.py @@ -327,7 +327,7 @@ class bindbapi(fakedbapi): return filesdict -class binarytree(object): +class binarytree: "this tree scans for a list of all packages available in PKGDIR" def __init__(self, _unused=DeprecationWarning, pkgdir=None, virtual=DeprecationWarning, settings=None): diff --git a/lib/portage/dbapi/porttree.py b/lib/portage/dbapi/porttree.py index d220292a8..14f1baa50 100644 --- a/lib/portage/dbapi/porttree.py +++ b/lib/portage/dbapi/porttree.py @@ -98,7 +98,7 @@ class _dummy_list(list): pass -class _better_cache(object): +class _better_cache: """ The purpose of better_cache is to locate catpkgs in repositories using ``os.listdir()`` as much as possible, which @@ -1311,7 +1311,7 @@ class portdbapi(dbapi): return True -class portagetree(object): +class portagetree: def __init__(self, root=DeprecationWarning, virtual=DeprecationWarning, settings=None): """ diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py index bb2dd1424..f22aa60ae 100644 --- a/lib/portage/dbapi/vartree.py +++ b/lib/portage/dbapi/vartree.py @@ -1240,7 +1240,7 @@ class vardbapi(dbapi): self._bump_mtime(pkg.mycpv) pkg._clear_contents_cache() - class _owners_cache(object): + class _owners_cache: """ This class maintains an hash table that serves to index package contents by mapping the basename of file to a list of possible @@ -1306,7 +1306,7 @@ class vardbapi(dbapi): counter = 0 return (str(cpv), counter, mtime) - class _owners_db(object): + class _owners_db: def __init__(self, vardb): self._vardb = vardb @@ -1520,7 +1520,7 @@ class vardbapi(dbapi): for result in search_future.result(): yield result -class vartree(object): +class vartree: "this tree will scan a var/db/pkg database located at root (passed to init)" def __init__(self, root=None, virtual=DeprecationWarning, categories=None, settings=None): @@ -1616,7 +1616,7 @@ class vartree(object): def populate(self): self.populated=1 -class dblink(object): +class dblink: """ This class provides an interface to the installed package database At present this is implemented as a text backend in /var/db/pkg. diff --git a/lib/portage/dbapi/virtual.py b/lib/portage/dbapi/virtual.py index c172e976d..807d89bb2 100644 --- a/lib/portage/dbapi/virtual.py +++ b/lib/portage/dbapi/virtual.py @@ -213,7 +213,7 @@ class fakedbapi(dbapi): raise KeyError(cpv) metadata.update(values) -class testdbapi(object): +class testdbapi: """A dbapi instance with completely fake functions to get by hitting disk TODO(antarus): This class really needs to be rewritten to have better stubs; but these work for now. diff --git a/lib/portage/debug.py b/lib/portage/debug.py index 193e62291..f7a7cabb2 100644 --- a/lib/portage/debug.py +++ b/lib/portage/debug.py @@ -21,7 +21,7 @@ def set_trace(on=True): sys.settrace(None) threading.settrace(None) -class trace_handler(object): +class trace_handler: def __init__(self): python_system_paths = [] @@ -100,7 +100,7 @@ class trace_handler(object): my_locals[k] = "omitted" return my_locals -class prefix_trimmer(object): +class prefix_trimmer: def __init__(self, prefix): self.prefix = prefix self.cut_index = len(prefix) diff --git a/lib/portage/dep/__init__.py b/lib/portage/dep/__init__.py index bfb957d89..c088ea009 100644 --- a/lib/portage/dep/__init__.py +++ b/lib/portage/dep/__init__.py @@ -840,12 +840,12 @@ def flatten(mylist): newlist.append(x) return newlist -class _use_dep(object): +class _use_dep: __slots__ = ("_eapi_attrs", "conditional", "missing_enabled", "missing_disabled", "disabled", "enabled", "tokens", "required") - class _conditionals_class(object): + class _conditionals_class: __slots__ = ("enabled", "disabled", "equal", "not_equal") def items(self): @@ -1222,10 +1222,10 @@ class Atom(str): # Distiguishes soname atoms from other atom types soname = False - class _blocker(object): + class _blocker: __slots__ = ("overlap",) - class _overlap(object): + class _overlap: __slots__ = ("forbid",) def __init__(self, forbid=False): @@ -2508,7 +2508,7 @@ def get_required_use_flags(required_use, eapi=None): return frozenset(used_flags) -class _RequiredUseLeaf(object): +class _RequiredUseLeaf: __slots__ = ('_satisfied', '_token') @@ -2519,7 +2519,7 @@ class _RequiredUseLeaf(object): def tounicode(self): return self._token -class _RequiredUseBranch(object): +class _RequiredUseBranch: __slots__ = ('_children', '_operator', '_parent', '_satisfied') diff --git a/lib/portage/dep/soname/SonameAtom.py b/lib/portage/dep/soname/SonameAtom.py index 2dae03c36..56667f15f 100644 --- a/lib/portage/dep/soname/SonameAtom.py +++ b/lib/portage/dep/soname/SonameAtom.py @@ -5,7 +5,7 @@ import sys from portage import _encodings, _unicode_encode -class SonameAtom(object): +class SonameAtom: __slots__ = ("multilib_category", "soname", "_hash_key", "_hash_value") diff --git a/lib/portage/dispatch_conf.py b/lib/portage/dispatch_conf.py index 89ede2711..71693bb36 100644 --- a/lib/portage/dispatch_conf.py +++ b/lib/portage/dispatch_conf.py @@ -97,7 +97,7 @@ def diff_mixed(func, file1, file2): if tempdir is not None: shutil.rmtree(tempdir) -class diff_mixed_wrapper(object): +class diff_mixed_wrapper: def __init__(self, f, *args): self._func = f diff --git a/lib/portage/eclass_cache.py b/lib/portage/eclass_cache.py index 61c675b21..4a09b82fb 100644 --- a/lib/portage/eclass_cache.py +++ b/lib/portage/eclass_cache.py @@ -16,7 +16,7 @@ from portage import checksum from portage import _shell_quote -class hashed_path(object): +class hashed_path: def __init__(self, location): self.location = location @@ -51,7 +51,7 @@ class hashed_path(object): def __repr__(self): return "<portage.eclass_cache.hashed_path('%s')>" % (self.location,) -class cache(object): +class cache: """ Maintains the cache information about eclasses used in ebuild. """ diff --git a/lib/portage/elog/messages.py b/lib/portage/elog/messages.py index 4917d44dd..3731e6c4d 100644 --- a/lib/portage/elog/messages.py +++ b/lib/portage/elog/messages.py @@ -172,7 +172,7 @@ _functions = { "einfo": ("INFO", "GOOD"), "eerror": ("ERROR", "BAD"), } -class _make_msgfunction(object): +class _make_msgfunction: __slots__ = ('_color', '_level') def __init__(self, level, color): self._level = level diff --git a/lib/portage/emaint/main.py b/lib/portage/emaint/main.py index f448d6baa..c743f9bc7 100644 --- a/lib/portage/emaint/main.py +++ b/lib/portage/emaint/main.py @@ -13,7 +13,7 @@ from portage.module import Modules from portage.progress import ProgressBar from portage.emaint.defaults import DEFAULT_OPTIONS -class OptionItem(object): +class OptionItem: """class to hold module ArgumentParser options data """ @@ -100,7 +100,7 @@ def module_opts(module_controller, module): return _usage -class TaskHandler(object): +class TaskHandler: """Handles the running of the tasks it is given""" def __init__(self, show_progress_bar=True, verbose=True, callback=None, module_output=None): diff --git a/lib/portage/emaint/modules/binhost/binhost.py b/lib/portage/emaint/modules/binhost/binhost.py index 6a17610bb..9b07470d0 100644 --- a/lib/portage/emaint/modules/binhost/binhost.py +++ b/lib/portage/emaint/modules/binhost/binhost.py @@ -12,7 +12,7 @@ from portage.versions import _pkg_str import sys -class BinhostHandler(object): +class BinhostHandler: short_desc = "Generate a metadata index for binary packages" diff --git a/lib/portage/emaint/modules/config/config.py b/lib/portage/emaint/modules/config/config.py index a0d56992c..26edca649 100644 --- a/lib/portage/emaint/modules/config/config.py +++ b/lib/portage/emaint/modules/config/config.py @@ -6,7 +6,7 @@ from portage import os from portage.const import PRIVATE_PATH from portage.util import grabdict, writedict -class CleanConfig(object): +class CleanConfig: short_desc = "Discard any no longer installed configs from emerge's tracker list" diff --git a/lib/portage/emaint/modules/logs/logs.py b/lib/portage/emaint/modules/logs/logs.py index a3fa2b5b8..b197db718 100644 --- a/lib/portage/emaint/modules/logs/logs.py +++ b/lib/portage/emaint/modules/logs/logs.py @@ -14,7 +14,7 @@ ERROR_MESSAGES = { } -class CleanLogs(object): +class CleanLogs: short_desc = "Clean PORTAGE_LOGDIR logs" diff --git a/lib/portage/emaint/modules/merges/merges.py b/lib/portage/emaint/modules/merges/merges.py index e166150f4..efc4ae699 100644 --- a/lib/portage/emaint/modules/merges/merges.py +++ b/lib/portage/emaint/modules/merges/merges.py @@ -11,7 +11,7 @@ import subprocess import sys import time -class TrackingFile(object): +class TrackingFile: """File for keeping track of failed merges.""" @@ -80,7 +80,7 @@ class TrackingFile(object): return self.load().items().__iter__() -class MergesHandler(object): +class MergesHandler: """Handle failed package merges.""" short_desc = "Remove failed merges" diff --git a/lib/portage/emaint/modules/move/move.py b/lib/portage/emaint/modules/move/move.py index e9a6acb6b..e2df53fd8 100644 --- a/lib/portage/emaint/modules/move/move.py +++ b/lib/portage/emaint/modules/move/move.py @@ -7,7 +7,7 @@ from portage.exception import InvalidData from _emerge.Package import Package from portage.versions import _pkg_str -class MoveHandler(object): +class MoveHandler: def __init__(self, tree, porttree): self._tree = tree diff --git a/lib/portage/emaint/modules/resume/resume.py b/lib/portage/emaint/modules/resume/resume.py index 580643b26..759af74e9 100644 --- a/lib/portage/emaint/modules/resume/resume.py +++ b/lib/portage/emaint/modules/resume/resume.py @@ -4,7 +4,7 @@ import portage -class CleanResume(object): +class CleanResume: short_desc = "Discard emerge --resume merge lists" diff --git a/lib/portage/emaint/modules/sync/sync.py b/lib/portage/emaint/modules/sync/sync.py index d41a8158e..41375aeaa 100644 --- a/lib/portage/emaint/modules/sync/sync.py +++ b/lib/portage/emaint/modules/sync/sync.py @@ -33,7 +33,7 @@ portage.proxy.lazyimport.lazyimport(globals(), warn = create_color_func("WARN") -class SyncRepos(object): +class SyncRepos: short_desc = "Check repos.conf settings and/or sync repositories" diff --git a/lib/portage/emaint/modules/world/world.py b/lib/portage/emaint/modules/world/world.py index d142c3dda..5771cc6ae 100644 --- a/lib/portage/emaint/modules/world/world.py +++ b/lib/portage/emaint/modules/world/world.py @@ -5,7 +5,7 @@ import portage from portage import os -class WorldHandler(object): +class WorldHandler: short_desc = "Fix problems in the world file" diff --git a/lib/portage/env/loaders.py b/lib/portage/env/loaders.py index f86988471..5fa5452af 100644 --- a/lib/portage/env/loaders.py +++ b/lib/portage/env/loaders.py @@ -69,7 +69,7 @@ def RecursiveFileLoader(filename): yield filename -class DataLoader(object): +class DataLoader: def __init__(self, validator): f = validator diff --git a/lib/portage/getbinpkg.py b/lib/portage/getbinpkg.py index 03522689b..a15e3c3bf 100644 --- a/lib/portage/getbinpkg.py +++ b/lib/portage/getbinpkg.py @@ -690,7 +690,7 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache= break # We may have metadata... now we run through the tbz2 list and check. - class CacheStats(object): + class CacheStats: from time import time def __init__(self, out): self.misses = 0 @@ -799,7 +799,7 @@ def _cmp_cpv(d1, d2): else: return -1 -class PackageIndex(object): +class PackageIndex: def __init__(self, allowed_pkg_keys=None, diff --git a/lib/portage/locks.py b/lib/portage/locks.py index 9df0089e6..2096024cb 100644 --- a/lib/portage/locks.py +++ b/lib/portage/locks.py @@ -84,7 +84,7 @@ def _get_lock_fn(): _open_fds = {} _open_inodes = {} -class _lock_manager(object): +class _lock_manager: __slots__ = ('fd', 'inode_key') def __init__(self, fd, fstat_result, path): self.fd = fd diff --git a/lib/portage/manifest.py b/lib/portage/manifest.py index 7671bae34..40f84a9b4 100644 --- a/lib/portage/manifest.py +++ b/lib/portage/manifest.py @@ -80,7 +80,7 @@ def parseManifest2(line): name=match.group(2), hashes=hashes) return myentry -class ManifestEntry(object): +class ManifestEntry: __slots__ = ("type", "name", "hashes") def __init__(self, **kwargs): for k, v in kwargs.items(): @@ -108,7 +108,7 @@ class Manifest2Entry(ManifestEntry): return not self.__eq__(other) -class Manifest(object): +class Manifest: parsers = (parseManifest2,) def __init__(self, pkgdir, distdir=None, fetchlist_dict=None, manifest1_compat=DeprecationWarning, from_scratch=False, thin=False, diff --git a/lib/portage/metadata.py b/lib/portage/metadata.py index ffb7672d3..935bcc307 100644 --- a/lib/portage/metadata.py +++ b/lib/portage/metadata.py @@ -32,7 +32,7 @@ def action_metadata(settings, portdb, myopts, porttrees=None): auxdbkeys = portdb._known_keys - class TreeData(object): + class TreeData: __slots__ = ('dest_db', 'eclass_db', 'path', 'src_db', 'valid_nodes') def __init__(self, dest_db, eclass_db, path, src_db): self.dest_db = dest_db diff --git a/lib/portage/module.py b/lib/portage/module.py index bd7c94d4e..301bfbdba 100644 --- a/lib/portage/module.py +++ b/lib/portage/module.py @@ -19,7 +19,7 @@ class ModuleVersionError(PortageException): '''An incompatible module version''' -class Module(object): +class Module: """Class to define and hold our plug-in module @type name: string @@ -83,7 +83,7 @@ class Module(object): return mod_class -class Modules(object): +class Modules: """Dynamic modules system for loading and retrieving any of the installed emaint modules and/or provided class's diff --git a/lib/portage/news.py b/lib/portage/news.py index 908a0224b..2731ea889 100644 --- a/lib/portage/news.py +++ b/lib/portage/news.py @@ -32,7 +32,7 @@ from portage.output import colorize from portage.exception import (InvalidLocation, OperationNotPermitted, PermissionDenied, ReadOnlyFileSystem) -class NewsManager(object): +class NewsManager: """ This object manages GLEP 42 style news items. It will cache news items that have previously shown up and notify users when there are relevant news @@ -200,7 +200,7 @@ _profileRE = re.compile("Display-If-Profile:(.*)\n") _keywordRE = re.compile("Display-If-Keyword:(.*)\n") _valid_profile_RE = re.compile(r'^[^*]+(/\*)?$') -class NewsItem(object): +class NewsItem: """ This class encapsulates a GLEP 42 style news item. It's purpose is to wrap parsing of these news items such that portage can determine @@ -313,7 +313,7 @@ class NewsItem(object): self._parsed = True -class DisplayRestriction(object): +class DisplayRestriction: """ A base restriction object representing a restriction of display. news items may have 'relevancy restrictions' preventing them from diff --git a/lib/portage/output.py b/lib/portage/output.py index dbfb81714..34005c509 100644 --- a/lib/portage/output.py +++ b/lib/portage/output.py @@ -347,7 +347,7 @@ compat_functions_colors = [ "brown", "darkyellow", "red", "darkred", ] -class create_color_func(object): +class create_color_func: __slots__ = ("_color_key",) def __init__(self, color_key): self._color_key = color_key @@ -357,7 +357,7 @@ class create_color_func(object): for c in compat_functions_colors: globals()[c] = create_color_func(c) -class ConsoleStyleFile(object): +class ConsoleStyleFile: """ A file-like object that behaves something like the colorize() function. Style identifiers @@ -482,7 +482,7 @@ def set_term_size(lines, columns, fd): except CommandNotFound: writemsg(_("portage: stty: command not found\n"), noiselevel=-1) -class EOutput(object): +class EOutput: """ Performs fancy terminal formatting for status and informational messages. @@ -640,7 +640,7 @@ class EOutput(object): self.__eend("ewend", errno, msg) self.__last_e_cmd = "ewend" -class ProgressBar(object): +class ProgressBar: """The interface is copied from the ProgressBar class from the EasyDialogs module (which is Mac only).""" def __init__(self, title=None, maxval=0, label=None, max_desc_length=25): diff --git a/lib/portage/package/ebuild/_config/KeywordsManager.py b/lib/portage/package/ebuild/_config/KeywordsManager.py index 48397b022..136f57c35 100644 --- a/lib/portage/package/ebuild/_config/KeywordsManager.py +++ b/lib/portage/package/ebuild/_config/KeywordsManager.py @@ -16,7 +16,7 @@ from portage.package.ebuild._config.helper import ordered_by_atom_specificity from portage.util import grabdict_package, stack_lists, writemsg from portage.versions import _pkg_str -class KeywordsManager(object): +class KeywordsManager: """Manager class to handle keywords processing and validation""" def __init__(self, profiles, abs_user_config, user_config=True, diff --git a/lib/portage/package/ebuild/_config/LicenseManager.py b/lib/portage/package/ebuild/_config/LicenseManager.py index 1d4e08207..fcffdb12e 100644 --- a/lib/portage/package/ebuild/_config/LicenseManager.py +++ b/lib/portage/package/ebuild/_config/LicenseManager.py @@ -15,7 +15,7 @@ from portage.versions import cpv_getkey, _pkg_str from portage.package.ebuild._config.helper import ordered_by_atom_specificity -class LicenseManager(object): +class LicenseManager: def __init__(self, license_group_locations, abs_user_config, user_config=True): diff --git a/lib/portage/package/ebuild/_config/LocationsManager.py b/lib/portage/package/ebuild/_config/LocationsManager.py index 14eb8f257..b90b9227c 100644 --- a/lib/portage/package/ebuild/_config/LocationsManager.py +++ b/lib/portage/package/ebuild/_config/LocationsManager.py @@ -35,7 +35,7 @@ _profile_node = collections.namedtuple('_profile_node', _allow_parent_colon = frozenset( ["portage-2"]) -class LocationsManager(object): +class LocationsManager: def __init__(self, config_root=None, eprefix=None, config_profile_path=None, local_config=True, \ target_root=None, sysroot=None): diff --git a/lib/portage/package/ebuild/_config/MaskManager.py b/lib/portage/package/ebuild/_config/MaskManager.py index 40cc6e0c4..7714456e1 100644 --- a/lib/portage/package/ebuild/_config/MaskManager.py +++ b/lib/portage/package/ebuild/_config/MaskManager.py @@ -13,7 +13,7 @@ from portage.localization import _ from portage.util import append_repo, grabfile_package, stack_lists, writemsg from portage.versions import _pkg_str -class MaskManager(object): +class MaskManager: def __init__(self, repositories, profiles, abs_user_config, user_config=True, strict_umatched_removal=False): diff --git a/lib/portage/package/ebuild/_config/UseManager.py b/lib/portage/package/ebuild/_config/UseManager.py index 7302876ab..190ab1b7c 100644 --- a/lib/portage/package/ebuild/_config/UseManager.py +++ b/lib/portage/package/ebuild/_config/UseManager.py @@ -16,7 +16,7 @@ from portage.versions import _pkg_str from portage.package.ebuild._config.helper import ordered_by_atom_specificity -class UseManager(object): +class UseManager: def __init__(self, repositories, profiles, abs_user_config, is_stable, user_config=True): diff --git a/lib/portage/package/ebuild/_config/VirtualsManager.py b/lib/portage/package/ebuild/_config/VirtualsManager.py index c4d1e3635..a08c969ac 100644 --- a/lib/portage/package/ebuild/_config/VirtualsManager.py +++ b/lib/portage/package/ebuild/_config/VirtualsManager.py @@ -14,7 +14,7 @@ from portage.localization import _ from portage.util import grabdict, stack_dictlist, writemsg from portage.versions import cpv_getkey -class VirtualsManager(object): +class VirtualsManager: def __init__(self, *args, **kwargs): if kwargs.get("_copy"): diff --git a/lib/portage/package/ebuild/_config/features_set.py b/lib/portage/package/ebuild/_config/features_set.py index 62236fd89..d38874379 100644 --- a/lib/portage/package/ebuild/_config/features_set.py +++ b/lib/portage/package/ebuild/_config/features_set.py @@ -12,7 +12,7 @@ from portage.localization import _ from portage.output import colorize from portage.util import writemsg_level -class features_set(object): +class features_set: """ Provides relevant set operations needed for access and modification of config.features. The FEATURES variable is automatically synchronized diff --git a/lib/portage/package/ebuild/_ipc/IpcCommand.py b/lib/portage/package/ebuild/_ipc/IpcCommand.py index efb27f0a2..42a612753 100644 --- a/lib/portage/package/ebuild/_ipc/IpcCommand.py +++ b/lib/portage/package/ebuild/_ipc/IpcCommand.py @@ -1,7 +1,7 @@ # Copyright 2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -class IpcCommand(object): +class IpcCommand: __slots__ = () diff --git a/lib/portage/package/ebuild/config.py b/lib/portage/package/ebuild/config.py index 2e62ef5ce..527bdf9c3 100644 --- a/lib/portage/package/ebuild/config.py +++ b/lib/portage/package/ebuild/config.py @@ -117,7 +117,7 @@ def _lazy_iuse_regex(iuse_implicit): regex = regex.replace("\\.\\*", ".*") return regex -class _iuse_implicit_match_cache(object): +class _iuse_implicit_match_cache: def __init__(self, settings): self._iuse_implicit_re = re.compile("^(%s)$" % \ @@ -135,7 +135,7 @@ class _iuse_implicit_match_cache(object): self._cache[flag] = m return m -class config(object): +class config: """ This class encompasses the main portage configuration. Data is pulled from ROOT/PORTDIR/profiles/, from ROOT/etc/make.profile incrementally through all @@ -1313,7 +1313,7 @@ class config(object): self.useforce = self._use_manager.getUseForce() self.regenerate() - class _lazy_vars(object): + class _lazy_vars: __slots__ = ('built_use', 'settings', 'values') @@ -1346,7 +1346,7 @@ class config(object): restrict = set() return ' '.join(sorted(restrict)) - class _lazy_use_expand(object): + class _lazy_use_expand: """ Lazily evaluate USE_EXPAND variables since they are only needed when an ebuild shell is spawned. Variables values are made consistent with diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py index 35f55e9be..f4bb78076 100644 --- a/lib/portage/package/ebuild/doebuild.py +++ b/lib/portage/package/ebuild/doebuild.py @@ -1416,7 +1416,7 @@ def _validate_deps(mysettings, myroot, mydo, mydbapi): mydbapi.aux_get(mysettings.mycpv, all_keys, myrepo=mysettings.get("PORTAGE_REPO_NAME")))) - class FakeTree(object): + class FakeTree: def __init__(self, mydb): self.dbapi = mydb diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py index e384af868..bcec7c97b 100644 --- a/lib/portage/package/ebuild/fetch.py +++ b/lib/portage/package/ebuild/fetch.py @@ -346,7 +346,7 @@ _size_suffix_map = { } -class FlatLayout(object): +class FlatLayout: def get_path(self, filename): return filename @@ -366,7 +366,7 @@ class FlatLayout(object): return len(args) == 1 -class FilenameHashLayout(object): +class FilenameHashLayout: def __init__(self, algo, cutoffs): self.algo = algo self.cutoffs = [int(x) for x in cutoffs.split(':')] @@ -415,7 +415,7 @@ class FilenameHashLayout(object): return False -class MirrorLayoutConfig(object): +class MirrorLayoutConfig: """ Class to read layout.conf from a mirror. """ diff --git a/lib/portage/package/ebuild/getmaskingstatus.py b/lib/portage/package/ebuild/getmaskingstatus.py index b5cb0fce1..0cfc619dc 100644 --- a/lib/portage/package/ebuild/getmaskingstatus.py +++ b/lib/portage/package/ebuild/getmaskingstatus.py @@ -13,7 +13,7 @@ from portage.package.ebuild.config import config from portage.versions import catpkgsplit, _pkg_str -class _UnmaskHint(object): +class _UnmaskHint: __slots__ = ('key', 'value') @@ -21,7 +21,7 @@ class _UnmaskHint(object): self.key = key self.value = value -class _MaskReason(object): +class _MaskReason: __slots__ = ('category', 'message', 'unmask_hint') diff --git a/lib/portage/process.py b/lib/portage/process.py index b7316c89d..f0019f2c0 100644 --- a/lib/portage/process.py +++ b/lib/portage/process.py @@ -737,7 +737,7 @@ def _exec(binary, mycommand, opt_name, fd_pipes, os.execve(binary, myargs, env) -class _unshare_validator(object): +class _unshare_validator: """ In order to prevent failed unshare calls from corrupting the state of an essential process, validate the relevant unshare call in a diff --git a/lib/portage/progress.py b/lib/portage/progress.py index e43c2afbd..6592c3a54 100644 --- a/lib/portage/progress.py +++ b/lib/portage/progress.py @@ -7,7 +7,7 @@ import signal import portage -class ProgressHandler(object): +class ProgressHandler: def __init__(self): self.reset() diff --git a/lib/portage/proxy/objectproxy.py b/lib/portage/proxy/objectproxy.py index a1f1b6ed6..5e003049c 100644 --- a/lib/portage/proxy/objectproxy.py +++ b/lib/portage/proxy/objectproxy.py @@ -5,7 +5,7 @@ import sys __all__ = ['ObjectProxy'] -class ObjectProxy(object): +class ObjectProxy: """ Object that acts as a proxy to another object, forwarding diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py index 210ae3aa0..c27573c15 100644 --- a/lib/portage/repository/config.py +++ b/lib/portage/repository/config.py @@ -66,7 +66,7 @@ def _find_invalid_path_char(path, pos=0, endpos=None): return -1 -class RepoConfig(object): +class RepoConfig: """Stores config of one repository""" __slots__ = ( @@ -531,7 +531,7 @@ class RepoConfig(object): return "%s" % (d,) -class RepoConfigLoader(object): +class RepoConfigLoader: """Loads and store config of several repositories, loaded from PORTDIR_OVERLAY or repos.conf""" @staticmethod diff --git a/lib/portage/repository/storage/interface.py b/lib/portage/repository/storage/interface.py index f83c42b84..ce8a2a170 100644 --- a/lib/portage/repository/storage/interface.py +++ b/lib/portage/repository/storage/interface.py @@ -11,7 +11,7 @@ class RepoStorageException(PortageException): """ -class RepoStorageInterface(object): +class RepoStorageInterface: """ Abstract repository storage interface. diff --git a/lib/portage/sync/config_checks.py b/lib/portage/sync/config_checks.py index db316aa88..3157d6130 100644 --- a/lib/portage/sync/config_checks.py +++ b/lib/portage/sync/config_checks.py @@ -34,7 +34,7 @@ def check_type(repo, logger, module_names): return True -class CheckSyncConfig(object): +class CheckSyncConfig: '''Base repos.conf settings checks class''' def __init__(self, repo=None, logger=None): diff --git a/lib/portage/sync/controller.py b/lib/portage/sync/controller.py index 43bb5d520..410cb9a92 100644 --- a/lib/portage/sync/controller.py +++ b/lib/portage/sync/controller.py @@ -29,7 +29,7 @@ from portage import util from _emerge.CompositeTask import CompositeTask -class TaskHandler(object): +class TaskHandler: """Handles the running of the tasks it is given """ @@ -82,7 +82,7 @@ def print_results(results): print("\n") -class SyncManager(object): +class SyncManager: '''Main sync control module''' def __init__(self, settings, logger): diff --git a/lib/portage/sync/syncbase.py b/lib/portage/sync/syncbase.py index b294ef5a6..5f18e5ba3 100644 --- a/lib/portage/sync/syncbase.py +++ b/lib/portage/sync/syncbase.py @@ -20,7 +20,7 @@ from portage.util.futures.retry import retry from portage.util.futures.executor.fork import ForkExecutor from . import _SUBMODULE_PATH_MAP -class SyncBase(object): +class SyncBase: '''Base Sync class for subclassing''' short_desc = "Perform sync operations on repositories" diff --git a/lib/portage/tests/dep/testAtom.py b/lib/portage/tests/dep/testAtom.py index 4ee06e0a2..b454782d1 100644 --- a/lib/portage/tests/dep/testAtom.py +++ b/lib/portage/tests/dep/testAtom.py @@ -257,7 +257,7 @@ class TestAtom(TestCase): ("dev-libs/A[a,b=,!c=,d?,!e?,-f]", [], ["a", "b", "c", "d", "e", "f"], None), ) - class use_flag_validator(object): + class use_flag_validator: def __init__(self, iuse): self.iuse = iuse diff --git a/lib/portage/tests/dep/test_isvalidatom.py b/lib/portage/tests/dep/test_isvalidatom.py index 9d3367aab..58d999646 100644 --- a/lib/portage/tests/dep/test_isvalidatom.py +++ b/lib/portage/tests/dep/test_isvalidatom.py @@ -4,7 +4,7 @@ from portage.tests import TestCase from portage.dep import isvalidatom -class IsValidAtomTestCase(object): +class IsValidAtomTestCase: def __init__(self, atom, expected, allow_wildcard=False, allow_repo=False, allow_build_id=False): self.atom = atom diff --git a/lib/portage/tests/dep/test_match_from_list.py b/lib/portage/tests/dep/test_match_from_list.py index 3ad119fe6..878164889 100644 --- a/lib/portage/tests/dep/test_match_from_list.py +++ b/lib/portage/tests/dep/test_match_from_list.py @@ -7,7 +7,7 @@ from portage.dep import Atom, match_from_list, _repo_separator from portage.versions import catpkgsplit, _pkg_str -class Package(object): +class Package: """ Provides a minimal subset of attributes of _emerge.Package.Package """ @@ -31,11 +31,11 @@ class Package(object): self.use = self._use_class([]) self.iuse = self._iuse_class([]) - class _use_class(object): + class _use_class: def __init__(self, use): self.enabled = frozenset(use) - class _iuse_class(object): + class _iuse_class: def __init__(self, iuse): self.all = frozenset(iuse) diff --git a/lib/portage/tests/dep/test_use_reduce.py b/lib/portage/tests/dep/test_use_reduce.py index d9ee5a309..316f28952 100644 --- a/lib/portage/tests/dep/test_use_reduce.py +++ b/lib/portage/tests/dep/test_use_reduce.py @@ -5,7 +5,7 @@ from portage.tests import TestCase from portage.exception import InvalidDependString from portage.dep import Atom, use_reduce -class UseReduceTestCase(object): +class UseReduceTestCase: def __init__(self, deparray, uselist=[], masklist=[], matchall=0, excludeall=[], is_src_uri=False, eapi='0', opconvert=False, flat=False, expected_result=None, diff --git a/lib/portage/tests/resolver/ResolverPlayground.py b/lib/portage/tests/resolver/ResolverPlayground.py index d39073a4c..281cd0736 100644 --- a/lib/portage/tests/resolver/ResolverPlayground.py +++ b/lib/portage/tests/resolver/ResolverPlayground.py @@ -35,7 +35,7 @@ except ImportError: cnf_path_repoman = None -class ResolverPlayground(object): +class ResolverPlayground: """ This class helps to create the necessary files on disk and the needed settings instances, etc. for the resolver to do @@ -641,7 +641,7 @@ class ResolverPlayground(object): else: shutil.rmtree(self.eroot) -class ResolverPlaygroundTestCase(object): +class ResolverPlaygroundTestCase: def __init__(self, request, **kwargs): self.all_permutations = kwargs.pop("all_permutations", False) @@ -819,7 +819,7 @@ def _mergelist_str(x, depgraph): return mergelist_str -class ResolverPlaygroundResult(object): +class ResolverPlaygroundResult: checks = ( "success", "mergelist", "use_changes", "license_changes", @@ -913,7 +913,7 @@ class ResolverPlaygroundResult(object): if required_use_unsatisfied: self.required_use_unsatisfied = set(required_use_unsatisfied) -class ResolverPlaygroundDepcleanResult(object): +class ResolverPlaygroundDepcleanResult: checks = ( "success", "cleanlist", "ordered", "req_pkg_count", diff --git a/lib/portage/tests/util/futures/asyncio/test_pipe_closed.py b/lib/portage/tests/util/futures/asyncio/test_pipe_closed.py index b8e5556d0..3cf88f32d 100644 --- a/lib/portage/tests/util/futures/asyncio/test_pipe_closed.py +++ b/lib/portage/tests/util/futures/asyncio/test_pipe_closed.py @@ -18,7 +18,7 @@ from portage.util.futures.unix_events import ( ) -class _PipeClosedTestCase(object): +class _PipeClosedTestCase: def test_pipe(self): read_end, write_end = os.pipe() diff --git a/lib/portage/tests/util/futures/test_compat_coroutine.py b/lib/portage/tests/util/futures/test_compat_coroutine.py index b561c0227..5a8230432 100644 --- a/lib/portage/tests/util/futures/test_compat_coroutine.py +++ b/lib/portage/tests/util/futures/test_compat_coroutine.py @@ -123,7 +123,7 @@ class CompatCoroutineTestCase(TestCase): def test_method_coroutine(self): - class Cubby(object): + class Cubby: _empty = object() diff --git a/lib/portage/tests/util/futures/test_retry.py b/lib/portage/tests/util/futures/test_retry.py index 68c9969ac..124e25614 100644 --- a/lib/portage/tests/util/futures/test_retry.py +++ b/lib/portage/tests/util/futures/test_retry.py @@ -23,7 +23,7 @@ class SucceedLaterException(Exception): pass -class SucceedLater(object): +class SucceedLater: """ A callable object that succeeds some duration of time has passed. """ @@ -48,7 +48,7 @@ class SucceedNeverException(Exception): pass -class SucceedNever(object): +class SucceedNever: """ A callable object that never succeeds. """ @@ -60,7 +60,7 @@ class SucceedNever(object): return result -class HangForever(object): +class HangForever: """ A callable object that sleeps forever. """ diff --git a/lib/portage/tests/util/test_socks5.py b/lib/portage/tests/util/test_socks5.py index e567006ea..be0021e30 100644 --- a/lib/portage/tests/util/test_socks5.py +++ b/lib/portage/tests/util/test_socks5.py @@ -51,7 +51,7 @@ class _Handler(BaseHTTPRequestHandler): pass -class AsyncHTTPServer(object): +class AsyncHTTPServer: def __init__(self, host, content, loop): self._host = host self._content = content diff --git a/lib/portage/util/SlotObject.py b/lib/portage/util/SlotObject.py index ba6215874..1f38a6cb8 100644 --- a/lib/portage/util/SlotObject.py +++ b/lib/portage/util/SlotObject.py @@ -1,7 +1,7 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -class SlotObject(object): +class SlotObject: __slots__ = ("__weakref__",) def __init__(self, **kwargs): diff --git a/lib/portage/util/__init__.py b/lib/portage/util/__init__.py index 59f1518d6..a143bca85 100644 --- a/lib/portage/util/__init__.py +++ b/lib/portage/util/__init__.py @@ -942,7 +942,7 @@ def dump_traceback(msg, noiselevel=1): writemsg(error+"\n", noiselevel=noiselevel) writemsg("====================================\n\n", noiselevel=noiselevel) -class cmp_sort_key(object): +class cmp_sort_key: """ In python-3.0 the list.sort() method no longer has a "cmp" keyword argument. This class acts as an adapter which converts a cmp function @@ -966,7 +966,7 @@ class cmp_sort_key(object): def __call__(self, lhs): return self._cmp_key(self._cmp_func, lhs) - class _cmp_key(object): + class _cmp_key: __slots__ = ("_cmp_func", "_obj") def __init__(self, cmp_func, obj): @@ -1525,7 +1525,7 @@ class LazyItemsDict(UserDict): UserDict.__setitem__(result, k_copy, deepcopy(self[k], memo)) return result - class _LazyItem(object): + class _LazyItem: __slots__ = ('func', 'pargs', 'kwargs', 'singleton') @@ -1560,7 +1560,7 @@ class LazyItemsDict(UserDict): result.singleton = deepcopy(self.singleton, memo) return result -class ConfigProtect(object): +class ConfigProtect: def __init__(self, myroot, protect_list, mask_list, case_insensitive=False): self.myroot = myroot diff --git a/lib/portage/util/_dyn_libs/LinkageMapELF.py b/lib/portage/util/_dyn_libs/LinkageMapELF.py index a3ec4fcc7..b47cb1251 100644 --- a/lib/portage/util/_dyn_libs/LinkageMapELF.py +++ b/lib/portage/util/_dyn_libs/LinkageMapELF.py @@ -51,7 +51,7 @@ _approx_multilib_categories = { "X86_64": "x86_64", } -class LinkageMapELF(object): +class LinkageMapELF: """Models dynamic linker dependencies.""" @@ -59,7 +59,7 @@ class LinkageMapELF(object): _soname_map_class = slot_dict_class( ("consumers", "providers"), prefix="") - class _obj_properties_class(object): + class _obj_properties_class: __slots__ = ("arch", "needed", "runpaths", "soname", "alt_paths", "owner",) @@ -102,7 +102,7 @@ class LinkageMapELF(object): self._obj_key_cache[path] = key return key - class _ObjectKey(object): + class _ObjectKey: """Helper class used as _obj_properties keys for objects.""" @@ -485,7 +485,7 @@ class LinkageMapELF(object): os = _os_merge - class _LibraryCache(object): + class _LibraryCache: """ Caches properties associated with paths. diff --git a/lib/portage/util/_dyn_libs/NeededEntry.py b/lib/portage/util/_dyn_libs/NeededEntry.py index 154f50690..05b0b1689 100644 --- a/lib/portage/util/_dyn_libs/NeededEntry.py +++ b/lib/portage/util/_dyn_libs/NeededEntry.py @@ -7,7 +7,7 @@ from portage import _encodings, _unicode_encode from portage.exception import InvalidData from portage.localization import _ -class NeededEntry(object): +class NeededEntry: """ Represents one entry (line) from a NEEDED.ELF.2 file. The entry must have 5 or more semicolon-delimited fields in order to be diff --git a/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py b/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py index ec8fdff5d..68b79a18d 100644 --- a/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py +++ b/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py @@ -22,7 +22,7 @@ from portage.versions import cpv_getkey from portage.locks import lockfile, unlockfile -class PreservedLibsRegistry(object): +class PreservedLibsRegistry: """ This class handles the tracking of preserved library objects """ # JSON read support has been available since portage-2.2.0_alpha89. diff --git a/lib/portage/util/_dyn_libs/soname_deps.py b/lib/portage/util/_dyn_libs/soname_deps.py index d81a9fac6..9010abb27 100644 --- a/lib/portage/util/_dyn_libs/soname_deps.py +++ b/lib/portage/util/_dyn_libs/soname_deps.py @@ -15,7 +15,7 @@ from portage.util import ( ) -class SonameDepsProcessor(object): +class SonameDepsProcessor: """ Processes NEEDED.ELF.2 entries for one package, in order to generate REQUIRES and PROVIDES metadata. diff --git a/lib/portage/util/_eventloop/EventLoop.py b/lib/portage/util/_eventloop/EventLoop.py index 7dcc7a231..9d2b91145 100644 --- a/lib/portage/util/_eventloop/EventLoop.py +++ b/lib/portage/util/_eventloop/EventLoop.py @@ -39,7 +39,7 @@ from ..SlotObject import SlotObject from .PollConstants import PollConstants from .PollSelectAdapter import PollSelectAdapter -class EventLoop(object): +class EventLoop: """ An event loop, intended to be compatible with the GLib event loop. Call the iteration method in order to execute one iteration of the @@ -66,7 +66,7 @@ class EventLoop(object): __slots__ = ("args", "function", "calling", "interval", "source_id", "timestamp") - class _handle(object): + class _handle: """ A callback wrapper object, compatible with asyncio.Handle. """ @@ -83,7 +83,7 @@ class EventLoop(object): """ self._loop.source_remove(self._callback_id) - class _call_soon_callback(object): + class _call_soon_callback: """ Wraps a call_soon callback, and always returns False, since these callbacks are only supposed to run once. @@ -98,7 +98,7 @@ class EventLoop(object): self._callback(*self._args) return False - class _selector_callback(object): + class _selector_callback: """ Wraps an callback, and always returns True, for callbacks that are supposed to run repeatedly. @@ -1121,7 +1121,7 @@ def create_poll_instance(): return select.poll() return PollSelectAdapter() -class _epoll_adapter(object): +class _epoll_adapter: """ Wraps a select.epoll instance in order to make it compatible with select.poll instances. This is necessary since epoll instances diff --git a/lib/portage/util/_eventloop/PollConstants.py b/lib/portage/util/_eventloop/PollConstants.py index d0270a996..e070b80f6 100644 --- a/lib/portage/util/_eventloop/PollConstants.py +++ b/lib/portage/util/_eventloop/PollConstants.py @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 import select -class PollConstants(object): +class PollConstants: """ Provides POLL* constants that are equivalent to those from the diff --git a/lib/portage/util/_eventloop/PollSelectAdapter.py b/lib/portage/util/_eventloop/PollSelectAdapter.py index 32b404b67..53a2173ca 100644 --- a/lib/portage/util/_eventloop/PollSelectAdapter.py +++ b/lib/portage/util/_eventloop/PollSelectAdapter.py @@ -6,7 +6,7 @@ from __future__ import division from .PollConstants import PollConstants import select -class PollSelectAdapter(object): +class PollSelectAdapter: """ Use select to emulate a poll object, for diff --git a/lib/portage/util/_xattr.py b/lib/portage/util/_xattr.py index c118589a3..531c61efb 100644 --- a/lib/portage/util/_xattr.py +++ b/lib/portage/util/_xattr.py @@ -20,7 +20,7 @@ import subprocess from portage.exception import OperationNotSupported -class _XattrGetAll(object): +class _XattrGetAll: """Implement get_all() using list()/get() if there is no easy bulk method""" @classmethod diff --git a/lib/portage/util/backoff.py b/lib/portage/util/backoff.py index ee39007ef..73f69d6db 100644 --- a/lib/portage/util/backoff.py +++ b/lib/portage/util/backoff.py @@ -10,7 +10,7 @@ import random import sys -class ExponentialBackoff(object): +class ExponentialBackoff: """ An object that when called with number of previous tries, calculates an exponential delay for the next try. diff --git a/lib/portage/util/digraph.py b/lib/portage/util/digraph.py index e75a3a686..2a7efc11e 100644 --- a/lib/portage/util/digraph.py +++ b/lib/portage/util/digraph.py @@ -9,7 +9,7 @@ import sys from portage.util import writemsg -class digraph(object): +class digraph: """ A directed graph object. """ diff --git a/lib/portage/util/elf/header.py b/lib/portage/util/elf/header.py index 3d2307402..bedb19eab 100644 --- a/lib/portage/util/elf/header.py +++ b/lib/portage/util/elf/header.py @@ -6,7 +6,7 @@ from portage.util.endian.decode import (decode_uint16_le, from portage.util.elf.constants import (E_ENTRY, E_MACHINE, E_TYPE, EI_CLASS, ELFCLASS32, ELFCLASS64, ELFDATA2LSB, ELFDATA2MSB) -class ELFHeader(object): +class ELFHeader: __slots__ = ('e_flags', 'e_machine', 'e_type', 'ei_class', 'ei_data') diff --git a/lib/portage/util/formatter.py b/lib/portage/util/formatter.py index ce6799e3f..d23b09a67 100644 --- a/lib/portage/util/formatter.py +++ b/lib/portage/util/formatter.py @@ -7,7 +7,7 @@ import sys -class AbstractFormatter(object): +class AbstractFormatter: """The standard formatter.""" def __init__(self, writer): @@ -35,7 +35,7 @@ class AbstractFormatter(object): self.writer.new_styles(tuple(self.style_stack)) -class NullWriter(object): +class NullWriter: """Minimal writer interface to use in testing & inheritance. A writer which only provides the interface definition; no actions are diff --git a/lib/portage/util/futures/_asyncio/process.py b/lib/portage/util/futures/_asyncio/process.py index 2d3e9b0fd..1fadf1a91 100644 --- a/lib/portage/util/futures/_asyncio/process.py +++ b/lib/portage/util/futures/_asyncio/process.py @@ -12,7 +12,7 @@ from portage.util.futures._asyncio.streams import _reader, _writer from portage.util.futures.compat_coroutine import coroutine, coroutine_return -class _Process(object): +class _Process: """ Emulate a subset of the asyncio.subprocess.Process interface, for python2. diff --git a/lib/portage/util/futures/_asyncio/streams.py b/lib/portage/util/futures/_asyncio/streams.py index 870307e1e..ea5882dd3 100644 --- a/lib/portage/util/futures/_asyncio/streams.py +++ b/lib/portage/util/futures/_asyncio/streams.py @@ -30,7 +30,7 @@ def _reader(input_file, loop=None): return future -class _Reader(object): +class _Reader: def __init__(self, future, input_file, loop): self._future = future self._pipe_reader = PipeReader( diff --git a/lib/portage/util/futures/_asyncio/tasks.py b/lib/portage/util/futures/_asyncio/tasks.py index 6d4e16223..84c6f4462 100644 --- a/lib/portage/util/futures/_asyncio/tasks.py +++ b/lib/portage/util/futures/_asyncio/tasks.py @@ -44,7 +44,7 @@ def wait(futures, loop=None, timeout=None, return_when=ALL_COMPLETED): return result_future -class _Waiter(object): +class _Waiter: def __init__(self, futures, timeout, return_when, result_future, loop): self._futures = futures self._completed = set() diff --git a/lib/portage/util/futures/compat_coroutine.py b/lib/portage/util/futures/compat_coroutine.py index 54fc316fe..7b816f4dc 100644 --- a/lib/portage/util/futures/compat_coroutine.py +++ b/lib/portage/util/futures/compat_coroutine.py @@ -78,7 +78,7 @@ class _CoroutineReturnValue(Exception): self.result = result -class _GeneratorTask(object): +class _GeneratorTask: """ Asynchronously executes the generator to completion, waiting for the result of each Future that it yields, and sending the result diff --git a/lib/portage/util/futures/executor/fork.py b/lib/portage/util/futures/executor/fork.py index add7b3c9e..2cf713e9b 100644 --- a/lib/portage/util/futures/executor/fork.py +++ b/lib/portage/util/futures/executor/fork.py @@ -16,7 +16,7 @@ from portage.util.futures import asyncio from portage.util.cpuinfo import get_cpu_count -class ForkExecutor(object): +class ForkExecutor: """ An implementation of concurrent.futures.Executor that forks a new process for each task, with support for cancellation of tasks. diff --git a/lib/portage/util/futures/futures.py b/lib/portage/util/futures/futures.py index 5a88f121e..e0e6acc10 100644 --- a/lib/portage/util/futures/futures.py +++ b/lib/portage/util/futures/futures.py @@ -28,7 +28,7 @@ _PENDING = 'PENDING' _CANCELLED = 'CANCELLED' _FINISHED = 'FINISHED' -class _EventLoopFuture(object): +class _EventLoopFuture: """ This class provides (a subset of) the asyncio.Future interface, for use with the EventLoop class, because EventLoop is currently diff --git a/lib/portage/util/futures/retry.py b/lib/portage/util/futures/retry.py index ccfc087ab..4092f60d6 100644 --- a/lib/portage/util/futures/retry.py +++ b/lib/portage/util/futures/retry.py @@ -73,7 +73,7 @@ def _retry(loop, try_max, try_timeout, overall_timeout, delay_func, return future -class _Retry(object): +class _Retry: def __init__(self, future, loop, try_max, try_timeout, overall_timeout, delay_func, reraise, func): self._future = future diff --git a/lib/portage/util/install_mask.py b/lib/portage/util/install_mask.py index fa12e4910..acb9ba15b 100644 --- a/lib/portage/util/install_mask.py +++ b/lib/portage/util/install_mask.py @@ -33,7 +33,7 @@ _pattern = collections.namedtuple('_pattern', ( )) -class InstallMask(object): +class InstallMask: def __init__(self, install_mask): """ @param install_mask: INSTALL_MASK value diff --git a/lib/portage/util/iterators/MultiIterGroupBy.py b/lib/portage/util/iterators/MultiIterGroupBy.py index 2c31f269f..18f48a016 100644 --- a/lib/portage/util/iterators/MultiIterGroupBy.py +++ b/lib/portage/util/iterators/MultiIterGroupBy.py @@ -3,7 +3,7 @@ import bisect -class MultiIterGroupBy(object): +class MultiIterGroupBy: """ This class functions similarly to the itertools.groupby function, except that it takes multiple source iterators as input. The source @@ -78,7 +78,7 @@ class MultiIterGroupBy(object): for k in yield_these: yield key_map.pop(k) -class _IteratorTracker(object): +class _IteratorTracker: __slots__ = ('current', 'iterator') diff --git a/lib/portage/util/movefile.py b/lib/portage/util/movefile.py index e7be8792c..6321471e3 100644 --- a/lib/portage/util/movefile.py +++ b/lib/portage/util/movefile.py @@ -41,7 +41,7 @@ def _get_xattr_excluder(pattern): return value -class _xattr_excluder(object): +class _xattr_excluder: __slots__ = ('_pattern_split',) diff --git a/lib/portage/util/socks5.py b/lib/portage/util/socks5.py index 86bb24f25..c0657ae2a 100644 --- a/lib/portage/util/socks5.py +++ b/lib/portage/util/socks5.py @@ -15,7 +15,7 @@ from portage.util.futures.compat_coroutine import coroutine from portage.util.futures import asyncio -class ProxyManager(object): +class ProxyManager: """ A class to start and control a single running SOCKSv5 server process for Portage. diff --git a/lib/portage/xml/metadata.py b/lib/portage/xml/metadata.py index 85ba0576a..942c2bc61 100644 --- a/lib/portage/xml/metadata.py +++ b/lib/portage/xml/metadata.py @@ -62,7 +62,7 @@ class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder): def doctype(self, name, pubid, system): pass -class _Maintainer(object): +class _Maintainer: """An object for representing one maintainer. @type email: str or None @@ -95,7 +95,7 @@ class _Maintainer(object): return "<%s %r>" % (self.__class__.__name__, self.email) -class _Useflag(object): +class _Useflag: """An object for representing one USE flag. @todo: Is there any way to have a keyword option to leave in @@ -125,7 +125,7 @@ class _Useflag(object): return "<%s %r>" % (self.__class__.__name__, self.name) -class _Upstream(object): +class _Upstream: """An object for representing one package's upstream. @type maintainers: list @@ -181,7 +181,7 @@ class _Upstream(object): return [(e.text, e.get('type')) for e in self.node.findall('remote-id') if e.text] -class MetaDataXML(object): +class MetaDataXML: """Access metadata.xml""" def __init__(self, metadata_xml_path, herds): diff --git a/lib/portage/xpak.py b/lib/portage/xpak.py index 23539b6be..0db2be089 100644 --- a/lib/portage/xpak.py +++ b/lib/portage/xpak.py @@ -274,7 +274,7 @@ def xpand(myid, mydest): mydat.close() startpos = startpos + namelen + 12 -class tbz2(object): +class tbz2: def __init__(self, myfile): self.file = myfile self.filestat = None