Mercurial > hg > python
comparison trip2xml.py @ 4:2d7c91f89f6b
later ecclerig version
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Mon, 09 Mar 2020 17:38:52 +0000 |
parents | e07789816ca5 |
children |
comparison
equal
deleted
inserted
replaced
3:26d9c0308fcf | 4:2d7c91f89f6b |
---|---|
13 cleg=None | 13 cleg=None |
14 class Leg: | 14 class Leg: |
15 def __init__(self): | 15 def __init__(self): |
16 self.flights=[] | 16 self.flights=[] |
17 self.p1=False | 17 self.p1=False |
18 self.dd=None | |
19 | 18 |
20 def addFlight(self,flight): | 19 def addFlight(self,flight): |
21 self.flights.append(flight) | 20 self.flights.append(flight) |
22 | 21 |
23 def setDD(self,m): | 22 def setDD(self,m): |
24 print 'sdd' | |
25 td="%s-%s-%s"%(year,m.group(2),m.group(1)) | 23 td="%s-%s-%s"%(year,m.group(2),m.group(1)) |
26 self.ddate=datetime.datetime.strptime(td,"%Y-%B-%d").date() | 24 self.ddate=datetime.datetime.strptime(td,"%Y-%B-%d").date() |
27 self.dd=self.ddate.isoformat() | 25 self.dd=self.ddate.isoformat() |
28 if self.p1: | 26 if self.p1: |
29 self.ads=" -- %s"%(self.ddate+datetime.timedelta(1)).isoformat() | 27 self.ads=" -- %s"%(self.ddate+datetime.timedelta(1)).isoformat() |
30 else: | 28 else: |
31 self.ads="" | 29 self.ads="" |
32 | 30 |
33 def setPlusOne(self): | 31 def setPlusOne(self): |
34 print 'p1' | |
35 self.p1=True | 32 self.p1=True |
36 | 33 |
37 def __str__(self): | 34 def __str__(self): |
38 fa=self.flights[0].fa | 35 fa=self.flights[0].fa |
39 ta=self.flights[-1].ta | 36 ta=self.flights[-1].ta |
55 self.fa=dss[1].split()[-1] | 52 self.fa=dss[1].split()[-1] |
56 | 53 |
57 def setArr(self,ax): | 54 def setArr(self,ax): |
58 ass=ax.split('|') | 55 ass=ax.split('|') |
59 self.at=ass[0][:2]+ass[0][3:5] | 56 self.at=ass[0][:2]+ass[0][3:5] |
60 if (ass[0].find('(+1 day)')==6): | |
61 self.at+="+1" | |
62 self.ta=ass[1].split()[-1] | 57 self.ta=ass[1].split()[-1] |
63 | 58 |
64 print "<list type='defn'>" | 59 print "<list type='defn'>" |
65 for l in sys.stdin: | 60 for l in sys.stdin: |
66 if leg.search(l): | 61 if leg.search(l): |
70 m = flight.search(l) | 65 m = flight.search(l) |
71 if m: | 66 if m: |
72 fl=Flight(m.group(1)) | 67 fl=Flight(m.group(1)) |
73 cleg.addFlight(fl) | 68 cleg.addFlight(fl) |
74 continue | 69 continue |
75 if ((cleg is not None) and | 70 m=duration.search(l) |
76 (cleg.dd is None)): | 71 if m: |
77 m=duration.search(l) | 72 cleg.setDD(m) |
78 if m: | 73 continue |
79 cleg.setDD(m) | |
80 continue | |
81 m=plusOne.search(l) | 74 m=plusOne.search(l) |
82 if m: | 75 if m: |
83 cleg.setPlusOne() | 76 cleg.setPlusOne() |
84 continue | 77 continue |
85 m=dep.search(l) | 78 m=dep.search(l) |