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/apps/packages/, gpackages/apps/packages/management/commands/
Date: Wed, 22 Aug 2012 17:55:45
Message-Id: 1345569565.fb52b4806558ffcc31630ed0721028f933809b4c.bacher09@gentoo
1 commit: fb52b4806558ffcc31630ed0721028f933809b4c
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Tue Aug 21 17:19:25 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Tue Aug 21 17:19:25 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=fb52b480
7
8 Improve updateebuildmask command
9
10 ---
11 .../management/commands/updateebuildmask.py | 10 +++++-
12 gpackages/apps/packages/scan.py | 31 +++++++++++++-------
13 2 files changed, 28 insertions(+), 13 deletions(-)
14
15 diff --git a/gpackages/apps/packages/management/commands/updateebuildmask.py b/gpackages/apps/packages/management/commands/updateebuildmask.py
16 index a26554d..15a0ec5 100644
17 --- a/gpackages/apps/packages/management/commands/updateebuildmask.py
18 +++ b/gpackages/apps/packages/management/commands/updateebuildmask.py
19 @@ -10,8 +10,14 @@ class Command(BaseCommand):
20 dest='show_time',
21 default=True,
22 help='Show time of scanning'),
23 + make_option('-m', '--update-missing',
24 + action='store_true',
25 + dest='missing',
26 + default=False,
27 + help='Add missing ebuilds'),
28 )
29 args = ''
30 - help = 'Will add missing ebuilds'
31 + help = 'Will update ebuild mask status'
32 def handle(self, *args, **options):
33 - Scanner(**options).update_ebuild_mask()
34 + missing = options.get('missing', False) # maybe move it to function ?
35 + Scanner(**options).update_ebuild_mask(missing = missing)
36
37 diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py
38 index 660fcc3..84d73f5 100644
39 --- a/gpackages/apps/packages/scan.py
40 +++ b/gpackages/apps/packages/scan.py
41 @@ -773,27 +773,35 @@ class Scanner(object):
42 models.PackageModel.objects.filter(pk = package_id). \
43 update(latest_ebuild = latest_ebuild)
44
45 + def missing_ebuild(self, ebuild):
46 + try:
47 + package_obj = models.PackageModel.objects. \
48 + get(package = ebuild.package)
49 +
50 + except models.PackageModel.DoesNotExist:
51 + pass
52 + else:
53 + # Don't run this for updated packages
54 + if package_obj.manifest_hash == ebuild.package.manifest_sha1:
55 + self.output('%-44s [%s]M\n', (ebuild,
56 + ebuild.package.category.porttree_name))
57 + self.update_ebuilds(ebuild.package, package_obj)
58 +
59 def add_mising_ebuilds(self):
60 for ebuild in porttree.iter_ebuilds():
61 try:
62 ebuild_obj = models.EbuildModel.objects.get(ebuild = ebuild)
63 except models.EbuildModel.DoesNotExist:
64 - self.output('%-44s [%s]\n', (ebuild,
65 - ebuild.package.category.porttree_name))
66 - try:
67 - package_obj = models.PackageModel.objects. \
68 - get(package = ebuild.package)
69 -
70 - except models.PackageModel.DoesNotExist:
71 - pass
72 - else:
73 - self.update_ebuilds(ebuild.package, package_obj)
74 + self.missing_ebuild(ebuild)
75
76 - def update_ebuild_mask(self):
77 + def update_ebuild_mask(self, missing = False):
78 for ebuild in porttree.iter_ebuilds():
79 try:
80 ebuild_obj = models.EbuildModel.objects.get(ebuild = ebuild)
81 except models.EbuildModel.DoesNotExist:
82 + if missing:
83 + self.missing_ebuild(ebuild)
84 +
85 continue
86 if ebuild_obj.is_hard_masked != ebuild.is_hard_masked:
87 self.output('%-44s [%s]\n', (ebuild,
88 @@ -801,3 +809,4 @@ class Scanner(object):
89
90 ebuild_obj.is_hard_masked = ebuild.is_hard_masked
91 ebuild_obj.save(force_update = True)
92 +