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, 13 Jun 2012 22:15:42 +0000 (UTC) [thread overview]
Message-ID: <1339600673.d34d69c598241b44661c494cd85fcf20244ce910.bacher09@gentoo> (raw)
commit: d34d69c598241b44661c494cd85fcf20244ce910
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Wed Jun 13 15:17:53 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Wed Jun 13 15:17:53 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=d34d69c5
Update console interface fo scanherds and scanusedesc
---
.../apps/packages/management/commands/scanherds.py | 16 +++++++----
.../packages/management/commands/scanusedesc.py | 27 ++++++++++++++-----
gpackages/apps/packages/managers.py | 4 +-
gpackages/apps/packages/scan.py | 23 +++++++++++++---
4 files changed, 50 insertions(+), 20 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanherds.py b/gpackages/apps/packages/management/commands/scanherds.py
index 43f10c3..31bc107 100644
--- a/gpackages/apps/packages/management/commands/scanherds.py
+++ b/gpackages/apps/packages/management/commands/scanherds.py
@@ -1,13 +1,17 @@
from django.core.management.base import BaseCommand, CommandError
-import datetime
-import logging
-from packages import scan
+from packages.scan import Scanner
+from optparse import make_option
class Command(BaseCommand):
+ option_list = BaseCommand.option_list + (
+ make_option('--not-show-time',
+ action='store_false',
+ dest='show_time',
+ default=True,
+ help='Show time of scanning'),
+ )
args = ''
help = 'Will scan only herds and maintainers'
def handle(self, *args, **options):
- st = datetime.datetime.now()
- scan.scan_herds()
- print (datetime.datetime.now() - st).total_seconds()
+ Scanner(scan_herds = True, **options).scan()
diff --git a/gpackages/apps/packages/management/commands/scanusedesc.py b/gpackages/apps/packages/management/commands/scanusedesc.py
index e0ca2b8..705314f 100644
--- a/gpackages/apps/packages/management/commands/scanusedesc.py
+++ b/gpackages/apps/packages/management/commands/scanusedesc.py
@@ -1,14 +1,27 @@
from django.core.management.base import BaseCommand, CommandError
-import datetime
-import logging
-from packages import scan
+from packages.scan import Scanner
+from optparse import make_option
class Command(BaseCommand):
+ option_list = BaseCommand.option_list + (
+ make_option('-g','--no-globals',
+ action='store_false',
+ dest='scan_global_use',
+ default=True,
+ help='Don\'t scan globals use descriptions'),
+ make_option('-l', '--no-locals',
+ action='store_false',
+ dest='scan_local_use',
+ default=True,
+ help='Don\'t scan globals use descriptions'),
+ make_option('--not-show-time',
+ action='store_false',
+ dest='show_time',
+ default=True,
+ help='Show time of scanning'),
+ )
args = ''
help = 'Will scan use descriptions'
def handle(self, *args, **options):
- st = datetime.datetime.now()
- scan.update_globals_uses_descriptions()
- scan.scan_uses_description()
- print (datetime.datetime.now() - st).total_seconds()
+ Scanner(**options).scan()
diff --git a/gpackages/apps/packages/managers.py b/gpackages/apps/packages/managers.py
index 7d02c05..ca1561c 100644
--- a/gpackages/apps/packages/managers.py
+++ b/gpackages/apps/packages/managers.py
@@ -104,13 +104,13 @@ def get_name_and_category_by_cp(package):
class VirtualPackageMixin(object):
- def filter(self, **kwargs):
+ def filter(self,*args, **kwargs):
package = get_from_kwargs_and_del('package', kwargs)
if package is not None:
category, name = get_name_and_category_by_cp(package)
kwargs.update({'name': name, 'category__category': category})
- return super(VirtualPackageMixin, self).filter(**kwargs)
+ return super(VirtualPackageMixin, self).filter(*args, **kwargs)
_gen_all_query_and_manager('Mixin', 'QuerySet', 'Manager',
diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py
index 3417c12..cdd9538 100644
--- a/gpackages/apps/packages/scan.py
+++ b/gpackages/apps/packages/scan.py
@@ -127,6 +127,8 @@ class Scanner(object):
self.force_update = bool(kwargs.get('force_update', False))
self.delete = bool(kwargs.get('delete', True))
self.scan_repos_name = tuple(kwargs.get('repos',[]))
+ self.scan_global_use_descr = bool(kwargs.get('scan_global_use', False))
+ self.scan_local_use_descr = bool(kwargs.get('scan_local_use', False))
def show_time(self):
end = datetime.now()
@@ -140,11 +142,17 @@ class Scanner(object):
if self.s_all:
self.scan_all_repos(force_update = self.force_update,
delete = self.delete)
- else:
+ elif len(self.scan_repos_name) > 0:
self.scan_repos_by_name(self.scan_repos_name,
force_update = self.force_update,
delete = self.delete)
+ if self.scan_global_use_descr:
+ self.update_all_globals_uses_descriptions()
+
+ if self.scan_local_use_descr:
+ self.scan_all_uses_description()
+
if self.is_show_time:
self.show_time()
@@ -497,7 +505,7 @@ class Scanner(object):
.filter(name__in = use_dict.keys())
for use_object in existend_use_objects:
- use_object.description = use_dict[use_object.name]
+ use_object.description = use_dict[use_object.name.lower()]
use_object.save(force_update = True)
def update_all_globals_uses_descriptions(self):
@@ -507,7 +515,9 @@ class Scanner(object):
self.scan_uses_description(portage.get_all_use_local_desc())
def scan_uses_description(self, use_local_desc):
- existent_use_objects = models.UseFlagModel.objects.filter(name__in = use_local_desc.keys())
+ existent_use_objects = models.UseFlagModel.objects \
+ .filter(name__in = use_local_desc.keys())
+
existent_use_local_descr = models.UseFlagDescriptionModel.objects.all()
cache_uses = {}
_update_cache_by_queryset(cache_uses, existent_use_objects, 'name')
@@ -522,7 +532,8 @@ class Scanner(object):
# If this use flag not in database than create it
if use_flag not in cache_uses:
# Maybe get_or_create ?
- use_flag_object = models.UseFlagModel.objects.create(name = use_flag)
+ use_flag_object = models.UseFlagModel.objects \
+ .create(name = use_flag)
# Add to cache
cache_uses[use_flag.lower()] = use_flag_object
else:
@@ -534,7 +545,9 @@ class Scanner(object):
package_object = package_cache[package]
else:
try:
- package_object = models.VirtualPackageModel.objects.get(package = package)
+ package_object = models.VirtualPackageModel.objects \
+ .get(package = package)
+
except models.VirtualPackageModel.DoesNotExist:
continue
else:
next reply other threads:[~2012-06-13 22:16 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-13 22:15 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-08-22 17:55 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-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=1339600673.d34d69c598241b44661c494cd85fcf20244ce910.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