Sun, 17 Sep 2017 20:50:07 +0300
Pöö 2
| 4 | 1 | from datetime import datetime, date, time, timedelta | 
| 2 | ||
| 
24
 
e6bdb9c54096
Yhtenäistetty ohjelmakoodin kieli englanniksi
 
Teemu Piippo <teemu@hecknology.net> 
parents: 
21 
diff
changeset
 | 
3 | def today(): | 
| 4 | 4 | return date.today() | 
| 5 | 5 | #return date(2017, 1, 10) | 
| 4 | 6 | |
| 
24
 
e6bdb9c54096
Yhtenäistetty ohjelmakoodin kieli englanniksi
 
Teemu Piippo <teemu@hecknology.net> 
parents: 
21 
diff
changeset
 | 
7 | def now(): | 
| 4 | 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 | 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 | 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 | 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 | 23 | |
| 18 | 24 | def is_night_time(time): | 
| 25 | return time.hour >= 23 or time.hour < 5 |