¿Cuál es la mejor manera de ejecutar un Applescript cuando el estado de mi ubicación actual cambia de noche a día y de día a noche?
¡Gracias!
¿Cuál es la mejor manera de ejecutar un Applescript cuando el estado de mi ubicación actual cambia de noche a día y de día a noche?
¡Gracias!
Nunca usé esto, pero parece que Power Manager debería poder hacerlo. Puedes realizar acciones basadas en el sol similares a automator.
Sin embargo, no parece que tenga una función incorporada para averiguar su ubicación automáticamente. Entonces, si eres como volar de un país a otro y quieres que se resuelva automáticamente, probablemente no puedas hacer eso.
Tienen un tutorial: How to Power En tu mac al amanecer .
En primer lugar, para obtener su ubicación actual en la línea de comandos, descargue "LocateMe" desde aquí.
Descomprima el archivo zip y busque el ejecutable LocateMe
en el interior, al que puede mover, por ejemplo, /usr/local/bin/
para hacerlo accesible globalmente, o ponerlo en otro lugar.
Para obtener las horas locales de salida / puesta del sol, puede utilizar la API gratuita de sunrise-sunset.org/api junto con la opción de formato LocateMe
-f
para generar su API uri:
/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}"
que debería devolver algo como http://api.sunrise-sunset.org/json?lat=52.068545&lng=12.126213
Como la api de sunrise-sunset devuelve datos json, puedes usar python
para analizarlos. Simplemente cree dos scripts de shell pequeños con el siguiente contenido:
#!/bin/bash
curl -s $(/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}") | python -c "import sys, json; print json.load(sys.stdin)['results']['sunrise']"
para el amanecer y
#!/bin/bash
curl -s $(/path/to/LocateMe -f "http://api.sunrise-sunset.org/json?lat={LAT}&lng={LON}") | python -c "import sys, json; print json.load(sys.stdin)['results']['sunset']"
para las horas de puesta de sol.
Ahora puede simplemente llamarlos desde AppleScript a través de:
set sunrise to do shell script "/path/to/sunrise_script.sh"
set sunset to do shell script "/path/to/sunset_script.sh"
y tiene la hora de la puesta del sol como una variable dentro de AppleScript, donde puede usarlos, por ejemplo, comparándolos con (time string of (current date))
.
Lea otras preguntas en las etiquetas applescript