commit:     2e235241d8177e3b47d7b179aaa4f22c052f6cea
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 14 07:05:23 2014 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Sun Dec 14 07:05:28 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/layman.git;a=commit;h=2e235241

laymanator.py: Modifies subprocess variant of sync plugin _sync()

In order for the behavior of both the subprocess variant and the
API variant of the sync plugin _sync() functions to coincide, the
subprocess variant's function needed to be modified slightly to
add an overlay if it doesn't exist.

---
 layman/laymanator/laymanator.py | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/layman/laymanator/laymanator.py b/layman/laymanator/laymanator.py
index 5594627..94f26ee 100644
--- a/layman/laymanator/laymanator.py
+++ b/layman/laymanator/laymanator.py
@@ -141,6 +141,7 @@ class Layman(SyncBase):
         emerge_config = self.options.get('emerge_config', None)
         portdb = self.options.get('portdb', None)
         args = []
+
         msg = '>>> Starting layman sync for %(repo)s...'\
             % ({'repo': self.repo.name})
         self.logger(self.xterm_titles, msg)
@@ -159,13 +160,18 @@ class Layman(SyncBase):
         exitcode = portage.process.spawn_bash("%(command)s" % \
             ({'command': command}),
             **portage._native_kwargs(self.spawn_kwargs))
+
         if exitcode != os.EX_OK:
-            msg = "!!! layman sync error in %(repo)s"\
-                % ({'repo': self.repo.name})
-            self.logger(self.xterm_titles, msg)
-            writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
-            overlay = create_overlay(repo=self.repo, logger=self.logger, 
xterm_titles=self.xterm_titles)
-            return (exitcode, False)
+            exitcode = self.new()[0]
+            if exitcode != os.EX_OK:
+                msg = "!!! layman sync error in %(repo)s"\
+                    % ({'repo': self.repo.name})
+                self.logger(self.xterm_titles, msg)
+                writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
+                return (exitcode, False)
+            else:
+                return (exitcode, True)
+
         msg = ">>> layman sync succeeded: %(repo)s"\
             % ({'repo': self.repo.name})
         self.logger(self.xterm_titles, msg)

Reply via email to