Das Tool - rudimentär umgesetzt - läuft und versieht seinen Dienst ohne Murren, allerdings werden nur Ganztagsevents geschrieben (ich brauche nicht mehr).
Code: Alles auswählen
# -*- coding: utf-8 -*-
# TerminSchreiber, um CSV-Dateien fuer den
# Import nach Google Kalender zu schreiben
# Autor: PixeWakb
#
# Version: 0.1.0-0001
#
# First Edit: 2014-12-30
# Last Edit: 2014-12-30
class Kalender(object):
name = ""
events = []
def __init__(self,name):
''' Konstruktor
'''
self.name = ""
self.name = name
events = []
def add_event(self,subject,start_date="1.8.2015"):
'''Fuegt dem Kalender ein Event hinzu
subject = String
start_date = MM/DD/YY
'''
# Datum formatieren
d,m,y = start_date.split(".")
if len(d) < 2:
d = "0" + d
if len(m) < 2:
m = "0" + m
y = y[-2:]
start_date = m + "/" + d + "/" + y
# Subject formatieren
if "," in subject:
subject = '"' + subject + '"'
# Event aufbauen
event = []
event.append(subject)
event.append(start_date)
# Event in die Eventsliste
self.events.append(event)
def save(self):
'''Schreibt den Kalender in eine
CSV-Datei, die in Google Kalender
importiert werden kann
'''
kopf = "Subject,Start Date"
data = [kopf]
for event in self.events:
data.append(",".join(event))
file = "\n".join(data)
title = self.name + ".csv"
with open(title,"w") as f:
f.write(file)
if __name__ == "__main__":
calendar = Kalender("Testdatei")
calendar.add_event("Testtermin","2.2.2015")
calendar.save()
Falls jemand Verbesserungsvorschläge - primär zum Design und zur Konstruktor-Methode hat - immer her damit...
PS Wahrscheinlich werde ich mal nach und nach weitere Methoden ergänzen bzw. die vorhanden add_event-Methode erweitern, um mehr "Spalten" unterstützen zu können.