1 |
commit: 1c4a2de7b4a6ae5f718e707c407ece8ecff87b04 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Tue Jun 5 12:44:49 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Tue Jun 5 12:44:49 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=1c4a2de7 |
7 |
|
8 |
Updating some info |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/scan.py | 19 +++++++++++++------ |
12 |
gpackages/libs/herds.py | 5 ++++- |
13 |
2 files changed, 17 insertions(+), 7 deletions(-) |
14 |
|
15 |
diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py |
16 |
index d4b4601..8deb289 100644 |
17 |
--- a/gpackages/apps/packages/scan.py |
18 |
+++ b/gpackages/apps/packages/scan.py |
19 |
@@ -23,6 +23,8 @@ def _get_from_database(Model, field_name, request_items): |
20 |
|
21 |
def _update_cache_by_queryset(cache, queryset, field_name): |
22 |
geted_items = set() |
23 |
+ if queryset is None: |
24 |
+ return None |
25 |
for item in queryset: |
26 |
cache[getattr(item, field_name)] = item |
27 |
geted_items.add(getattr(item, field_name)) |
28 |
@@ -77,20 +79,23 @@ def _get_items(items_list, Model, field_name, cache_var): |
29 |
|
30 |
def scan_maintainers(maintainers_dict): |
31 |
existend_maintainers = models.MaintainerModel.objects.all() |
32 |
+ main_dict = {} |
33 |
mo_dict = {} |
34 |
- to_del = [] |
35 |
+ #to_del = [] |
36 |
+ _update_cache_by_queryset(main_dict, maintainers_dict.keys(), 'email') |
37 |
for maintainer_object in existend_maintainers: |
38 |
- if maintainer_object in maintainers_dict: |
39 |
- maintainer_cmp = maintainers_dict[maintainer_object] |
40 |
+ if maintainer_object.email in main_dict: |
41 |
+ maintainer_cmp = main_dict[maintainer_object.email] |
42 |
# need update ? |
43 |
if maintainer_object.check_or_need_update(maintainer_cmp): |
44 |
# updating |
45 |
maintainer_object.update_by_maintainer(maintainer_cmp) |
46 |
maintainer_object.save(force_update = True) |
47 |
mo_dict[maintainer_object.email] = maintainer_object |
48 |
- else: |
49 |
- to_del.append(maintainer_object.pk) |
50 |
- |
51 |
+ #else: |
52 |
+ #to_del.append(maintainer_object.pk) |
53 |
+ #print to_del |
54 |
+ #print mo_dict |
55 |
to_create = [] |
56 |
for maintainer in maintainers_dict.iterkeys(): |
57 |
if maintainer.email not in mo_dict: |
58 |
@@ -265,6 +270,8 @@ def scanpackages(): |
59 |
if package_object.check_or_need_update(package): |
60 |
# need update |
61 |
pass |
62 |
+ else: |
63 |
+ continue |
64 |
package_object.herds.add(*get_herds_objects(package)) |
65 |
package_object.maintainers.add(*get_maintainers_objects(package)) |
66 |
for ebuild in package.iter_ebuilds(): |
67 |
|
68 |
diff --git a/gpackages/libs/herds.py b/gpackages/libs/herds.py |
69 |
index 7626d03..e665166 100644 |
70 |
--- a/gpackages/libs/herds.py |
71 |
+++ b/gpackages/libs/herds.py |
72 |
@@ -46,7 +46,10 @@ class Maintainer(AbstractXmlObject, ToStrMixin): |
73 |
self._email = self._email.lower() |
74 |
|
75 |
def __eq__(self, other): |
76 |
- return self.email == other.email |
77 |
+ if isinstance(other, Maintainer): |
78 |
+ return self.email == other.email |
79 |
+ else: |
80 |
+ return self.email == unicode(other) |
81 |
|
82 |
def __ne__(self, other): |
83 |
return self.email != other.email |