Gentoo Archives: gentoo-commits

From: Jauhien Piatlicki <piatlicki@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/g-sorcery:master commit in: g_sorcery/
Date: Thu, 01 Aug 2013 15:58:28
Message-Id: 1375367285.c837ca65bd137c69a8ab32d3267b0308089180fe.jauhien@gentoo
1 commit: c837ca65bd137c69a8ab32d3267b0308089180fe
2 Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com>
3 AuthorDate: Thu Aug 1 14:28:05 2013 +0000
4 Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com>
5 CommitDate: Thu Aug 1 14:28:05 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=c837ca65
7
8 g_sorcery/backend: different fixes
9
10 ---
11 g_sorcery/backend.py | 75 ++++++++++++++++++++++++++++++++--------------------
12 1 file changed, 47 insertions(+), 28 deletions(-)
13
14 diff --git a/g_sorcery/backend.py b/g_sorcery/backend.py
15 index e38eba7..9e2ef66 100644
16 --- a/g_sorcery/backend.py
17 +++ b/g_sorcery/backend.py
18 @@ -12,9 +12,7 @@
19 """
20
21 import argparse
22 -import glob
23 import os
24 -import sys
25
26 from .compatibility import py2k
27
28 @@ -50,7 +48,8 @@ class Backend(object):
29
30 def __init__(self, package_db_generator_class,
31 ebuild_g_with_digest_class, ebuild_g_without_digest_class,
32 - eclass_g_class, metadata_g_class, package_db_class=PackageDB, sync_db=False):
33 + eclass_g_class, metadata_g_class,
34 + package_db_class=PackageDB, sync_db=False):
35 self.sorcery_dir = '.g-sorcery'
36 self.sync_db = sync_db
37 self.package_db_generator = package_db_generator_class(package_db_class)
38 @@ -59,7 +58,8 @@ class Backend(object):
39 self.eclass_g_class = eclass_g_class
40 self.metadata_g_class = metadata_g_class
41
42 - self.parser = argparse.ArgumentParser(description='Automatic ebuild generator.')
43 + self.parser = \
44 + argparse.ArgumentParser(description='Automatic ebuild generator.')
45 self.parser.add_argument('-o', '--overlay')
46 self.parser.add_argument('-r', '--repository')
47
48 @@ -101,8 +101,8 @@ class Backend(object):
49 overlay = args.overlay
50 if not overlay:
51 if not 'default_overlay' in config:
52 - self.logger.error("no overlay given, exiting.")
53 - return None
54 + self.logger.error("no overlay given, exiting.")
55 + return None
56 else:
57 overlay = config['default_overlay']
58 overlay = args.overlay
59 @@ -121,9 +121,11 @@ class Backend(object):
60 Package database object.
61 """
62 overlay = self._get_overlay(args, config, global_config)
63 - backend_path = os.path.join(overlay, self.sorcery_dir, config["package"])
64 + backend_path = os.path.join(overlay,
65 + self.sorcery_dir, config["package"])
66 repository = args.repository
67 - pkg_db = self.package_db_generator(backend_path, repository, generate=False)
68 + pkg_db = self.package_db_generator(backend_path,
69 + repository, generate=False)
70 return pkg_db
71
72 def sync(self, args, config, global_config):
73 @@ -139,7 +141,8 @@ class Backend(object):
74 Exit status.
75 """
76 overlay = self._get_overlay(args, config, global_config)
77 - backend_path = os.path.join(overlay, self.sorcery_dir, config["package"])
78 + backend_path = os.path.join(overlay,
79 + self.sorcery_dir, config["package"])
80 repository = args.repository
81 repository = args.repository
82 repository_config = {}
83 @@ -152,7 +155,7 @@ class Backend(object):
84 if repository:
85 if not "repositories" in config:
86 self.logger.error("repository " + repository +
87 - " specified, but there is no repositories entry in config")
88 + " specified, but there is no repositories entry in config")
89 return -1
90 repositories = config["repositories"]
91 if not repository in repositories:
92 @@ -168,7 +171,8 @@ class Backend(object):
93 common_config, repository_config, generate=False)
94 pkg_db.sync(repository_config["db_uri"])
95 else:
96 - pkg_db = self.package_db_generator(backend_path, repository, common_config, repository_config)
97 + pkg_db = self.package_db_generator(backend_path,
98 + repository, common_config, repository_config)
99 return 0
100
101 def list(self, args, config, global_config):
102 @@ -194,7 +198,8 @@ class Backend(object):
103 for pkg in packages:
104 max_ver = pkg_db.get_max_version(category, pkg)
105 versions = pkg_db.list_package_versions(category, pkg)
106 - desc = pkg_db.get_package_description(Package(category, pkg, max_ver))
107 + desc = pkg_db.get_package_description(Package(category,
108 + pkg, max_ver))
109 print(' ' + pkg + ': ' + desc['description'])
110 print(' Available versions: ' + ' '.join(versions))
111 print('\n')
112 @@ -242,12 +247,14 @@ class Backend(object):
113 categories.append(cat)
114
115 if not len(categories):
116 - self.logger.error('no package with name ' + pkgname + ' found\n')
117 + self.logger.error('no package with name ' \
118 + + pkgname + ' found\n')
119 return -1
120
121 if len(categories) > 1:
122 self.logger.error('ambiguous packagename: ' + pkgname + '\n')
123 - self.logger.error('please select one of the following packages:\n')
124 + self.logger.error('please select one of' \
125 + + 'the following packages:\n')
126 for cat in categories:
127 self.logger.error(' ' + cat + '/' + pkgname + '\n')
128 return -1
129 @@ -257,7 +264,8 @@ class Backend(object):
130 dependencies = set()
131 try:
132 for version in versions:
133 - dependencies |= self.solve_dependencies(pkg_db, Package(category, name, version))[0]
134 + dependencies |= self.solve_dependencies(pkg_db,
135 + Package(category, name, version))[0]
136 except Exception as e:
137 self.logger.error('dependency solving failed: ' + str(e) + '\n')
138 return -1
139 @@ -292,12 +300,14 @@ class Backend(object):
140 category = package.category
141 name = package.name
142 version = package.version
143 - self.logger.info(" generating " + category + '/' + name + '-' + version)
144 + self.logger.info(" generating " +
145 + category + '/' + name + '-' + version)
146 path = os.path.join(overlay, category, name)
147 if not os.path.exists(path):
148 os.makedirs(path)
149 source = ebuild_g.generate(package)
150 - with open(os.path.join(path, name + '-' + version + '.ebuild'), 'w') as f:
151 + with open(os.path.join(path,
152 + name + '-' + version + '.ebuild'), 'w') as f:
153 f.write('\n'.join(source))
154
155
156 @@ -340,7 +350,8 @@ class Backend(object):
157 f.write('\n'.join(source))
158
159
160 - def solve_dependencies(self, package_db, package, solved_deps=None, unsolved_deps=None):
161 + def solve_dependencies(self, package_db, package,
162 + solved_deps=None, unsolved_deps=None):
163 """
164 Solve dependencies.
165
166 @@ -370,7 +381,7 @@ class Backend(object):
167 found = True
168 try:
169 desc = package_db.get_package_description(package)
170 - except KeyError as e:
171 + except KeyError:
172 found = False
173 if not found:
174 error = "package " + package.category + '/' + \
175 @@ -379,11 +390,12 @@ class Backend(object):
176
177 dependencies = desc["dependencies"]
178 for pkg in dependencies:
179 - versions = package_db.list_package_versions(pkg.category, pkg.package)
180 + versions = package_db.list_package_versions(pkg.category,
181 + pkg.package)
182 for version in versions:
183 solved_deps, unsolved_deps = self.solve_dependencies(package_db,
184 - Package(pkg.category, pkg.package, version),
185 - solved_deps, unsolved_deps)
186 + Package(pkg.category, pkg.package, version),
187 + solved_deps, unsolved_deps)
188
189 solved_deps.add(package)
190 unsolved_deps.remove(package)
191 @@ -450,12 +462,15 @@ class Backend(object):
192 category = package.category
193 name = package.name
194 version = package.version
195 - self.logger.info(" generating " + category + '/' + name + '-' + version)
196 + self.logger.info(" generating " +
197 + category + '/' + name + '-' + version)
198 path = os.path.join(overlay, category, name)
199 if not os.path.exists(path):
200 os.makedirs(path)
201 source = ebuild_g.generate(package, ebuild_data)
202 - with open(os.path.join(path, name + '-' + version + '.ebuild'), 'w') as f:
203 + with open(os.path.join(path,
204 + name + '-' + version + '.ebuild'),
205 + 'w') as f:
206 f.write('\n'.join(source))
207
208 source = metadata_g.generate(package)
209 @@ -498,7 +513,8 @@ class Backend(object):
210 package_manager = None
211 if package_manager:
212 if not package_manager in package_managers:
213 - self.logger.error('not supported package manager: ' + package_manager + '\n')
214 + self.logger.error('not supported package manager: ' \
215 + + package_manager + '\n')
216 return -1
217 package_manager_class = package_managers[package_manager]
218 package_manager = package_manager_class()
219 @@ -506,7 +522,8 @@ class Backend(object):
220
221 def __call__(self, args, config, global_config):
222 args = self.parser.parse_args(args)
223 - info_f = FileJSON(os.path.join(args.overlay, self.sorcery_dir), "info.json", ["repositories"])
224 + info_f = FileJSON(os.path.join(args.overlay, self.sorcery_dir),
225 + "info.json", ["repositories"])
226 self.info = info_f.read()
227 repos = self.info["repositories"]
228 if args.repository:
229 @@ -528,11 +545,13 @@ class Backend(object):
230 if len(brepos) == 1:
231 args.repository = brepos[0]
232 else:
233 - self.logger.error("No repository specified, possible values:")
234 + self.logger.error("No repository specified," \
235 + + " possible values:")
236 for repo in brepos:
237 print(" " + repo)
238 return -1
239 else:
240 - self.logger.error("No repository for backend " + back + " in overlay " + args.overlay)
241 + self.logger.error("No repository for backend " \
242 + + back + " in overlay " + args.overlay)
243 return -1
244 return args.func(args, config, global_config)