¿Cómo repito un evento de calendario cada x segundos en macOS Sierra?

0

Estoy tratando de configurar eventos de calendario en MacOS Sierra's Calendar que se repiten cada 2,551,440 segundos (que es el período sinódico de la Luna).

En última instancia, quiero un calendario que ofrezca el aumento de la Luna y los horarios establecidos para mi ubicación, y también debe enumerar la fase Lunar (por ejemplo, Luna Llena, Luna Nueva, etc.). He encontrado muchos ejemplos en Internet donde las personas han creado los eventos manualmente, pero eso es increíblemente tedioso (¡un evento por día durante años!), Y se basa en diferentes zonas horarias (y por lo tanto no me sirven). / p>

He visto en especificaciones de ICS que el formato del archivo admite eventos que se repiten cada x segundos. Luego exporté un evento como un archivo ICS, y luego edité el archivo ICS en TextEdit, pero debo haber equivocado el código, ya que no se volvió a importar al calendario de macOS con el intervalo de repetición correcto. En su lugar, importó un solo evento sin repetición.

¿Puede alguien explicarnos cómo hacer esto?

Encontré el RRULE Generator , pero eso solo admite intervalos de una hora, no segundos, y así es No es lo suficientemente preciso para mis necesidades.

Consideré ejecutar un script de bash para generar el evento (que se ejecutaría como un trabajo cron cada 2,551,440 segundos), pero eso solo daría un aviso de un mes. Preferiría tenerlo configurado indefinidamente.

Otra opción puede ser escribir un script en Python para crear archivos de eventos ICS individuales; esto también sería tedioso ...

Entiendo que esto no se puede hacer directamente en el Calendario; lo más probable es que la solución sea editar manualmente cada archivo ICS para configurar la repetición correctamente, y luego importarlos al Calendario ... Simplemente no sé cómo ...

Gracias de antemano por cualquier comentario.

    
pregunta ZPMMaker 29.11.2016 - 10:53

1 respuesta

0

Sé que esta no será la respuesta que buscabas.

En tu pregunta, dijiste:

  

Luego exporté un evento como un archivo ICS y luego edité el archivo ICS en TextEdit, pero debo haber equivocado el código, ya que no se volvió a importar.   en el calendario de macOS con el intervalo de repetición correcto.

Lamentablemente, probablemente no hiciste se equivoca de código.

Si bien es cierto que la especificación ICS sí admite intervalos hasta el segundo, el problema es que la aplicación MacOS Calendar predeterminada no lo admite (al menos no en términos de repetir o valores de recurrencia ). Por lo tanto, lo que quiere hacer no es posible con la aplicación predeterminada MacOS Calendar. De hecho, el problema que tiene es doble, ya que la aplicación Calendario no reconoce los intervalos:

  1. más corto que un día
  2. no representado como números enteros

Para explicar esto con más detalle, el primer problema anterior no sería necesariamente un problema si la aplicación Calendario aceptara un valor decimal con suficientes puntos decimales, ya que entonces podría ingresar un evento que se repitiera cada 29.53 días.

Sin embargo, incluso si la aplicación aceptara un valor decimal, probablemente se limitaría a no más de una posición decimal, lo que no será lo suficientemente preciso cuando se trate de días.

Desafortunadamente, MS Outlook tampoco funcionará para ti (no acepta nada menos que intervalos diarios y aunque puedes ingresar valores decimales, solo los redondea hacia arriba o hacia abajo).

Y Fantastical, si bien es una excelente aplicación de calendario para macOS, es tan limitado como el calendario predeterminado a este respecto.

En su lugar, lo que deberá hacer es:

  • encuentre una solución que registre intervalos más cortos que un día, o que funcione con valores decimales, o
  • descargue uno de los calendarios astronómicos existentes para este propósito y luego edite manualmente el archivo ICS para cambiar la zona horaria para que se adapte a los varios australianos que necesita.

Lo sentimos, no es lo que buscabas, pero quizás la segunda opción de 'descargar y editar' te funcione sin demasiado esfuerzo.

    
respondido por el Monomeeth 02.12.2016 - 12:08

Lea otras preguntas en las etiquetas