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/, pym/_emerge/
Date: Fri, 02 May 2014 23:13:41
Message-Id: 1399072156.d08eefa8b3de0a39d801665ac1612a73bbc419f3.dol-sen@gentoo
1 commit: d08eefa8b3de0a39d801665ac1612a73bbc419f3
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 15 07:55:30 2014 +0000
4 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
5 CommitDate: Fri May 2 23:09:16 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=d08eefa8
7
8 portage/sync: Move the Modules, SyncManager initialization code
9
10 Move it to sync/__init__.py
11 This creates a central place to store a single instance of the SyncManager.
12 It also makes the module names available for use in repository/config.py for repos.conf checks.
13
14 ---
15 pym/_emerge/actions.py | 8 ++++----
16 pym/portage/sync/__init__.py | 34 ++++++++++++++++++++++++++++++++++
17 pym/portage/sync/controller.py | 8 +-------
18 3 files changed, 39 insertions(+), 11 deletions(-)
19
20 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
21 index 3edbdbe..e375fc1 100644
22 --- a/pym/_emerge/actions.py
23 +++ b/pym/_emerge/actions.py
24 @@ -62,7 +62,9 @@ from portage.util._async.run_main_scheduler import run_main_scheduler
25 from portage.util._async.SchedulerInterface import SchedulerInterface
26 from portage.util._eventloop.global_event_loop import global_event_loop
27 from portage._global_updates import _global_updates
28 -from portage.sync.controller import SyncManager
29 +from portage.sync import get_syncer
30 +from portage.sync.getaddrinfo_validate import getaddrinfo_validate
31 +from portage.sync.old_tree_timestamp import old_tree_timestamp_warn
32 from portage.metadata import action_metadata
33
34 from _emerge.clear_caches import clear_caches
35 @@ -81,8 +83,6 @@ from _emerge.Scheduler import Scheduler
36 from _emerge.search import search
37 from _emerge.SetArg import SetArg
38 from _emerge.show_invalid_depstring_notice import show_invalid_depstring_notice
39 -from portage.sync.getaddrinfo_validate import getaddrinfo_validate
40 -from portage.sync.old_tree_timestamp import old_tree_timestamp_warn
41 from _emerge.unmerge import unmerge
42 from _emerge.UnmergeDepPriority import UnmergeDepPriority
43 from _emerge.UseFlagDisplay import pkg_use_display
44 @@ -1874,7 +1874,7 @@ def action_sync(emerge_config, trees=DeprecationWarning,
45 else:
46 selected_repos.extend(emerge_config.target_config.settings.repositories)
47
48 - sync_manager = SyncManager(emerge_config.target_config.settings, emergelog)
49 + sync_manager = get_syncer(emerge_config.target_config.settings, emergelog)
50 retvals = []
51 for repo in selected_repos:
52 if repo.sync_type is not None:
53
54 diff --git a/pym/portage/sync/__init__.py b/pym/portage/sync/__init__.py
55 index 21a391a..65498ec 100644
56 --- a/pym/portage/sync/__init__.py
57 +++ b/pym/portage/sync/__init__.py
58 @@ -1,2 +1,36 @@
59 # Copyright 2010 Gentoo Foundation
60 # Distributed under the terms of the GNU General Public License v2
61 +
62 +import os
63 +
64 +from portage.emaint.module import Modules
65 +from portage.sync.controller import SyncManager
66 +
67 +sync_manager = None
68 +
69 +path = os.path.join(os.path.dirname(__file__), "modules")
70 +# initial development debug info
71 +print("module path:", path)
72 +
73 +module_controller = Modules(path=path, namepath="portage.sync.modules")
74 +
75 +# initial development debug info
76 +print(module_controller.module_names)
77 +module_names = module_controller.module_names[:]
78 +
79 +
80 +def get_syncer(settings=None, logger=None):
81 + global sync_manager
82 + if sync_manager and not settings and not logger:
83 + return sync_manager
84 + if settings is None:
85 + from _emerge.actions import load_emerge_config
86 + emerge_config = load_emerge_config()
87 + settings = emerge_config.target_config.settings
88 + if logger is None:
89 + from _emerge.emergelog import emergelog as logger
90 + sync_manager = SyncManager(settings, logger)
91 + return sync_manager
92 +
93 +
94 +
95
96 diff --git a/pym/portage/sync/controller.py b/pym/portage/sync/controller.py
97 index af85904..a71cb96 100644
98 --- a/pym/portage/sync/controller.py
99 +++ b/pym/portage/sync/controller.py
100 @@ -10,7 +10,6 @@ import pwd
101
102 import portage
103 from portage import os
104 -from portage.emaint.module import Modules
105 from portage.emaint.progress import ProgressBar
106 #from portage.emaint.defaults import DEFAULT_OPTIONS
107 #from portage.util._argparse import ArgumentParser
108 @@ -84,13 +83,8 @@ class SyncManager(object):
109 # files have sane permissions.
110 os.umask(0o22)
111
112 - path = os.path.join(os.path.dirname(__file__), "modules")
113 - print("module path:", path)
114 - self.module_controller = Modules(path=path,
115 - namepath="portage.sync.modules")
116 - print(self.module_controller.module_names)
117 + self.module_controller = portage.sync.module_controller
118 self.module_names = self.module_controller.module_names[:]
119 - #self.module_names.insert(0, "all")
120
121
122 def get_modules(self, mod):