gcalcli – google calendar auf der shell

Wenn man auf mehr als nur einem PC arbeitet und damit vielleicht sogar verschiedene Plattformen vor sich hat, gibt es oft das Problem, dass Daten nicht synchron sind. Nehmen wir als Beispiel Terminverwaltung: Wie kann man ein Microsoft Outlook, einen Windows Mobile Gerät, den Mozilla Sunbird synchronisieren, dass jeder dieser Instanzen die gleichen Termine empfängt und eintragen kann? Die Antwort ist der Google-Calendar, man kann die Kalender über das Internet abbonieren auch mit Terminen füttern.

Nun, da ich mich wieder auf die Shell konzentriere, hatte ich das Problem, das ich unter der Shell die Termine nicht abrufen und eintragen konnte. Doch mit einem kleinen Python-Skript kann ich nun auch diese Hürde überwinden: gcalcli

Leider war die installation von gcalcli nicht so trivial.

How-To:

Die .gcalclirc sollte folgendermaßen aussehen:

[gcalcli]
user: benutzer@googlemail.com
pw: passwort
cals: owner

  • Abhängigkeiten erfüllen:
  • Gdata-Python, Elementree, Dateutil-Python

  • jeweils aktuellste Versionen der Abhängigkeiten herunterladen und entpacken. In die jeweiligen Verzeichnise wechseln und mit “python setup.py install” als Superuser die Module installieren.
  • Sind die Module installiert kann man testen ob die Abfrage funktioniert: als user “gcalcli agenda” eingeben
    • Bekommt man als Belohnung keine aktuellen Termine auf der Shell sondern mehrere Zeilen Fehlermeldungen, liegt es – wie in meinem Fall Wahrscheinlich an der Codierung:

      Dies lässt sich mit folgendem Bugfix des Scripts beheben:

      Die Zeilen 66+67 sollte man folgendermaßen anpassen:

      sys.stdout = codecs.getwriter(‘utf-8′)(sys.stdout)
      sys.stdin = sys.stdin = codecs.getreader(‘utf-8′)(sys.stdin)

      Im oberen Teil des Skripts sollten sie noch Atom-Support aktivieren durch einfügen von:

      import atom
      atom.XML_STRING_ENCODING = None

      Nach dem Speichern sollte das Skript einwandfrei funktionieren. Folgende Abfragemöglichkeiten gibt es:

      gcalcli agenda
      Zeigt die aktuellen Termine an, die anstehen.

      gcalcli calw
      Zeigt einen ASCII Kalender, mit den Terminen der aktuellen Woche an

      gcalcli calm
      Zeigt den aktuellen Monatskalender mit allen Einträgen an

      Termine werden über den quick-command eingetragen:

      gcalcli quick “Termintext Uhrzeit TT.MM.YYYY”

      Ein kleines Schmankerl am Rand: Man kann in den Einstellungen des Google-Calendars eine SMS-Benachrichtigungsfunktion aktivieren, mit der man dann kostenlos per SMS an die eingetragenen Termine erinnert wird. Viel Spaß beim konfigurieren und Termine verwalten auf der Shell.


Über diesen Beitrag


  1. Matthias 12.2.2008 / 15:23

    Wie synchronisiert du eigentlich Windows Mobile mit Linux? Im Netz kursieren viele mehr oder weniger saubere Howtos, aber nichts, was bei mir wirklich sauber lief :-(

    Matthias

  2. Gregor 12.2.2008 / 18:50

    Es gibt Lösungen, die gut funktionieren, aber da wird dann meist Geld für verlangt. Ich habe lange Zeit probiert das so zum Laufen zu bekommen, aber nichts hat funktioniert.

    Deshalb auch die Lösung per Internet zu Synchronisieren, IMAP für Emails, GCal für die Termine und für die Kontakte muss man sich ebenfalls noch etwas einfallen lassen, ist aber mit CSV oder vcard recht gut benutzbar in alle Richtungen.

  3. Stefan 13.2.2008 / 8:27

    Bleibt nur die Frage offen, ob man einer Datenkrake wie Google wirklich seine Termine oder andere persönliche Daten wirklich anvertrauen sollte…

  4. Gregor Oelze 13.2.2008 / 11:51

    @Stefan

    Ich kenne diese Diskussion nur zu gut, da ich sie schon online und analog geführt habe. Immer mit der gegenfrage ob mich das stört. Ich betreibe mehr als einen Blog und verwalte in Zeiten der Vorratsdatenspeicherung meine Termine über Google und schreibe Emails über diesen Verein. Ich habe nichts zu verbergen und wirklich “wichtige” Dinge werden nicht in Google verarbeitet.

    So fahre ich eigentlich ganz gut

  5. (-: 13.2.2008 / 17:48

    “Ich habe nichts zu verbergen”

    jaja, klar – wer nichts böses tut hat nichts zu verbergen… LOL – nett gemeint, aber wohl nicht ganz zutreffend…

  6. Gregor Oelze 14.2.2008 / 12:38

    Ich denke mir immer was habe ich denn von den Diensten von Google?

    - sehr ausgereiftes Webinterface
    - Sehr gute Suchmaschine
    - personalisierte Werbung: Prima keine nervigen Popups!!
    - einen online Kalender
    - ein online Office
    - ein Notizbuch
    - eine Bibliothek
    - Preisvergleiche – eine Coding-Plattform
    - Personalisierte Suchen und Benachrichtigung
    - kostenlose SMS bei Terminen
    - Einen sehr guten online Routenplaner
    - perfekte Webmastertools
    - die Möglichkeit Geld zu verdienen
    - (ihr kennt den Rest)

    All das gibt es umsonst im Gegenzug, dass ich diese Dienste nutze. Jetzt mal ganz ehrlich – es geht natürlich um Geld. Wer die Informationen zu einer Person hat, seine Surf und Konsumgewohnheiten seine Kontakte etc. Der kann diese Gewinnbringend durch richtig platzierte Werbung einsetzen – aber das ist doch nicht nur schlecht, weniger SPAM mehr Werbung die mich wirklich interessiert. Wenn ich nach Gartenmöbelangeboten in Google suche, warum dann nicht gleich “Gartenmöbel günstiger kaufen” Ads an der Seite – das tut mir nicht weh und vielleicht nutze ich diese ja wirklich, da habe ich mehr von als wenn die Werbung -irgendein- Produkt wirbt an dem ich kein Interesse hege.

    Oder sehe ich das zu naiv?

  7. Matthias 19.2.2008 / 10:39

    @Gregor: Du hast vollkommen Recht, aber eine Sache läßt Du leider außen vor. Das Problem an Google ist die Macht, die sie erlangen. Noch kann man dem Laden meiner Ansicht nach über den Weg trauen. Aber sowas kann sich auch sehr, sehr schnell ändern.

    Das ist ähnlich wie bei den von Schäuble geforderten Überwachungsgesetzen in Deutschland: Eigentlich will man erst damit Terroristen fangen oder LKW-Maut einnehmen. Aber die Macht, die damit der Staat in die Hand bekommt, kann innerhalb kürzester Zeit für falsche Sachen missbraucht werden.
    Stell Dir mal vor, in Deutschland gibt es heute nen Anschlag auf das Berliner Tor. Was meinst Du wohl, wie schwer es dann wird, die vorhandene Überwachungsstruktur nicht nur für ihre eigentliche Zwecke einzusetzen, sondern flächenddeckend gegen die Bevölkerung, ähm die Terroristen.

    Okay, vielleicht ein wenig Off-Topic, aber das Thema ist das gleiche: Macht braucht vertrauen. Aber wenn die Macht zu groß wird, kann kaum einer widerstehen, das Vertrauen zu missbrauchen.

  8. Gregor Oelze 22.2.2008 / 10:53

    @Mathias

    ich weiß nicht ob das etwas naiv ist, aber der Firmenleitsatz von Google ist ja “do no evil” .. also ich glaube da schon dran. Google ist ja in mancher Hinsicht “anders” – die Art und weise wie man mit den Mitarbeitern umgeht …

  9. Lightening 4.3.2009 / 16:01

    Vielen Dank fr den Beitrag. Schn das es immer noch gute Beitrge gibt. Respekt. Gruss.

  10. FrEnChToAs 4.3.2009 / 16:18

    Hallo, guter informativer Blog. Echt lesenswert macht weiter so!

Hinterlasse einen Kommentar

XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>




Safari hates me