From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 29A39138010 for ; Sun, 26 Aug 2012 23:01:01 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AE8E7E06C8; Sun, 26 Aug 2012 23:00:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 6ACAFE06C8 for ; Sun, 26 Aug 2012 23:00:47 +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 6814933D842 for ; Sun, 26 Aug 2012 23:00:46 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 7290DE5445 for ; Sun, 26 Aug 2012 23:00:43 +0000 (UTC) From: "Slava Bacherikov" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Slava Bacherikov" Message-ID: <1346020260.06ec53cb34cf47659e6b914a1525801845cde754.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/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: 06ec53cb34cf47659e6b914a1525801845cde754 X-VCS-Branch: master Date: Sun, 26 Aug 2012 23:00:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 3988d28e-2b0a-49e2-a094-366282ecaa4b X-Archives-Hash: 660861f6d3a8013eac5d92679a38845f commit: 06ec53cb34cf47659e6b914a1525801845cde754 Author: Slava Bacherikov bacher09 org> AuthorDate: Sun Aug 26 22:31:00 2012 +0000 Commit: Slava Bacherikov bacherikov org ua> CommitDate: Sun Aug 26 22:31:00 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=06ec53cb Add scan only overlays option --- .../packages/management/commands/scanpackages.py | 5 +++ gpackages/apps/packages/scan.py | 37 ++++++++++++++----- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py index 32e85b0..c0c57a4 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='Scan all repositories'), + make_option('-o', '--only-overlays', + action='store_true', + dest='scan_overlays', + default=False, + help='Scan only overlays repositories'), make_option('-r', '--update-repo', action='store_true', dest='update_repo', diff --git a/gpackages/apps/packages/scan.py b/gpackages/apps/packages/scan.py index 84d73f5..792853b 100644 --- a/gpackages/apps/packages/scan.py +++ b/gpackages/apps/packages/scan.py @@ -120,6 +120,7 @@ class Scanner(object): self.verbosity = toint(kwargs.get('verbosity',1),1) self.traceback = bool_get('traceback',False) self.s_all = bool_get('scan_all', False) + self.s_overlyas = bool_get('scan_overlays', False) self.s_packages = bool_get('packages', False) self.s_only_repo_info = bool_get('only_repo_info', False) self.is_show_time = bool_get('show_time', True) @@ -148,17 +149,23 @@ class Scanner(object): if self.is_scan_herds: self.scan_herds() + scan_kwargs = {'force_update' : self.force_update, + 'delete' : self.delete, + 'update_repo' : self.update_repo + } + if self.s_all and self.s_packages: - self.scan_all_repos(force_update = self.force_update, - delete = self.delete, - update_repo = self.update_repo) + self.scan_all_repos(**scan_kwargs) + + elif self.s_overlyas and self.s_packages: + self.scan_all_repos(exclude = ['gentoo'], **scan_kwargs) + elif len(self.scan_repos_name) > 0 and self.s_packages: - self.scan_repos_by_name(self.scan_repos_name, - force_update = self.force_update, - delete = self.delete, - update_repo = self.update_repo) + self.scan_repos_by_name(self.scan_repos_name, **scan_kwargs) + elif self.s_only_repo_info and self.s_all: self.scan_all_repo_info(delete = self.delete) + elif self.s_only_repo_info and len(self.scan_repos_name) > 0: self.scan_repo_info_by_names(self.scan_repos_name) @@ -345,11 +352,15 @@ class Scanner(object): self.load_maintainers_to_cache() return self.maintainers_cache - def scan_all_repos(self, **kwargs): + def scan_all_repos(self, exclude = None, **kwargs): "Scan packages in all available trees" #cache_dict = anydbm.open('cache.db','c') + if exclude is not None: + exclude = frozenset(exclude) for repo in portage.iter_trees(): + if exclude is not None and repo.name in exclude: + continue self.scan_repo(repo, **kwargs) #cache_dict.close() @@ -395,13 +406,19 @@ class Scanner(object): return repo_obj - def scan_all_repo_info(self, delete = False): + def scan_all_repo_info(self, exclude = None, delete = False): """Scan all info (metada) of all available repositories Args: delete -- if this true that repository will delete - if portage would be not available""" + if portage would be not available + exclude -- exlude this overlays + """ + if exclude is not None: + exclude = frozenset(exclude) ex_pk = [] for repo in portage.iter_trees(): + if exclude is not None and repo.name in exclude: + continue repo_obj = self.get_repo_obj(repo, update_repo = True) self.output("Scaned [%s]\n", repo.name) ex_pk.append(repo_obj.pk)