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
|
#!/usr/bin/env python3
import datetime
import dateutil.relativedelta
# TODO: these will be read from some other file
RELEASES = [
(datetime.date(2015, 4, 25), 'jessie'),
(datetime.date(2013, 5, 4), 'wheezy'),
(datetime.date(2011, 2, 6), 'squeeze'),
(datetime.date(2009, 2, 14), 'lenny'),
(datetime.date(2007, 4, 8), 'etch'),
(datetime.date(2005, 6, 6), 'sarge'),
(datetime.date(2002, 7, 19), 'woody'),
(datetime.date(2000, 8, 15), 'potato'),
(datetime.date(1999, 3, 9), 'slink'),
(datetime.date(1998, 6, 24), 'hamm'),
(datetime.date(1997, 7, 2), 'bo'),
(datetime.date(1996, 12, 12), 'rex'),
(datetime.date(1996, 6, 17), 'buzz'),
]
MSG = "Today is day {dody} of year {yodr} of the {release}"
class DebDate:
def get_release(self, day):
data = {}
for r in RELEASES:
epoch = r[0]
data['release'] = r[1]
if day > epoch:
break
delta = dateutil.relativedelta.relativedelta(day, epoch)
data['dody'] = 0
data['yodr'] = delta.years + 1
if delta.years == 0:
data['dody'] = datetime.timedelta(delta).days
else:
data['dody'] = day.timetuple().tm_yday
return data
def main(self):
today = datetime.date.today()
data = self.get_release(today)
print(MSG.format(**data))
if __name__ == '__main__':
DebDate().main()
|