* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-05-31 15:28 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-05-31 15:28 UTC (permalink / raw
To: gentoo-commits
commit: b25a9c9e270db980fb5cdc4dceb6299b4ea90aba
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Thu May 31 15:28:40 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Thu May 31 15:28:40 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=b25a9c9e
Add scaning for keywords.
---
.../packages/management/commands/scanpackages.py | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py
index ea6a3ef..6db27e4 100644
--- a/gpackages/apps/packages/management/commands/scanpackages.py
+++ b/gpackages/apps/packages/management/commands/scanpackages.py
@@ -93,6 +93,25 @@ class Command(BaseCommand):
geted_uses.add(use.name)
return uses_objects
+ arches_cache = {}
+ def get_keywords_objects(ebuild, ebuild_object):
+ keywords_list = []
+ for keyword in ebuild.get_keywords():
+ keyword_object = models.Keyword(status = keyword.status,
+ ebuild = ebuild_object)
+
+ if keyword.arch in arches_cache:
+ arch = arches_cache[keyword.arch]
+ else:
+ arch, created = models.ArchesModel.objects.get_or_create(name = keyword.arch)
+ arches_cache[keyword.arch] = arch
+
+ keyword_object.arch = arch
+ keywords_list.append(keyword_object)
+
+ models.Keyword.objects.bulk_create(keywords_list)
+
+
st = datetime.datetime.now()
@@ -110,6 +129,7 @@ class Command(BaseCommand):
# Add licenses
ebuild_object.licenses.add(*get_licenses_objects(ebuild))
ebuild_object.use_flags.add(*get_uses_objects(ebuild))
+ get_keywords_objects(ebuild, ebuild_object)
print (datetime.datetime.now() - st).total_seconds()
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-06-01 21:28 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-06-01 21:28 UTC (permalink / raw
To: gentoo-commits
commit: 7101e264cf9c68f701103dc123716c5984a93cae
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Fri Jun 1 19:37:43 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Fri Jun 1 19:37:43 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=7101e264
Refactor scanpackages.
---
.../packages/management/commands/scanpackages.py | 148 ++++++++++----------
1 files changed, 76 insertions(+), 72 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py
index 31644f8..133f886 100644
--- a/gpackages/apps/packages/management/commands/scanpackages.py
+++ b/gpackages/apps/packages/management/commands/scanpackages.py
@@ -8,6 +8,75 @@ import logging
#l.setLevel(logging.DEBUG)
#l.addHandler(logging.FileHandler('database.log'))
+def _get_from_cache(cache, what):
+ save_to = []
+ cached_items = frozenset(cache.keys())
+ geted_items = set()
+ for item in ( cached_items & what):
+ geted_items.add(item)
+ save_to.append(cache[item])
+ return save_to, geted_items
+
+def _get_from_database(Model, field_name, request_items):
+ request_items = list(request_items)
+ if not request_items:
+ return None
+ return Model.objects.filter(**{field_name + '__in': request_items})
+
+def _update_cache_by_queryset(cache, queryset, field_name):
+ geted_items = set()
+ for item in queryset:
+ cache[getattr(item, field_name)] = item
+ geted_items.add(getattr(item, field_name))
+ return geted_items
+
+def _get_from_database_and_update_cache(Model, field_name, request_items, cache):
+ queryset = _get_from_database(Model, field_name, request_items)
+ if queryset is None:
+ return None, set()
+ geted = _update_cache_by_queryset(cache, queryset, field_name)
+ return queryset, geted
+
+def _create_objects(Model, field_name, need_create):
+ if not need_create:
+ return None
+ creating_list = []
+ for item in need_create:
+ creating_list.append(Model(**{field_name: item}))
+
+ Model.objects.bulk_create(creating_list)
+ created = Model.objects.filter(**{field_name + '__in': need_create})
+ return created
+
+def _create_objects_and_update_cache(Model, field_name, need_create, cache):
+ created = _create_objects(Model, field_name, need_create)
+ if created is None:
+ return None, None
+ geted = _update_cache_by_queryset(cache, created, field_name)
+ return created, geted
+
+def _get_items(items_list, Model, field_name, cache_var):
+ items_set = frozenset(items_list)
+ # Getting from cache
+ items_objects, geted_items = _get_from_cache(cache_var, items_set)
+ # Getting from database
+ queryset, geted = _get_from_database_and_update_cache(Model, field_name, items_set - geted_items, cache_var)
+ if queryset is None:
+ return items_objects
+ geted_items = geted_items | geted
+
+ # Add to list with items
+ items_objects.extend(queryset)
+ # Create not existend items fast using bulk_create, works only in django 1.4 or gt
+ need_create = list(items_set - geted_items)
+ created, geted = _create_objects_and_update_cache(Model, field_name, need_create, cache_var)
+ if created is None:
+ return items_objects
+ items_objects.extend(created)
+ geted_items = geted_items | geted
+ return items_objects
+
+
class Command(BaseCommand):
args = ''
help = 'Will scan package tree and update info about it in database'
@@ -16,82 +85,12 @@ class Command(BaseCommand):
licenses_cache = {}
def get_licenses_objects(ebuild):
licenses = ebuild.licenses
- license_objects = []
- licenses_set = frozenset(licenses)
- cached_licenses = set(licenses_cache.keys())
- # Getting from cache
- geted_licenses = set()
- for license in (cached_licenses & licenses_set):
- geted_licenses.add(license)
- license_objects.append(licenses_cache[license])
- # Getting from database
- request_licenses = list(licenses_set - geted_licenses)
- if not request_licenses:
- return license_objects
- request = models.LicensModel.objects.filter(name__in = request_licenses)
- # Add to list with licenses
- license_objects.extend(request)
- # Update cache
- for license in request:
- licenses_cache[license.name] = license
- geted_licenses.add(license.name)
- # Create not existend licenses fast using bulk_create, works only in django 1.4 or gt
- need_create = list(licenses_set - geted_licenses)
- if not need_create:
- return license_objects
- creating_list = []
- for license in need_create:
- creating_list.append(models.LicensModel(name = license))
-
- models.LicensModel.objects.bulk_create(creating_list)
- # Retriwing created licenses from database
- request_created = models.LicensModel.objects.filter(name__in = need_create)
- license_objects.extend(request_created)
- # Update cache
- for license in request_created:
- licenses_cache[license.name] = license
- geted_licenses.add(license.name)
- return license_objects
+ return _get_items(licenses, models.LicensModel, 'name', licenses_cache)
uses_cache = {}
def get_uses_objects(ebuild):
uses = [ use.name for use in ebuild.iter_uses() ]
- uses_objects = []
- uses_set = frozenset(uses)
- cached_uses = set(uses_cache.keys())
- # Getting from cache
- geted_uses = set()
- for use in (cached_uses & uses_set):
- geted_uses.add(use)
- uses_objects.append(uses_cache[use])
- # Getting from database
- request_use = list(uses_set - geted_uses)
- if not request_use:
- return uses_objects
- request = models.UseFlagModel.objects.filter(name__in = request_use)
- # Add to list with licenses
- uses_objects.extend(request)
- # Update cache
- for use in request:
- uses_cache[use.name] = use
- geted_uses.add(use.name)
- # Create not existend licenses fast using bulk_create, works only in django 1.4 or gt
- need_create = list(uses_set - geted_uses)
- if not need_create:
- return license_objects
- creating_list = []
- for use in need_create:
- creating_list.append(models.UseFlagModel(name = use))
-
- models.UseFlagModel.objects.bulk_create(creating_list)
- # Retriwing created licenses from database
- request_created = models.UseFlagModel.objects.filter(name__in = need_create)
- uses_objects.extend(request_created)
- # Update cache
- for use in request_created:
- uses_cache[use.name] = use
- geted_uses.add(use.name)
- return uses_objects
+ return _get_items(uses, models.UseFlagModel, 'name', uses_cache)
arches_cache = {}
def get_keywords_objects(ebuild, ebuild_object):
@@ -113,8 +112,13 @@ class Command(BaseCommand):
+ homepages_cache = {}
st = datetime.datetime.now()
+ # Load homepages to cache
+ for homepage in models.HomepageModel.objects.all():
+ homepages_cache[homepage.url] = homepage
+
for category in self.porttree.iter_categories():
category_object, categor_created = models.CategoryModel.objects.get_or_create(category = category)
for package in category.iter_packages():
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-06-04 22:18 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-06-04 22:18 UTC (permalink / raw
To: gentoo-commits
commit: edf2cbe08faf1760ac8db34538efead74d6d3823
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Jun 4 20:23:00 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Jun 4 20:23:00 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=edf2cbe0
Add more scan commands.
---
.../apps/packages/management/commands/scanherds.py | 13 +++++++++++++
.../packages/management/commands/scanusedesc.py | 14 ++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanherds.py b/gpackages/apps/packages/management/commands/scanherds.py
new file mode 100644
index 0000000..43f10c3
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/scanherds.py
@@ -0,0 +1,13 @@
+from django.core.management.base import BaseCommand, CommandError
+import datetime
+import logging
+from packages import scan
+
+
+class Command(BaseCommand):
+ 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()
diff --git a/gpackages/apps/packages/management/commands/scanusedesc.py b/gpackages/apps/packages/management/commands/scanusedesc.py
new file mode 100644
index 0000000..e0ca2b8
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/scanusedesc.py
@@ -0,0 +1,14 @@
+from django.core.management.base import BaseCommand, CommandError
+import datetime
+import logging
+from packages import scan
+
+
+class Command(BaseCommand):
+ 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()
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-06-10 22:23 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-06-10 22:23 UTC (permalink / raw
To: gentoo-commits
commit: c6a3fd23ea7a0667dcaa577227bfd0939b6be734
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Sun Jun 10 22:18:46 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Sun Jun 10 22:18:46 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=c6a3fd23
Add simple stats
---
.../packages/management/commands/simplestats.py | 28 ++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/simplestats.py b/gpackages/apps/packages/management/commands/simplestats.py
new file mode 100644
index 0000000..b77d007
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/simplestats.py
@@ -0,0 +1,28 @@
+from django.core.management.base import BaseCommand, CommandError
+from optparse import make_option
+from packages import models
+from django.db.models import Count
+import porttree
+
+
+class Command(BaseCommand):
+
+ args = ''
+ help = 'Will show some stats for repos'
+ def handle(self, *args, **options):
+ query = models.RepositoryModel.objects.annotate(
+ packages_count = Count('packagemodel', distinct = True),
+ ebuilds_count = Count('packagemodel__ebuildmodel', distinct = True),
+ maintainers_count = Count('packagemodel__maintainers', distinct = True),
+ herds_count = Count('packagemodel__herds', distinct = True))
+
+ self.stdout.write('"%s" "%s" "%s" "%s" "%s"\n' %
+ ('Repo name', 'Packages', 'Ebuilds' , 'Maintainers', 'Herds'))
+
+ for repo_object in query:
+ self.stdout.write("%-25s %+9s %+9s %+9s %+9s\n" % (
+ repo_object.name,
+ repo_object.packages_count,
+ repo_object.ebuilds_count,
+ repo_object.maintainers_count,
+ repo_object.herds_count))
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-06-25 22:23 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-06-25 22:23 UTC (permalink / raw
To: gentoo-commits
commit: e560184b91de392f7bbdb79df23cf089084f4c8f
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Jun 25 18:00:14 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Jun 25 18:00:14 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=e560184b
Repair some commands
---
.../apps/packages/management/commands/listrepos.py | 4 ++--
.../packages/management/commands/simplestats.py | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/listrepos.py b/gpackages/apps/packages/management/commands/listrepos.py
index dc32881..1cdcadb 100644
--- a/gpackages/apps/packages/management/commands/listrepos.py
+++ b/gpackages/apps/packages/management/commands/listrepos.py
@@ -1,6 +1,6 @@
from django.core.management.base import BaseCommand, CommandError
from optparse import make_option
-import porttree
+from package_info.porttree import porttree as portage
class Command(BaseCommand):
@@ -15,7 +15,7 @@ class Command(BaseCommand):
args = ''
help = 'Will names of all available repos'
def handle(self, *args, **options):
- self.portage = porttree.Portage()
+ self.portage = portage
simple = options.get('simple',False)
if simple:
diff --git a/gpackages/apps/packages/management/commands/simplestats.py b/gpackages/apps/packages/management/commands/simplestats.py
index b77d007..b0c6a53 100644
--- a/gpackages/apps/packages/management/commands/simplestats.py
+++ b/gpackages/apps/packages/management/commands/simplestats.py
@@ -2,7 +2,6 @@ from django.core.management.base import BaseCommand, CommandError
from optparse import make_option
from packages import models
from django.db.models import Count
-import porttree
class Command(BaseCommand):
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-07-05 23:27 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-07-05 23:27 UTC (permalink / raw
To: gentoo-commits
commit: ae8cc7f23fd7eda63e3530a757a97a2121f877da
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Thu Jul 5 18:52:33 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Thu Jul 5 18:52:33 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=ae8cc7f2
Stats update command
---
.../packages/management/commands/update_stats.py | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/update_stats.py b/gpackages/apps/packages/management/commands/update_stats.py
new file mode 100644
index 0000000..39b7155
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/update_stats.py
@@ -0,0 +1,19 @@
+from django.core.management.base import BaseCommand, CommandError
+from optparse import make_option
+from packages import models
+from packages.stats import StatsMixin
+import inspect
+
+
+def get_predicate(obj):
+ if inspect.isclass(obj) and issubclass(obj, StatsMixin):
+ return obj != StatsMixin
+
+class Command(BaseCommand):
+
+ args = ''
+ help = 'Will update stats in models'
+ def handle(self, *args, **options):
+ models_list = inspect.getmembers(models, get_predicate)
+ for model_name, model in models_list:
+ model.calc_stats()
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-08-11 22:30 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-08-11 22:30 UTC (permalink / raw
To: gentoo-commits
commit: c4d1fec24351222354c75790503d5b90e6635814
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Fri Aug 10 20:01:36 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Fri Aug 10 20:01:36 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=c4d1fec2
Fix bug in simplestats
---
.../packages/management/commands/simplestats.py | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/simplestats.py b/gpackages/apps/packages/management/commands/simplestats.py
index b0c6a53..2e07372 100644
--- a/gpackages/apps/packages/management/commands/simplestats.py
+++ b/gpackages/apps/packages/management/commands/simplestats.py
@@ -10,10 +10,10 @@ class Command(BaseCommand):
help = 'Will show some stats for repos'
def handle(self, *args, **options):
query = models.RepositoryModel.objects.annotate(
- packages_count = Count('packagemodel', distinct = True),
- ebuilds_count = Count('packagemodel__ebuildmodel', distinct = True),
- maintainers_count = Count('packagemodel__maintainers', distinct = True),
- herds_count = Count('packagemodel__herds', distinct = True))
+ packages_countr = Count('packagemodel', distinct = True),
+ ebuilds_countr = Count('packagemodel__ebuildmodel', distinct = True),
+ maintainers_countr = Count('packagemodel__maintainers', distinct = True),
+ herds_countr = Count('packagemodel__herds', distinct = True))
self.stdout.write('"%s" "%s" "%s" "%s" "%s"\n' %
('Repo name', 'Packages', 'Ebuilds' , 'Maintainers', 'Herds'))
@@ -21,7 +21,7 @@ class Command(BaseCommand):
for repo_object in query:
self.stdout.write("%-25s %+9s %+9s %+9s %+9s\n" % (
repo_object.name,
- repo_object.packages_count,
- repo_object.ebuilds_count,
- repo_object.maintainers_count,
- repo_object.herds_count))
+ repo_object.packages_countr,
+ repo_object.ebuilds_countr,
+ repo_object.maintainers_countr,
+ repo_object.herds_countr))
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-08-20 13:03 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-08-20 13:03 UTC (permalink / raw
To: gentoo-commits
commit: 9071abf80462b3e692089ed9eb0b51ff3ed04b96
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Aug 13 17:42:36 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Aug 13 17:42:36 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=9071abf8
Add commands for some utils
---
.../apps/packages/management/commands/addmising.py | 17 +++++++++++++++++
.../management/commands/updateebuildmask.py | 17 +++++++++++++++++
2 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/addmising.py b/gpackages/apps/packages/management/commands/addmising.py
new file mode 100644
index 0000000..11e2214
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/addmising.py
@@ -0,0 +1,17 @@
+from django.core.management.base import BaseCommand, CommandError
+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 add missing ebuilds'
+ def handle(self, *args, **options):
+ Scanner(**options).add_mising_ebuilds()
diff --git a/gpackages/apps/packages/management/commands/updateebuildmask.py b/gpackages/apps/packages/management/commands/updateebuildmask.py
new file mode 100644
index 0000000..a26554d
--- /dev/null
+++ b/gpackages/apps/packages/management/commands/updateebuildmask.py
@@ -0,0 +1,17 @@
+from django.core.management.base import BaseCommand, CommandError
+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 add missing ebuilds'
+ def handle(self, *args, **options):
+ Scanner(**options).update_ebuild_mask()
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-08-20 13:03 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-08-20 13:03 UTC (permalink / raw
To: gentoo-commits
commit: 1d09f8127114a37a0c991ff843018a065cb82b78
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Sun Aug 19 21:23:13 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Sun Aug 19 22:05:42 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=1d09f812
Update flags descr in scanpackages command
---
.../packages/management/commands/scanpackages.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py
index f3b1e2c..32e85b0 100644
--- a/gpackages/apps/packages/management/commands/scanpackages.py
+++ b/gpackages/apps/packages/management/commands/scanpackages.py
@@ -18,12 +18,12 @@ class Command(BaseCommand):
action='store_false',
dest='scan_herds',
default=True,
- help='Force updating'),
+ help='not scan herds.xml'),
make_option('-a', '--all',
action='store_true',
dest='scan_all',
default=False,
- help='Force updating'),
+ help='Scan all repositories'),
make_option('-r', '--update-repo',
action='store_true',
dest='update_repo',
@@ -38,7 +38,7 @@ class Command(BaseCommand):
action='store_false',
dest='delete',
default=True,
- help='Not delete'),
+ help="Don't delete"),
make_option('--clear-cache',
action='store_true',
dest='cache_clear',
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/
@ 2012-08-20 22:40 Slava Bacherikov
0 siblings, 0 replies; 10+ messages in thread
From: Slava Bacherikov @ 2012-08-20 22:40 UTC (permalink / raw
To: gentoo-commits
commit: d1862988afce875c02d691f0a6c8b2b010b8765c
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Aug 20 22:36:54 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Aug 20 22:36:54 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=d1862988
Update simplestats command, allow using precalculated values in it
---
.../packages/management/commands/simplestats.py | 38 ++++++++++++++-----
1 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/simplestats.py b/gpackages/apps/packages/management/commands/simplestats.py
index 2e07372..b312d45 100644
--- a/gpackages/apps/packages/management/commands/simplestats.py
+++ b/gpackages/apps/packages/management/commands/simplestats.py
@@ -3,25 +3,43 @@ from optparse import make_option
from packages import models
from django.db.models import Count
+def get_query(precalculated = False):
+ if precalculated == True:
+ return models.RepositoryModel.objects. \
+ values_list('name', 'packages_count', 'ebuilds_count',
+ 'maintainers_count', 'herds_count')
+
+ return models.RepositoryModel.objects.annotate(
+ packages_countr = Count('packagemodel', distinct = True),
+ ebuilds_countr = Count('packagemodel__ebuildmodel', distinct = True),
+ maintainers_countr = Count('packagemodel__maintainers', distinct = True),
+ herds_countr = Count('packagemodel__herds', distinct = True)). \
+ values_list('name', 'packages_countr', 'ebuilds_countr',
+ 'maintainers_countr', 'herds_countr')
class Command(BaseCommand):
+ option_list = BaseCommand.option_list + (
+ make_option('-p', '--precalculated',
+ action='store_true',
+ dest='precalculated',
+ default=False,
+ help='Use precalculated stats'),
+ )
args = ''
help = 'Will show some stats for repos'
+
def handle(self, *args, **options):
- query = models.RepositoryModel.objects.annotate(
- packages_countr = Count('packagemodel', distinct = True),
- ebuilds_countr = Count('packagemodel__ebuildmodel', distinct = True),
- maintainers_countr = Count('packagemodel__maintainers', distinct = True),
- herds_countr = Count('packagemodel__herds', distinct = True))
+ precalculated = options.get('precalculated', False)
+ query = get_query(precalculated)
self.stdout.write('"%s" "%s" "%s" "%s" "%s"\n' %
('Repo name', 'Packages', 'Ebuilds' , 'Maintainers', 'Herds'))
for repo_object in query:
self.stdout.write("%-25s %+9s %+9s %+9s %+9s\n" % (
- repo_object.name,
- repo_object.packages_countr,
- repo_object.ebuilds_countr,
- repo_object.maintainers_countr,
- repo_object.herds_countr))
+ repo_object[0],
+ repo_object[1],
+ repo_object[2],
+ repo_object[3],
+ repo_object[4]))
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-08-20 22:41 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-20 22:40 [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/management/commands/ Slava Bacherikov
-- strict thread matches above, loose matches on Subject: below --
2012-08-20 13:03 Slava Bacherikov
2012-08-20 13:03 Slava Bacherikov
2012-08-11 22:30 Slava Bacherikov
2012-07-05 23:27 Slava Bacherikov
2012-06-25 22:23 Slava Bacherikov
2012-06-10 22:23 Slava Bacherikov
2012-06-04 22:18 Slava Bacherikov
2012-06-01 21:28 Slava Bacherikov
2012-05-31 15:28 Slava Bacherikov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox