Fri, 19 May 2017 21:15:12 +0300
Äää
4 | 1 | from datetime import datetime, date, time, timedelta |
2 | ||
3 | def tänään(): | |
4 | return date.today() | |
5 | #return date(2017, 4, 10) | |
6 | ||
7 | def nyt(): | |
8 | return datetime.now() | |
9 | #return datetime.combine(tänään(), datetime.now().time()) | |
10 | ||
11 | def muotoile_aika(aika, suhteellinen = True): | |
12 | erotus = aika - nyt() | |
13 | if suhteellinen and erotus < timedelta(minutes = 30): | |
14 | return '%dm' % round(erotus.seconds / 60) | |
15 | elif aika.date() == tänään(): | |
16 | return '%d:%02d' % (aika.hour, aika.minute) | |
17 | elif erotus < timedelta(7): | |
18 | return aika.strftime('%-a %H:%M') | |
19 | else: | |
20 | return aika.strftime('%-d.%-m. %H:%M') | |
2 | 21 | |
22 | def lue_csv(tiedosto, muunnokset = None): | |
23 | import csv | |
24 | lukija = csv.reader(tiedosto) | |
25 | otsakkeet = next(lukija) | |
26 | for rivi in lukija: | |
27 | tietue = dict(zip(otsakkeet, rivi)) | |
28 | if muunnokset: | |
29 | for avain, muunnos in muunnokset.items(): | |
30 | tietue[avain] = muunnos(tietue[avain]) | |
4 | 31 | yield tietue |
32 | ||
33 | def yö(aika): | |
34 | return aika.hour >= 23 or aika.hour < 5 |