commit: 264c4a0c2a855a35d634851abd189302e6f87280 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> AuthorDate: Fri Sep 5 20:08:36 2014 +0000 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> CommitDate: Tue Sep 30 00:42:27 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=264c4a0c
portage/sync/controller.sync(): Migrate writemsg() call to return the error message to caller Highlight the "ERROR" string portion usig bad(), remove 1 linefeed. This puts the error in the emaint sync message list. --- pym/portage/emaint/modules/sync/sync.py | 6 +++--- pym/portage/sync/controller.py | 13 ++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/pym/portage/emaint/modules/sync/sync.py b/pym/portage/emaint/modules/sync/sync.py index 9b0d82c..4369a2a 100644 --- a/pym/portage/emaint/modules/sync/sync.py +++ b/pym/portage/emaint/modules/sync/sync.py @@ -179,11 +179,11 @@ class SyncRepos(object): sync_manager = get_syncer(self.emerge_config.target_config.settings, emergelog) retvals = [] for repo in selected_repos: - #print("syncing repo:", repo.name) if repo.sync_type is not None: - returncode = sync_manager.sync(self.emerge_config, repo) - #if returncode != os.EX_OK: + returncode, message = sync_manager.sync(self.emerge_config, repo) retvals.append((repo.name, returncode)) + if message: + msgs.append(message) # Reload the whole config. portage._sync_mode = False diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py index 2b3dbad..e8fe291 100644 --- a/pym/portage/sync/controller.py +++ b/pym/portage/sync/controller.py @@ -103,14 +103,13 @@ class SyncManager(object): if repo.sync_type in self.module_names[1:]: tasks = [self.module_controller.get_class(repo.sync_type)] else: - portage.util.writemsg( - "\nERROR: Sync module '%s' is not an installed/known type'\n\n" - % (repo.sync_type), noiselevel=-1) - return self.exitcode + msg = "\n%s: Sync module '%s' is not an installed/known type'\n" \ + % (bad("ERROR"), repo.sync_type) + return self.exitcode, msg rval = self.pre_sync(repo) if rval != os.EX_OK: - return rval + return rval, None # need to pass the kwargs dict to the modules # so they are available if needed. @@ -131,7 +130,7 @@ class SyncManager(object): self.perform_post_sync_hook(repo.sync_uri) - return self.exitcode + return self.exitcode, None def do_callback(self, result): @@ -167,7 +166,7 @@ class SyncManager(object): except OSError: st = None if st is None: - print(">>> '%s' not found, creating it." % repo.location) + writemsg_level(">>> '%s' not found, creating it." % repo.location) portage.util.ensure_dirs(repo.location, mode=0o755) st = os.stat(repo.location)