Sat, 10 Jun 2017 17:00:53 +0300
Refaktoroitu käännä-funktio, kaikki kielet luetaan automaattisesti
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 muotoile_aika(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 yö(aika): return aika.hour >= 23 or aika.hour < 5