Merge lp:~chsn/parcel-tracker/posten-new into lp:parcel-tracker

Proposed by Erik Christiansson
Status: Merged
Approved by: Vsevolod Velichko
Approved revision: 222
Merged at revision: 223
Proposed branch: lp:~chsn/parcel-tracker/posten-new
Merge into: lp:parcel-tracker
Diff against target: 31 lines (+3/-14)
1 file modified
parcel_tracker_lib/postservices/postense.py (+3/-14)
To merge this branch: bzr merge lp:~chsn/parcel-tracker/posten-new
Reviewer Review Type Date Requested Status
Vsevolod Velichko Pending
Review via email: mp+193250@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'parcel_tracker_lib/postservices/postense.py'
2--- parcel_tracker_lib/postservices/postense.py 2013-06-26 08:41:31 +0000
3+++ parcel_tracker_lib/postservices/postense.py 2013-10-30 14:09:53 +0000
4@@ -24,24 +24,13 @@
5 import re
6 from dateutil.parser import parse as parsedate
7
8-
9 class PostenSeService(TrackingService):
10 """Swedish postal service"""
11
12 name = 'Posten.se'
13- url = 'http://www.posten.se/tracktrace/TrackConsignments_do.jsp?trackntraceAction=saveSearch&consignmentId=%(number)s&lang=GB'
14+ url = 'http://server.logistik.posten.se/servlet/PacTrack?lang=GB&kolliid=%(number)s'
15
16 def _parse_page(self, html):
17 html = html.decode('ISO-8859-1', 'ignore')
18- res = re.search(r'<table\s+class="result".*?</th></tr>(.*?)</table>', html, re.DOTALL)
19- if res is None:
20- return []
21- html = res.group(1)
22- result = []
23- for res in re.findall('<tr[^>]*>\s*<td[^>]*>(.*?)</td>\s*<td[^>]*>(.*?), (.*?)</td>\s*</tr>', html, re.DOTALL):
24- opdate, location, action = (x.strip() for x in res)
25- opdate = parsedate(opdate.replace('kl ', ''))
26- action = re.sub('\s+', ' ', action)
27- location = re.sub('\s+', ' ', location)
28- result.append((action, opdate, location))
29- return result
30+ return [(r[3], parsedate('%s %s' % (r[0], r[1])), r[2]) for r in re.findall(r'<event>.*?<date>(.*?)</date>.*?<time>(.*?)</time>.*?<location>(.*?)</location>.*?<description>(.*?)</description>.*?</event>', html, re.DOTALL)]
31+

Subscribers

People subscribed via source and target branches