From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1SgkwP-0001KM-Hm for garchives@archives.gentoo.org; Mon, 18 Jun 2012 23:01:01 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D93BFE0769; Mon, 18 Jun 2012 23:00:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 99DB3E0769 for ; Mon, 18 Jun 2012 23:00:53 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A03661B4057 for ; Mon, 18 Jun 2012 23:00:52 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 5C5AAE5430 for ; Mon, 18 Jun 2012 23:00:51 +0000 (UTC) From: "Slava Bacherikov" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Slava Bacherikov" Message-ID: <1340060441.b3156c48319c9773cf38b5ad3cc77c061c14bb49.bacher09@gentoo> Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/packages/management/commands/ X-VCS-Repository: proj/gentoo-packages X-VCS-Files: gpackages/apps/packages/management/commands/scanpackages.py gpackages/apps/packages/models.py gpackages/apps/packages/scan.py X-VCS-Directories: gpackages/apps/packages/ gpackages/apps/packages/management/commands/ X-VCS-Committer: bacher09 X-VCS-Committer-Name: Slava Bacherikov X-VCS-Revision: b3156c48319c9773cf38b5ad3cc77c061c14bb49 X-VCS-Branch: master Date: Mon, 18 Jun 2012 23:00:51 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 6254e671-39f0-4886-9203-bf7629f0823e X-Archives-Hash: d5674da9b00747c334207b20286f6af7 commit: b3156c48319c9773cf38b5ad3cc77c061c14bb49 Author: Slava Bacherikov bacher09 org> AuthorDate: Mon Jun 18 23:00:41 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Mon Jun 18 23:00:41 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoo-packag= es.git;a=3Dcommit;h=3Db3156c48 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=3D'scan_all', default=3DFalse, help=3D'Force updating'), + make_option('-r', '--update-repo', + action=3D'store_true', + dest=3D'update_repo', + default=3DFalse, + help=3D'Update repository info'), make_option('--not-show-time', action=3D'store_false', dest=3D'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) =20 def clear_related_sources(self): - self.repositorysourcemodel_set.clear() + RepositorySourceModel.objects.filter(repository =3D self).delete= () =20 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) =20 + 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 =20 diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/sc= an.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 =3D bool(kwargs.get('show_time', True)) self.is_scan_herds =3D bool(kwargs.get('scan_herds', True)) self.force_update =3D bool(kwargs.get('force_update', False)) + self.update_repo =3D bool(kwargs.get('update_repo', False)) self.delete =3D bool(kwargs.get('delete', True)) self.scan_repos_name =3D tuple(kwargs.get('repos',[])) self.scan_global_use_descr =3D bool(kwargs.get('scan_global_use'= , False)) @@ -141,11 +142,13 @@ class Scanner(object): =20 if self.s_all: self.scan_all_repos(force_update =3D self.force_update, - delete =3D self.delete) + delete =3D self.delete, + update_repo =3D self.update_repo) elif len(self.scan_repos_name) > 0: self.scan_repos_by_name(self.scan_repos_name, force_update =3D self.force_update, - delete =3D self.delete) + delete =3D self.delete, + update_repo =3D self.update_repo) =20 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) =20 - def scan_repo(self, repo, **kwargs): + def scan_repo(self, repo, update_repo =3D False, **kwargs): self.output("Scaning repository '%s'\n", repo.name, 3) =20 repo_obj, repo_created =3D models.RepositoryModel \ .objects.get_or_create(repo =3D repo) =20 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 =3D True) else: