2016-11-30 2 views
0

Ich versuche Kalenderereignisse in macOS Sierra Kalender zu erstellen, die alle 2.551.440 Sekunden wiederholen (was zufällig die synodische Periode des Mondes ist). Dieses System verwendet die ICS-Spezifikation.Wie wiederhole ich Ereignisse in einer ICS-Datei alle x Sekunden?

Letztendlich möchte ich einen Kalender, der den Mond aufstellen und Zeiten für meinen Standort einstellen lässt, und er muss auch die Mondphase (z. B. Vollmond, Neumond usw.) auflisten. Ich habe viele Beispiele im Internet gefunden, wo Leute die Ereignisse manuell erstellt haben, aber das ist unglaublich langwierig (ein Ereignis pro Tag für Jahre!), Und sie basieren auf verschiedenen Zeitzonen (und sind für mich nutzlos) .

Ich habe aus den ICS-Spezifikationen gesehen, dass das Dateiformat selbst Ereignisse unterstützt, die alle x Sekunden wiederholt werden. Ich habe ein Ereignis als ICS-Datei (aus dem Kalender) exportiert und dann die ICS-Datei in einem Texteditor bearbeitet, aber ich muss den Code falsch gelesen haben, da er nicht mit dem richtigen Wiederholungsintervall in den macOS-Kalender importiert wurde . Stattdessen importierte es ein einzelnes Ereignis ohne Wiederholung. Es ist auch möglich, dass ich den Code richtig gemacht habe, aber Kalender löschte es beim Import ...

Kann mir bitte jemand erklären, wie man das macht?

Ich fand the RRULE Generator, aber das nur Stundenintervalle unterstützt, nicht Sekunden, und ist daher nicht genau genug für meine Bedürfnisse.

Ich überlegte, ob ich ein Bash-Skript ausführen sollte, um das Ereignis zu generieren (das alle 2.551.440 Sekunden als Cron-Job laufen würde), aber das würde nur einen Monat im Voraus erfolgen. Ich würde es vorziehen, es für unbegrenzte Zeit einzurichten.

Eine andere Option kann sein, ein Skript in Python zu schreiben, um individuelle ICS-Ereignisdateien zu erstellen; das wäre auch langweilig ...

Ich verstehe, dass dies nicht im Kalender direkt getan werden kann; Die Lösung wird höchstwahrscheinlich jede ICS-Datei manuell bearbeiten, um die Wiederholung korrekt einzurichten und dann in den Kalender zu importieren ... Ich weiß einfach nicht, wie ...

... oder gibt es eine Kalenderanwendung irgendwo da draußen, dass Sie Ereignisse einrichten können, die alle x Sekunden wiederholen? Wenn ja, könnte ich das Ereignis darin erstellen, es exportieren und es dann in Kalender importieren ...

Vielen Dank im Voraus für irgendwelche Gedanken.

Antwort

0

Also habe ich das herausgefunden.

  1. Apple Kalender, Google Kalender und so ziemlich alle Kalenderanwendungen unterstützen keine Ereignisse, die alle x Sekunden wiederholt werden. Das ICS-Format selbst, nur die Programme nicht.

  2. Der Mond ist in einer geneigten Umlaufbahn, also ist dies eine ungeeignete Lösung für das, was ich sowieso wollte.

  3. Die US Navy has an API, die Rise/Set und Phase Daten für den Mond veröffentlicht. Ich habe die Antworten von dieser Seite (eine JSON-Datei) gespeichert und habe Python-Code zum Extrahieren der erforderlichen Daten verwendet und dann ein Python-Skript erstellt, um die separaten .ICS-Dateien für jedes Ereignis zu erstellen (ein Ereignis pro Moonrise) (z. B. ) ein Ereignis, das sich alle x Sekunden wiederholt). Ich habe dann diese ICS-Dateien in den macOS-Kalender importiert.

Hope this jemand anderes hilft, die mit einer ähnlichen Situation in Zukunft braucht zu beschäftigen ...

Verwandte Themen