misc.py

Sat, 10 Jun 2017 22:30:55 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Sat, 10 Jun 2017 22:30:55 +0300
changeset 19
16fa9fb20b32
parent 18
1c8ff93fbfac
child 20
3199e289ae62
permissions
-rw-r--r--

Lisätty pysäkkiryhmän aikataulunäkymä

from datetime import datetime, date, time, timedelta

def tänään():
	return date.today()
	#return date(2017, 1, 10)

def nyt():
	return datetime.now()
	#return datetime.combine(tänään(), datetime.now().time())

def time_representation(aika, suhteellinen = True):
	erotus = aika - nyt()
	if suhteellinen and erotus < timedelta(minutes = 1):
		return 'nyt'
	elif suhteellinen and erotus < timedelta(minutes = 10):
		return '%dm' % round(erotus.seconds / 60)
	elif aika.date() == tänään():
		return '%d:%02d' % (aika.hour, aika.minute)
	elif erotus < timedelta(7):
		return aika.strftime('%-a %H:%M')
	else:
		return aika.strftime('%-d.%-m. %H:%M')

def lue_csv(tiedosto, muunnokset = None):
	import csv
	lukija = csv.reader(tiedosto)
	otsakkeet = next(lukija)
	for rivi in lukija:
		tietue = dict(zip(otsakkeet, rivi))
		if muunnokset:
			for avain, muunnos in muunnokset.items():
				tietue[avain] = muunnos(tietue[avain])
		yield tietue

def is_night_time(time):
	return time.hour >= 23 or time.hour < 5

mercurial