Gentoo Archives: gentoo-commits

From: Brian Dolbec <brian.dolbec@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:plugin-sync commit in: pym/portage/sync/modules/websync/
Date: Fri, 02 May 2014 23:13:49
Message-Id: 1399072358.9c795e7bc2a449c3a8ea2d45c464e6cb3b8ce6f9.dol-sen@gentoo
1 commit: 9c795e7bc2a449c3a8ea2d45c464e6cb3b8ce6f9
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 2 22:59:23 2014 +0000
4 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
5 CommitDate: Fri May 2 23:12:38 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9c795e7b
7
8 sync/modules/websync: Make the bash version operational
9
10 ---
11 pym/portage/sync/modules/websync/websync.py | 37 +++++++++++++++++++++++++----
12 1 file changed, 33 insertions(+), 4 deletions(-)
13
14 diff --git a/pym/portage/sync/modules/websync/websync.py b/pym/portage/sync/modules/websync/websync.py
15 index 7c31567..e2afe1e 100644
16 --- a/pym/portage/sync/modules/websync/websync.py
17 +++ b/pym/portage/sync/modules/websync/websync.py
18 @@ -1,16 +1,26 @@
19
20 '''WebRsync module for portage'''
21
22 +import logging
23 +
24 +import portage
25 +from portage import os
26 +from portage.util import writemsg_level
27 +from portage.output import create_color_func
28 +good = create_color_func("GOOD")
29 +bad = create_color_func("BAD")
30 +warn = create_color_func("WARN")
31 from portage.sync.syncbase import SyncBase
32
33 +
34 class WebRsync(SyncBase):
35 '''WebRSync sync class'''
36
37 short_desc = "Perform sync operations on webrsync based repositories"
38
39 + @staticmethod
40 def name():
41 return "WebRSync"
42 - name = staticmethod(name)
43
44
45 def __init__(self):
46 @@ -19,12 +29,31 @@ class WebRsync(SyncBase):
47
48 def new(self, **kwargs):
49 '''Do the initial download and install of the repository'''
50 - pass
51 + return self._sync()
52
53 def _sync(self):
54 ''' Update existing repository
55 '''
56 - pass
57 + emerge_config = self.options.get('emerge_config', None)
58 + portdb = self.options.get('portdb', None)
59 +
60 + msg = ">>> Starting emerge-webrsync for %s..." % self.repo.location
61 + self.logger(self.xterm_titles, msg)
62 + writemsg_level(msg + "\n")
63 + exitcode = portage.process.spawn_bash("%s" % \
64 + (self.bin_command),
65 + **portage._native_kwargs(self.spawn_kwargs))
66 + if exitcode != os.EX_OK:
67 + msg = "!!! emerge-webrsync error in %s" % self.repo.location
68 + self.logger(self.xterm_titles, msg)
69 + writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1)
70 + return (exitcode, False)
71 + msg = ">>> Emerge-webrsync successful: %s" % self.repo.location
72 + self.logger(self.xterm_titles, msg)
73 + writemsg_level(msg + "\n")
74 + #return self.post_sync(portdb, self.repo.location, emerge_config)
75 + return (exitcode, True)
76 +
77
78 def post_sync(self, portdb, location, emerge_config):
79 '''repo.sync_type == "websync":
80 @@ -40,9 +69,9 @@ class PyWebRsync(SyncBase):
81
82 short_desc = "Perform sync operations on webrsync based repositories"
83
84 + @staticmethod
85 def name():
86 return "WebRSync"
87 - name = staticmethod(name)
88
89
90 def __init__(self):