From b37c2160b52581cb3b6a36e9c52d23c76531eb9c Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 4 May 2012 20:48:33 +0200 Subject: [PATCH] when many products are found, ask user to select one --- weboob/applications/comparoob/comparoob.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/weboob/applications/comparoob/comparoob.py b/weboob/applications/comparoob/comparoob.py index b41ffa35..c19c7d51 100644 --- a/weboob/applications/comparoob/comparoob.py +++ b/weboob/applications/comparoob/comparoob.py @@ -94,14 +94,22 @@ class Comparoob(ReplApplication): for backend, product in self.do('search_products', pattern): products.append(product) + product = None if len(products) == 0: print >>sys.stderr, 'Error: no product found with this pattern' return 1 elif len(products) == 1: product = products[0] else: - print >>sys.stderr, 'Error: too many results, TODO' - return 1 + print 'What product do you want to compare?' + for i, product in enumerate(products): + print ' %s%2d)%s %s' % (self.BOLD, i+1, self.NC, product.name) + r = int(self.ask(' Select a product', regexp='\d+')) + while product is None: + if r <= 0 or r > len(products): + print 'Error: Please enter a valid ID' + continue + product = products[r-1] self.change_path([u'prices']) self.start_format()