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 D34971381F3 for ; Thu, 4 Jul 2013 17:02:54 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D87E4E0A5B; Thu, 4 Jul 2013 17:02:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5ABC9E0A5B for ; Thu, 4 Jul 2013 17:02:51 +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 5F15633E8A5 for ; Thu, 4 Jul 2013 17:02:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id A1CB9E468F for ; Thu, 4 Jul 2013 17:02:47 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1372956676.f55428dafdbc849c7ed81d0d5dc1ed3a632d514d.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/interface/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/interface/depres.py X-VCS-Directories: roverlay/interface/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: f55428dafdbc849c7ed81d0d5dc1ed3a632d514d X-VCS-Branch: gsoc13/next Date: Thu, 4 Jul 2013 17:02:47 +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: f9d7e673-32f9-4e4d-bec2-86c241966fe9 X-Archives-Hash: 2b90890e0009f53d064a9fcb785d9a78 commit: f55428dafdbc849c7ed81d0d5dc1ed3a632d514d Author: André Erdmann mailerd de> AuthorDate: Thu Jul 4 16:51:16 2013 +0000 Commit: André Erdmann mailerd de> CommitDate: Thu Jul 4 16:51:16 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=f55428da roverlay/interface/depres: fix pool counting load_rule_files() does no longer bypass pool couting (self._pool_id). --- roverlay/interface/depres.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/roverlay/interface/depres.py b/roverlay/interface/depres.py index e9ac5b7..e16363c 100644 --- a/roverlay/interface/depres.py +++ b/roverlay/interface/depres.py @@ -80,6 +80,10 @@ class DepresInterface ( roverlay.interface.generic.RoverlaySubInterface ): return self # --- end of update (...) --- + def fixup_pool_id ( self ): + self._pool_id = len ( self._poolstack ) - 1 + # --- end of fixup_pool_id (...) --- + def has_pool ( self ): return self._poolstack # --- end of has_pool (...) --- @@ -117,7 +121,7 @@ class DepresInterface ( roverlay.interface.generic.RoverlaySubInterface ): try: self._poolstack.pop() self._pool_id -= 1 - assert self._pool_id >= -1 + assert self._pool_id >= -1, self._pool_id return True except AssertionError: raise @@ -133,6 +137,13 @@ class DepresInterface ( roverlay.interface.generic.RoverlaySubInterface ): return count # --- end of discard_pools (...) --- + def discard_all_pools ( self ): + i = 0 + while self.discard_pool(): + i += 1 + return i + # --- end of discard_all_pools (...) --- + def discard_empty_pools ( self ): removed = 0 while self._poolstack and self._poolstack[-1].empty(): @@ -145,14 +156,23 @@ class DepresInterface ( roverlay.interface.generic.RoverlaySubInterface ): return removed # --- end of discard_empty_pools (...) --- - def load_rules_from_config ( self ): - return self.load_rule_files ( - self.config.get_or_fail ( "DEPRES.simple_rules.files" ) - ) + def load_rules_from_config ( self, ignore_missing=False ): + if ignore_missing: + rule_files = self.config.get ( "DEPRES.simple_rules.files", None ) + if rule_files: + return self.load_rule_files ( rule_files ) + else: + return False + else: + return self.load_rule_files ( + self.config.get_or_fail ( "DEPRES.simple_rules.files" ) + ) # --- end of load_rules_from_config (...) --- def load_rule_files ( self, files_or_dirs ): - return self._resolver.get_reader().read ( files_or_dirs ) + ret = self._resolver.get_reader().read ( files_or_dirs ) + self.fixup_pool_id() + return ret # --- end of load_rule_files (...) --- def add_rule ( self, rule_str ):