Tue, 20 Jun 2017 10:32:50 +0300
-
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 |