Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/main/, gpackages/apps/packages/, ...
Date: Thu, 21 Jun 2012 00:51:59
Message-Id: 1340239900.314a11842f67a18f590692d0eec7331418b3bd58.bacher09@gentoo
1 commit: 314a11842f67a18f590692d0eec7331418b3bd58
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Thu Jun 21 00:51:40 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Thu Jun 21 00:51:40 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=314a1184
7
8 Move package info layer
9
10 ---
11 gpackages/apps/packages/managers.py | 4 +-
12 gpackages/apps/packages/models.py | 6 ++--
13 gpackages/libs/package_info/__init__.py | 1 +
14 gpackages/libs/package_info/abstract.py | 4 ++
15 .../libs/{ => package_info}/category_metadata.py | 0
16 gpackages/libs/{ => package_info}/generic.py | 0
17 .../libs/{ => package_info}/generic_objects.py | 0
18 gpackages/libs/{ => package_info}/herds.py | 0
19 gpackages/libs/{ => package_info}/mixins.py | 0
20 gpackages/libs/{ => package_info}/my_etree.py | 0
21 .../libs/package_info/package_backends/__init__.py | 15 ++++++++
22 .../package_backends}/pkgcore_porttree.py | 38 ++++---------------
23 .../package_backends/portage.py} | 12 +++---
24 gpackages/libs/{ => package_info}/repo_info.py | 0
25 gpackages/libs/{ => package_info}/use_info.py | 0
26 gpackages/libs/{ => package_info}/validators.py | 0
27 gpackages/main/settings.py | 2 +
28 17 files changed, 41 insertions(+), 41 deletions(-)
29
30 diff --git a/gpackages/apps/packages/managers.py b/gpackages/apps/packages/managers.py
31 index 45033d8..3162ef7 100644
32 --- a/gpackages/apps/packages/managers.py
33 +++ b/gpackages/apps/packages/managers.py
34 @@ -1,7 +1,7 @@
35 from django.db import models, connections, router, transaction, IntegrityError
36 -from porttree import Category, Package, Ebuild, Keyword
37 +from package_info.package_backends.portage import Category, Package, Ebuild, Keyword
38 import packages.models
39 -from generic import get_from_kwargs_and_del
40 +from package_info.generic import get_from_kwargs_and_del
41
42 def _gen_query_and_manager(MixinClass, QueryClassName, ManagerClassName):
43 QueryClass = type(QueryClassName, (MixinClass, models.query.QuerySet), {})
44
45 diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
46 index 1f7c6e8..89a5f75 100644
47 --- a/gpackages/apps/packages/models.py
48 +++ b/gpackages/apps/packages/models.py
49 @@ -1,9 +1,9 @@
50 from django.db import models
51
52 -from porttree import Category, Package, Ebuild
53 +from package_info.package_backends.portage import Category, Package, Ebuild
54 import managers
55 -from generic import get_from_kwargs_and_del
56 -from repo_info import REPOS_TYPE
57 +from package_info.generic import get_from_kwargs_and_del
58 +from package_info.repo_info import REPOS_TYPE
59
60 from django.core.validators import URLValidator, validate_email
61 from django.core.exceptions import ValidationError
62
63 diff --git a/gpackages/libs/__init__.py b/gpackages/libs/__init__.py
64 deleted file mode 100644
65 index e69de29..0000000
66
67 diff --git a/gpackages/libs/package_info/__init__.py b/gpackages/libs/package_info/__init__.py
68 new file mode 100644
69 index 0000000..3173dba
70 --- /dev/null
71 +++ b/gpackages/libs/package_info/__init__.py
72 @@ -0,0 +1 @@
73 +__name__ = 'package_info'
74
75 diff --git a/gpackages/libs/package_info/abstract.py b/gpackages/libs/package_info/abstract.py
76 new file mode 100644
77 index 0000000..cdf6b30
78 --- /dev/null
79 +++ b/gpackages/libs/package_info/abstract.py
80 @@ -0,0 +1,4 @@
81 +from abc import ABCMeta, abstractmethod, abstractproperty
82 +
83 +class AbstractPortage(ABCMeta):
84 + pass
85
86 diff --git a/gpackages/libs/category_metadata.py b/gpackages/libs/package_info/category_metadata.py
87 similarity index 100%
88 rename from gpackages/libs/category_metadata.py
89 rename to gpackages/libs/package_info/category_metadata.py
90
91 diff --git a/gpackages/libs/generic.py b/gpackages/libs/package_info/generic.py
92 similarity index 100%
93 rename from gpackages/libs/generic.py
94 rename to gpackages/libs/package_info/generic.py
95
96 diff --git a/gpackages/libs/generic_objects.py b/gpackages/libs/package_info/generic_objects.py
97 similarity index 100%
98 rename from gpackages/libs/generic_objects.py
99 rename to gpackages/libs/package_info/generic_objects.py
100
101 diff --git a/gpackages/libs/herds.py b/gpackages/libs/package_info/herds.py
102 similarity index 100%
103 rename from gpackages/libs/herds.py
104 rename to gpackages/libs/package_info/herds.py
105
106 diff --git a/gpackages/libs/mixins.py b/gpackages/libs/package_info/mixins.py
107 similarity index 100%
108 rename from gpackages/libs/mixins.py
109 rename to gpackages/libs/package_info/mixins.py
110
111 diff --git a/gpackages/libs/my_etree.py b/gpackages/libs/package_info/my_etree.py
112 similarity index 100%
113 rename from gpackages/libs/my_etree.py
114 rename to gpackages/libs/package_info/my_etree.py
115
116 diff --git a/gpackages/libs/package_info/package_backends/__init__.py b/gpackages/libs/package_info/package_backends/__init__.py
117 new file mode 100644
118 index 0000000..c682f91
119 --- /dev/null
120 +++ b/gpackages/libs/package_info/package_backends/__init__.py
121 @@ -0,0 +1,15 @@
122 +from __future__ import absolute_import
123 +__name__ = 'package_backends'
124 +
125 +from main import settings
126 +
127 +DEFAULT_BACKEND = 'portage'
128 +
129 +try:
130 + backend = settings.PACKAGE_INFO_BACKEND
131 +except AttributeError:
132 + backend = DEFAULT_BACKEND
133 +
134 +#backend = __import__('package_backends.' + backend)
135 +
136 +#portage = backend.Portage()
137
138 diff --git a/gpackages/libs/pkgcore_porttree.py b/gpackages/libs/package_info/package_backends/pkgcore_porttree.py
139 similarity index 81%
140 rename from gpackages/libs/pkgcore_porttree.py
141 rename to gpackages/libs/package_info/package_backends/pkgcore_porttree.py
142 index ac15e2f..704c73f 100644
143 --- a/gpackages/libs/pkgcore_porttree.py
144 +++ b/gpackages/libs/package_info/package_backends/pkgcore_porttree.py
145 @@ -3,17 +3,13 @@ from pkgcore.ebuild.repository import UnconfiguredTree, SlavedTree
146 from pkgcore.util.repo_utils import get_raw_repos, get_virtual_repos
147 from pkgcore.ebuild.atom import atom
148
149 -from generic import ToStrMixin
150 -
151 -from porttree import AutoGeneratorMixin
152 -
153 +#Mixins
154 +from mixins import PortageMixin, PortTreeMixin, CategoryMixin, PackageMixin, \
155 + EbuildMixin
156 import os.path
157
158
159 -class Portage(AutoGeneratorMixin):
160 -
161 - generator_names = ('iter_categories', 'iter_packages', 'iter_ebuilds')
162 - main_iterator = 'iter_trees'
163 +class Portage(PortageMixin):
164
165 def __init__(self):
166 self._config = load_config()
167 @@ -52,10 +48,7 @@ class Portage(AutoGeneratorMixin):
168 else:
169 raise ValueError
170
171 -class PortTree(ToStrMixin, AutoGeneratorMixin):
172 -
173 - generator_names = ('iter_packages', 'iter_ebuilds')
174 - main_iterator = 'iter_categories'
175 +class PortTree(PortTreeMixin):
176
177 def __init__(self, repo_obj):
178 self._repo_obj = repo_obj
179 @@ -71,9 +64,6 @@ class PortTree(ToStrMixin, AutoGeneratorMixin):
180 "Full path to portage tree"
181 return self._repo_obj.location
182
183 - def __unicode__(self):
184 - return self.name
185 -
186 @property
187 def _packages(self):
188 return self._repo_obj.packages
189 @@ -85,10 +75,7 @@ class PortTree(ToStrMixin, AutoGeneratorMixin):
190 def _versions(self):
191 return self._repo_obj.versions
192
193 -class Category(ToStrMixin, AutoGeneratorMixin):
194 -
195 - generator_names = ('iter_ebuilds', )
196 - main_iterator = 'iter_packages'
197 +class Category(CategoryMixin):
198
199 def __init__(self, category_name, repo_obj):
200 self._repo_obj = repo_obj
201 @@ -109,10 +96,7 @@ class Category(ToStrMixin, AutoGeneratorMixin):
202 def _get_ebuilds_names_by_name(self, package_name):
203 return self._repo_obj._versions[(self.name, package_name)]
204
205 - def __unicode__(self):
206 - return self.name
207 -
208 -class Package(ToStrMixin):
209 +class Package(PackageMixin):
210
211 def __init__(self, package_name, category_obj):
212 self.name = package_name
213 @@ -122,9 +106,6 @@ class Package(ToStrMixin):
214 for ebuild in self.category_obj._repo_obj._itermatch(atom(self.cp)):
215 yield Ebuild(ebuild, self)
216
217 - def __unicode__(self):
218 - return self.cp
219 -
220 def _get_ebuilds_versions(self):
221 return self.category_obj._get_ebuilds_names_by_name(self.name)
222
223 @@ -133,15 +114,12 @@ class Package(ToStrMixin):
224 return '%s/%s' % (self.category_obj.name, self.name)
225
226
227 -class Ebuild(ToStrMixin):
228 +class Ebuild(EbuildMixin):
229
230 def __init__(self, ebuild, package_obj):
231 self._ebuild = ebuild
232 self.package_obj = package_obj
233
234 - def __unicode__(self):
235 - return self.cpv
236 -
237 @property
238 def cpv(self):
239 return self._ebuild.cpvstr
240
241 diff --git a/gpackages/libs/porttree.py b/gpackages/libs/package_info/package_backends/portage.py
242 similarity index 95%
243 rename from gpackages/libs/porttree.py
244 rename to gpackages/libs/package_info/package_backends/portage.py
245 index 74a6e6e..682f39a 100644
246 --- a/gpackages/libs/porttree.py
247 +++ b/gpackages/libs/package_info/package_backends/portage.py
248 @@ -1,3 +1,4 @@
249 +from __future__ import absolute_import
250 import portage
251 from portage.util.listdir import listdir
252 from portage.dep import Atom
253 @@ -7,21 +8,21 @@ from portage.exception import PortageException, FileNotFound, InvalidAtom, \
254 from gentoolkit.package import Package as PackageInfo
255 from gentoolkit.metadata import MetaData
256 from gentoolkit import errors
257 -from generic import cached_property, lofstr_to_ig
258 +from package_info.generic import cached_property, lofstr_to_ig
259
260 import os.path
261
262 #Generic objects
263 -from generic_objects import Use, Keyword, KeywordsSet
264 +from ..generic_objects import Use, Keyword, KeywordsSet
265
266 #Mixins
267 -from mixins import PortageMixin, PortTreeMixin, CategoryMixin, PackageMixin, \
268 +from ..mixins import PortageMixin, PortTreeMixin, CategoryMixin, PackageMixin, \
269 EbuildMixin
270
271 # Validators
272 -from validators import validate_url, validate_url, ValidationError
273 +from ..validators import validate_url, validate_url, ValidationError
274
275 -from category_metadata import CategoryMetadata, FakeMetaData
276 +from ..category_metadata import CategoryMetadata, FakeMetaData
277
278 __all__ = ('Portage','PortTree', 'Category', 'Package', 'Ebuild')
279
280 @@ -281,7 +282,6 @@ class Ebuild(EbuildMixin):
281 ret.append(homepage)
282 return ret
283
284 -
285 @cached_property
286 def homepages(self):
287 "Tuple of homepages"
288
289 diff --git a/gpackages/libs/repo_info.py b/gpackages/libs/package_info/repo_info.py
290 similarity index 100%
291 rename from gpackages/libs/repo_info.py
292 rename to gpackages/libs/package_info/repo_info.py
293
294 diff --git a/gpackages/libs/use_info.py b/gpackages/libs/package_info/use_info.py
295 similarity index 100%
296 rename from gpackages/libs/use_info.py
297 rename to gpackages/libs/package_info/use_info.py
298
299 diff --git a/gpackages/libs/validators.py b/gpackages/libs/package_info/validators.py
300 similarity index 100%
301 rename from gpackages/libs/validators.py
302 rename to gpackages/libs/package_info/validators.py
303
304 diff --git a/gpackages/main/settings.py b/gpackages/main/settings.py
305 index bda45fd..9c4834b 100644
306 --- a/gpackages/main/settings.py
307 +++ b/gpackages/main/settings.py
308 @@ -162,6 +162,8 @@ LOGGING = {
309 }
310 }
311
312 +PACKAGE_INFO_BACKEND = 'portage'
313 +
314 try:
315 from local_settings import *
316 except ImportError: