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 702A6138C9D for ; Sat, 25 Apr 2015 22:47:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 04469E077B; Sat, 25 Apr 2015 22:47:42 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 847AFE06CC for ; Sat, 25 Apr 2015 22:47:41 +0000 (UTC) Received: from localhost.localdomain (ip174-67-205-96.oc.oc.cox.net [174.67.205.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: zmedico) by smtp.gentoo.org (Postfix) with ESMTPSA id 2481C340D47; Sat, 25 Apr 2015 22:47:40 +0000 (UTC) From: Zac Medico To: gentoo-portage-dev@lists.gentoo.org Cc: Zac Medico Subject: [gentoo-portage-dev] [PATCH] search: fix addCP so only the specified results are displayed (bug 547736) Date: Sat, 25 Apr 2015 15:47:20 -0700 Message-Id: <1430002040-473-1-git-send-email-zmedico@gentoo.org> X-Mailer: git-send-email 2.3.5 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org X-Archives-Salt: b17c1215-810a-4ac5-a51e-1bf69d164a86 X-Archives-Hash: ef5dab944516f2b155181f6e1d694407 Since commit 4938b8a8a72e719b394a5c5b0c5030c160091d57, the search.addCP method has not worked as intended. Fixes: 4938b8a8a72e ("Display emerge search results incrementally (412471)") X-Gentoo-Bug: 547736 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=547736 --- pym/_emerge/search.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/search.py b/pym/_emerge/search.py index 5a8143c..41c182d 100644 --- a/pym/_emerge/search.py +++ b/pym/_emerge/search.py @@ -36,6 +36,7 @@ class search(object): self.verbose = verbose self.searchdesc = searchdesc self.searchkey = None + self._results_specified = False # Disable the spinner since search results are displayed # incrementally. self.spinner = None @@ -295,6 +296,12 @@ class search(object): yield ("set", setname) def addCP(self, cp): + """ + Add a specific cp to the search results. This modifies the + behavior of the output method, so that it only displays specific + packages added via this method. + """ + self._results_specified = True if not self._xmatch("match-all", cp): return self.matches["pkg"].append(cp) @@ -315,11 +322,12 @@ class search(object): metadata_keys.update(["DESCRIPTION", "HOMEPAGE", "LICENSE", "SRC_URI"]) metadata_keys = tuple(metadata_keys) - if self.searchkey is None: + if self._results_specified: # Handle results added via addCP addCP_matches = [] - for mytype, match in self.matches.items(): - addCP_matches.append(mytype, match) + for mytype, matches in self.matches.items(): + for match in matches: + addCP_matches.append((mytype, match)) iterator = iter(addCP_matches) else: -- 2.3.5