aboutsummaryrefslogtreecommitdiff
path: root/debdate
blob: 707376d7869e8f95ae28e6a910ed887cbaa1b91b (plain)
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()