From 61f28ad4ac291863d4653b8a5dff481d4c2d8940 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 19 Jul 2011 13:40:49 +0200 Subject: [PATCH] fix error when there are no changes in an update --- weboob/backends/redmine/pages/issues.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/weboob/backends/redmine/pages/issues.py b/weboob/backends/redmine/pages/issues.py index 2a1403b7..e9a6aca5 100644 --- a/weboob/backends/redmine/pages/issues.py +++ b/weboob/backends/redmine/pages/issues.py @@ -264,14 +264,19 @@ class IssuePage(NewIssuePage): update['message'] = None changes = [] - for li in self.parser.select(div, 'ul.details', 1).findall('li'): - field = li.find('strong').text.decode('utf-8') - if len(li.findall('i')) == 2: - last = li.findall('i')[0].text.decode('utf-8') - else: - last = None - new = li.findall('i')[-1].text.decode('utf-8') - changes.append((field, last, new)) + try: + details = self.parser.select(div, 'ul.details', 1) + except BrokenPageError: + pass + else: + for li in details.findall('li'): + field = li.find('strong').text.decode('utf-8') + if len(li.findall('i')) == 2: + last = li.findall('i')[0].text.decode('utf-8') + else: + last = None + new = li.findall('i')[-1].text.decode('utf-8') + changes.append((field, last, new)) update['changes'] = changes params['updates'].append(update)