misc.py

Fri, 19 May 2017 21:15:12 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Fri, 19 May 2017 21:15:12 +0300
changeset 4
312c432bb9e6
parent 2
48efa8ca14dd
child 5
a65b680f1774
permissions
-rw-r--r--

Äää

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

mercurial