public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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