-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchipsters.py
More file actions
76 lines (64 loc) · 2.06 KB
/
Copy pathchipsters.py
File metadata and controls
76 lines (64 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import sys
def print_line(address, num_deliveries, kilos):
out = '"' + address["site"] + '";'
out += '"' + address["street"] + '";'
out += '"' + address["postal"] + '";'
out += '"' + address["city"] + '";'
out += str(num_deliveries) + ';'
out += "{0:.2f}".format(kilos).replace('.', ',') + ';'
out += '"' + get_maps_url(address) + '"'
print out
def get_maps_url(address):
base_url = 'https://www.google.com/maps/search/?api=1&query='
street = address["street"].replace(' ', '+').replace(',', '%2C')
city = address["city"].replace(' ', '+').replace(',', '%2C')
return base_url + street + '+' + address["postal"] + '+' + city
def parse_address(line):
addr = {}
addr["site"] = line[0:29].strip()
tokens = filter(None, line[29:].split(' '))
tokens = map(str.strip, tokens)
addr["street"] = tokens[0].split(None, 1)[1]
addr["postal"] = tokens[1].split()[0]
addr["city"] = tokens[1].split(None, 1)[1]
return addr
filename = sys.argv[1]
with open(filename) as f:
content = f.readlines()
address = None
kilos = 0
num_deliveries = 0
i = 0
print '"Kohde";"Katuosoite";"Postinumero";"Kaupunki";"Lahetteita";"Kiloja";"Maps"'
while i < len(content):
line = content[i].strip()
if not line:
i = i + 1
continue
if "Pudotuksia" in line:
i = i + 1
continue
if "P U D O T U S L I S T A" in line:
i = i + 6
continue
if address is None:
address = parse_address(line)
i = i + 1
continue
if "Huomautus:" not in line:
if len(line) is 89 or len(line) is 23: # kilomaara
data = line.split()
kilos += float(data[-1].replace(',', '.'))
num_deliveries = num_deliveries + 1
i = i + 1
continue
else: # address
print_line(address, num_deliveries, kilos)
address = None
num_deliveries = 0
kilos = 0
continue
else: # huomautus
i = i + 1
continue
print_line(address, num_deliveries, kilos)