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: Mon, 18 Jun 2012 23:00:51 +0000 (UTC) [thread overview]
Message-ID: <1340060441.b3156c48319c9773cf38b5ad3cc77c061c14bb49.bacher09@gentoo> (raw)
commit: b3156c48319c9773cf38b5ad3cc77c061c14bb49
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Jun 18 23:00:41 2012 +0000
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Jun 18 23:00:41 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=b3156c48
Add updating repository info to scan utility
---
.../packages/management/commands/scanpackages.py | 5 +++++
gpackages/apps/packages/models.py | 10 +++++++++-
gpackages/apps/packages/scan.py | 12 +++++++++---
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py
index 97ed11e..71c308c 100644
--- a/gpackages/apps/packages/management/commands/scanpackages.py
+++ b/gpackages/apps/packages/management/commands/scanpackages.py
@@ -24,6 +24,11 @@ class Command(BaseCommand):
dest='scan_all',
default=False,
help='Force updating'),
+ make_option('-r', '--update-repo',
+ action='store_true',
+ dest='update_repo',
+ default=False,
+ help='Update repository info'),
make_option('--not-show-time',
action='store_false',
dest='show_time',
diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index 5140911..1f7c6e8 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -91,7 +91,7 @@ class RepositoryModel(AbstractDateTimeModel):
RepositorySourceModel.objects.bulk_create(ret)
def clear_related_sources(self):
- self.repositorysourcemodel_set.clear()
+ RepositorySourceModel.objects.filter(repository = self).delete()
def update_related_sources(self, repo):
self.clear_related_sources()
@@ -101,6 +101,14 @@ class RepositoryModel(AbstractDateTimeModel):
self.add_related_feeds(repo)
self.add_related_sources(repo)
+ def clear_related(self):
+ self.clear_related_feeds()
+ self.clear_related_sources()
+
+ def update_related(self, repo):
+ self.clear_related()
+ self.add_related(repo)
+
def __unicode__(self):
return self.name
diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py
index 76573ce..8d8fed9 100644
--- a/gpackages/apps/packages/scan.py
+++ b/gpackages/apps/packages/scan.py
@@ -125,6 +125,7 @@ class Scanner(object):
self.is_show_time = bool(kwargs.get('show_time', True))
self.is_scan_herds = bool(kwargs.get('scan_herds', True))
self.force_update = bool(kwargs.get('force_update', False))
+ self.update_repo = bool(kwargs.get('update_repo', 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))
@@ -141,11 +142,13 @@ class Scanner(object):
if self.s_all:
self.scan_all_repos(force_update = self.force_update,
- delete = self.delete)
+ delete = self.delete,
+ update_repo = self.update_repo)
elif len(self.scan_repos_name) > 0:
self.scan_repos_by_name(self.scan_repos_name,
force_update = self.force_update,
- delete = self.delete)
+ delete = self.delete,
+ update_repo = self.update_repo)
if self.scan_global_use_descr:
self.update_all_globals_uses_descriptions()
@@ -306,13 +309,16 @@ class Scanner(object):
else:
self.scan_repo(repo, **kwargs)
- def scan_repo(self, repo, **kwargs):
+ def scan_repo(self, repo, update_repo = False, **kwargs):
self.output("Scaning repository '%s'\n", repo.name, 3)
repo_obj, repo_created = models.RepositoryModel \
.objects.get_or_create(repo = repo)
if not repo_created:
+ if update_repo:
+ repo_obj.update_metadata(repo)
+ repo_obj.update_related(repo)
#Update modification time
repo_obj.save(force_update = True)
else:
next reply other threads:[~2012-06-18 23:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-18 23:00 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-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=1340060441.b3156c48319c9773cf38b5ad3cc77c061c14bb49.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