commit: a99414cc781b35d8089472f3c4d7916e4eeb494c Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Wed Feb 8 07:49:51 2017 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Wed Feb 8 07:52:21 2017 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=a99414cc
SyncManager: rename async method to sync_async (bug 607922) This fixes the following DeprecationWarning with Python 3.6: pym/portage/sync/controller.py:117: DeprecationWarning: 'async' and 'await' will become reserved keywords in Python 3.7 def async(self, emerge_config=None, repo=None, master_hooks=True): X-Gentoo-Bug: 607922 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=607922 pym/portage/emaint/modules/sync/sync.py | 4 ++-- pym/portage/sync/controller.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pym/portage/emaint/modules/sync/sync.py b/pym/portage/emaint/modules/sync/sync.py index 076297a..c8d4ca1 100644 --- a/pym/portage/emaint/modules/sync/sync.py +++ b/pym/portage/emaint/modules/sync/sync.py @@ -1,4 +1,4 @@ -# Copyright 2014-2015 Gentoo Foundation +# Copyright 2014-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 import logging @@ -434,7 +434,7 @@ class SyncScheduler(AsyncScheduler): self._running_repos.add(node) self._update_leaf_nodes() - return self._sync_manager.async( + return self._sync_manager.sync_async( emerge_config=self._emerge_config, repo=self._repo_map[node], master_hooks=self._master_hooks(node)) diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py index 92be3cb..3bccf6f 100644 --- a/pym/portage/sync/controller.py +++ b/pym/portage/sync/controller.py @@ -1,4 +1,4 @@ -# Copyright 2014 Gentoo Foundation +# Copyright 2014-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from __future__ import print_function @@ -8,6 +8,7 @@ import sys import logging import grp import pwd +import warnings import portage from portage import os @@ -107,6 +108,14 @@ class SyncManager(object): level=logging.WARN, noiselevel=2) self.hooks[_dir] = hooks + def __getattr__(self, name): + if name == 'async': + warnings.warn("portage.sync.controller.SyncManager.async " + "has been renamed to sync_async", + DeprecationWarning, stacklevel=2) + return self.sync_async + else: + raise AttributeError(name) def get_module_descriptions(self, mod): desc = self.module_controller.get_func_descriptions(mod) @@ -114,7 +123,7 @@ class SyncManager(object): return desc return [] - def async(self, emerge_config=None, repo=None, master_hooks=True): + def sync_async(self, emerge_config=None, repo=None, master_hooks=True): self.emerge_config = emerge_config self.settings, self.trees, self.mtimedb = emerge_config self.xterm_titles = "notitles" not in self.settings.features
