Pokud Vás stejně jako mě nebaví přeťukávat program oblíbeného festivalu z webových stránek do kalendáře, zde nabízím řešení a program letošního ročníku Masters of Rock ke stažení.
Soubory ke stažení
iCal pro Google kalendář a chytré telefony
- Program všech stagí v jednom
- Program Ronnie James Dio stage
- Program Alfedus Music stage
- Program Prosperita Meet & Greet Stage – autogramiády
CSV soubory, ze kterých jsem program generoval
Soubory jsou ve formátu stage;datum startu;čas startu;datum konce;čas konce;interpret
- Program všech stagí v jednom
- Program Ronnie James Dio stage
- Program Alfedus Music stage
- Program Prosperita Meet & Greet Stage – autogramiády
Skript pro generování iCAL souboru
Skript vygeneruje z CSV souboru, který je ve stejném formátu jako výše zmíněné CSV soubory, textový soubor ve formátu iCal pro import do Google kalendáře a dalších, které tento formát podporují.
#!/usr/bin/env python from hashlib import md5 # Input file name without .csv - Output will be (input).ics inputfile = 'autogramiady' filestart = '''BEGIN:VCALENDAR VERSION:2.0 PRODID:-//hacksw/handcal//NONSGML v1.0//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:MoR2014 X-WR-TIMEZONE:Europe/Prague X-WR-CALDESC:Program Masters of Rock 2014\n''' fileend = 'END:VCALENDAR' iCAL = "" iCAL += filestart with open(inputfile + '.csv', 'r') as program: for line in program: if line.startswith('#'): continue stage, dstart, tstart, dend, tend, artist = line.split(';') iCAL += 'BEGIN:VEVENT\n' iCAL += 'UID:%s\n' % (md5(dstart + tstart + dend + tend).hexdigest()) iCAL += 'DTSTAMP:%s\n' % ('20140630T100000') iCAL += 'DTSTART:%s\n' % (dstart + 'T' + tstart) iCAL += 'DTEND:%s\n' % (dend + 'T' + tend) iCAL += 'SUMMARY:%s\n' % (artist.strip()) iCAL += 'LOCATION:%s\n' % (stage) iCAL += 'END:VEVENT\n' iCAL += fileend print iCAL with open(inputfile + '.ics', 'w') as output: output.write(iCAL) |
Celý program nedělá žádná kouzla, jen ze vstupního CSV souboru vygeneruje výstupní iCal soubor v patřičném formátu s odpovídajícím začátkem a koncem souboru a informacemi pro každou událost.
Jedná se o jednorázový skriptík napsaný pro vlastní potřebu během pár minut. Pokud by i přes to byly k jeho obsahu nějaké dotazy, rád je zodpovím.
Kategorie:
Okomentovat