From: "Slava Bacherikov" <slava@bacherikov.org.ua>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/packages/management/commands/
Date: Wed, 22 Aug 2012 17:55:34 +0000 (UTC) [thread overview]
Message-ID: <1345569565.fb52b4806558ffcc31630ed0721028f933809b4c.bacher09@gentoo> (raw)
commit: fb52b4806558ffcc31630ed0721028f933809b4c
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Tue Aug 21 17:19:25 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Tue Aug 21 17:19:25 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=fb52b480
Improve updateebuildmask command
---
.../management/commands/updateebuildmask.py | 10 +++++-
gpackages/apps/packages/scan.py | 31 +++++++++++++-------
2 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/updateebuildmask.py b/gpackages/apps/packages/management/commands/updateebuildmask.py
index a26554d..15a0ec5 100644
--- a/gpackages/apps/packages/management/commands/updateebuildmask.py
+++ b/gpackages/apps/packages/management/commands/updateebuildmask.py
@@ -10,8 +10,14 @@ class Command(BaseCommand):
dest='show_time',
default=True,
help='Show time of scanning'),
+ make_option('-m', '--update-missing',
+ action='store_true',
+ dest='missing',
+ default=False,
+ help='Add missing ebuilds'),
)
args = ''
- help = 'Will add missing ebuilds'
+ help = 'Will update ebuild mask status'
def handle(self, *args, **options):
- Scanner(**options).update_ebuild_mask()
+ missing = options.get('missing', False) # maybe move it to function ?
+ Scanner(**options).update_ebuild_mask(missing = missing)
diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py
index 660fcc3..84d73f5 100644
--- a/gpackages/apps/packages/scan.py
+++ b/gpackages/apps/packages/scan.py
@@ -773,27 +773,35 @@ class Scanner(object):
models.PackageModel.objects.filter(pk = package_id). \
update(latest_ebuild = latest_ebuild)
+ def missing_ebuild(self, ebuild):
+ try:
+ package_obj = models.PackageModel.objects. \
+ get(package = ebuild.package)
+
+ except models.PackageModel.DoesNotExist:
+ pass
+ else:
+ # Don't run this for updated packages
+ if package_obj.manifest_hash == ebuild.package.manifest_sha1:
+ self.output('%-44s [%s]M\n', (ebuild,
+ ebuild.package.category.porttree_name))
+ self.update_ebuilds(ebuild.package, package_obj)
+
def add_mising_ebuilds(self):
for ebuild in porttree.iter_ebuilds():
try:
ebuild_obj = models.EbuildModel.objects.get(ebuild = ebuild)
except models.EbuildModel.DoesNotExist:
- self.output('%-44s [%s]\n', (ebuild,
- ebuild.package.category.porttree_name))
- try:
- package_obj = models.PackageModel.objects. \
- get(package = ebuild.package)
-
- except models.PackageModel.DoesNotExist:
- pass
- else:
- self.update_ebuilds(ebuild.package, package_obj)
+ self.missing_ebuild(ebuild)
- def update_ebuild_mask(self):
+ def update_ebuild_mask(self, missing = False):
for ebuild in porttree.iter_ebuilds():
try:
ebuild_obj = models.EbuildModel.objects.get(ebuild = ebuild)
except models.EbuildModel.DoesNotExist:
+ if missing:
+ self.missing_ebuild(ebuild)
+
continue
if ebuild_obj.is_hard_masked != ebuild.is_hard_masked:
self.output('%-44s [%s]\n', (ebuild,
@@ -801,3 +809,4 @@ class Scanner(object):
ebuild_obj.is_hard_masked = ebuild.is_hard_masked
ebuild_obj.save(force_update = True)
+
next reply other threads:[~2012-08-22 17:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-22 17:55 Slava Bacherikov [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-08-26 23:00 [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/packages/management/commands/ Slava Bacherikov
2012-07-18 23:03 Slava Bacherikov
2012-07-17 9:42 Slava Bacherikov
2012-07-06 23:09 Slava Bacherikov
2012-07-05 23:27 Slava Bacherikov
2012-06-19 0:12 Slava Bacherikov
2012-06-18 23:00 Slava Bacherikov
2012-06-13 22:15 Slava Bacherikov
2012-06-10 22:23 Slava Bacherikov
2012-06-10 17:51 Slava Bacherikov
2012-06-09 18:19 Slava Bacherikov
2012-06-09 18:19 Slava Bacherikov
2012-06-04 20:09 Slava Bacherikov
2012-06-04 20:09 Slava Bacherikov
2012-06-04 20:09 Slava Bacherikov
2012-06-04 20:09 Slava Bacherikov
2012-06-03 16:19 Slava Bacherikov
2012-06-03 13:19 Slava Bacherikov
2012-06-01 21:28 Slava Bacherikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1345569565.fb52b4806558ffcc31630ed0721028f933809b4c.bacher09@gentoo \
--to=slava@bacherikov.org.ua \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox