misc.py

Wed, 28 Jun 2017 16:25:17 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Wed, 28 Jun 2017 16:25:17 +0300
changeset 37
5da3315058a2
parent 24
e6bdb9c54096
child 71
d2e19670b772
permissions
-rw-r--r--

Kavennettu hieman

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
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
3 def today():
4
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
4 return date.today()
5
a65b680f1774 Paljon asioita
Teemu Piippo <teemu@hecknology.net>
parents: 4
diff changeset
5 #return date(2017, 1, 10)
4
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
6
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
7 def now():
4
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
8 return datetime.now()
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
9 #return datetime.combine(today(), datetime.now().time())
4
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
10
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
11 def read_csv(file, transformations = None):
2
48efa8ca14dd Suppea ajovuoroesitys
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
12 import csv
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
13 lukija = csv.reader(file)
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
14 keys = next(lukija)
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
15 for i in range(len(keys)):
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
16 keys[i] = keys[i].replace('\ufeff', '').strip()
2
48efa8ca14dd Suppea ajovuoroesitys
Teemu Piippo <teemu@hecknology.net>
parents:
diff changeset
17 for rivi in lukija:
24
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
18 entry = dict(zip(keys, rivi))
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
19 if transformations:
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
20 for key, transformation in transformations.items():
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
21 entry[key] = transformation(entry[key])
e6bdb9c54096 Yhtenäistetty ohjelmakoodin kieli englanniksi
Teemu Piippo <teemu@hecknology.net>
parents: 21
diff changeset
22 yield entry
4
Teemu Piippo <teemu@hecknology.net>
parents: 2
diff changeset
23
18
1c8ff93fbfac Lisää käännöstä
Teemu Piippo <teemu@hecknology.net>
parents: 5
diff changeset
24 def is_night_time(time):
1c8ff93fbfac Lisää käännöstä
Teemu Piippo <teemu@hecknology.net>
parents: 5
diff changeset
25 return time.hour >= 23 or time.hour < 5

mercurial