jueves, 1 de enero de 2015

tasker eventos google calendar

Aquí os dejo una tarea que nos dice los eventos que tenemos que realizar en el día de hoy.

Funciona aunque estoy intentado mejorarlo, para que os funcione solo hay que abrir el fichero xml y modificar PON_AQUI_TU_EMAIL por vuestro usuario de gmail y PON_AQUI_TU_CLAVE por tu código privado de ICAL.



AgendaDia (4)
A1: Establecer variable [ Nombre:%newline1 A: TRANSP Calcular:Apagado Añadir:Apagado ] 
A2: Establecer variable [ Nombre:%newline2 A: DTEND: Calcular:Apagado Añadir:Apagado ] 
A3: Establecer variable [ Nombre:%newline3 A: DTSTAMP Calcular:Apagado Añadir:Apagado ] 
A4: Establecer variable [ Nombre:%newline4 A: DTEND;VALUE=DATE: Calcular:Apagado Añadir:Apagado ] 
A5: HTTP Get [ Servidor:Puerto:https://www.google.com Ruta:/calendar/ical/PON_AQUI_USUARIO%40gmail.com/private-PON_AQUI_CLAVE/basic.ics Atributos: Cookies: User Agent: Cuenta atrás:10 Tipo Mime:application/octet-stream Archivo de salida:caltest.txt Trust Any Certificate:Apagado ] 
A6: Leer Archivo [ Archivo:caltest.txt A la variable:%cal ] 
A7: Separar variable [ Nombre:%cal Separador:BEGIN:VEVENT Eliminar base:Apagado ] 
A8: Escribir archivo [ Archivo:VariableCal Texto:%cal Añadir:Apagado Añadir Nueva Línea:Apagado ] 
A9: Array Pop [ Variable:%cal Posición:1 A la variable: ] 
A10: For [ Variable:%calfor Ítems:%cal(1:25) ] 
A11: Separar variable [ Nombre:%calfor Separador:SUMMARY: Eliminar base:Apagado ] 
A12: Separar variable [ Nombre:%calfor2 Separador:%newline1 Eliminar base:Apagado ] 
A13: Si (if) [ %calfor1 !~ *VALUE=DATE:* ]
A14: Separar variable [ Nombre:%calfor1 Separador:DTSTART: Eliminar base:Apagado ] 
A15: Separar variable [ Nombre:%calfor12 Separador:%newline2 Eliminar base:Apagado ] 
A16: Else 
A17: Separar variable [ Nombre:%calfor1 Separador:DTSTART;VALUE=DATE: Eliminar base:Apagado ] 
A18: Separar variable [ Nombre:%calfor12 Separador:%newline4 Eliminar base:Apagado ] 
A19: Fin si (End if) 
A20: Si (if) [ %calfor1 !~ *VALUE=DATE:* ]
A21: Separar variable [ Nombre:%calfor121 Separador:T Eliminar base:Apagado ] 
A22: Sección de Variable [ Nombre:%calfor1212 Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ] 
A23: Else 
A24: Establecer variable [ Nombre:%calfor1211 A:%calfor121 Calcular:Apagado Añadir:Apagado ] 
A25: Establecer variable [ Nombre:%calfor1212 A:0000 Calcular:Apagado Añadir:Apagado ] 
A26: Sección de Variable [ Nombre:%calfor1211 Desde:1 Longitud:8 Encajar:Apagado Almacenar Resultado en: ] 
A27: Fin si (End if) 
A28: Separar variable [ Nombre:%calfor122 Separador:%newline3 Eliminar base:Apagado ] 
A29: Si (if) [ %calfor1 !~ *VALUE=DATE:* ]
A30: Separar variable [ Nombre:%calfor1221 Separador:T Eliminar base:Apagado ] 
A31: Sección de Variable [ Nombre:%calfor12212 Desde:1 Longitud:4 Encajar:Apagado Almacenar Resultado en: ] 
A32: Else 
A33: Establecer variable [ Nombre:%calfor12211 A:%calfor1221 Calcular:Apagado Añadir:Apagado ] 
A34: Establecer variable [ Nombre:%calfor12212 A:2359 Calcular:Apagado Añadir:Apagado ] 
A35: Sección de Variable [ Nombre:%calfor12211 Desde:1 Longitud:8 Encajar:Apagado Almacenar Resultado en: ] 
A36: Fin si (End if) 
A37: Establecer variable [ Nombre:%start1 A:%calfor1212 Calcular:Apagado Añadir:Apagado ] 
A38: Establecer variable [ Nombre:%start2 A:%calfor1212 Calcular:Apagado Añadir:Apagado ] 
A39: Sección de Variable [ Nombre:%start1 Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ] 
A40: Sección de Variable [ Nombre:%start2 Desde:3 Longitud:2 Encajar:Apagado Almacenar Resultado en: ] 
A41: Establecer variable [ Nombre:%start A:%calfor1211 %start1:%start2 Calcular:Apagado Añadir:Apagado ] 
A42: Convertir Variable [ Nombre:%start Función:Fecha Hora a Segundos Almacenar Resultado en: ] 
A43: Establecer variable [ Nombre:%end1 A:%calfor12212 Calcular:Apagado Añadir:Apagado ] 
A44: Establecer variable [ Nombre:%end2 A:%calfor12212 Calcular:Apagado Añadir:Apagado ] 
A45: Sección de Variable [ Nombre:%end1 Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en: ] 
A46: Sección de Variable [ Nombre:%end2 Desde:3 Longitud:2 Encajar:Apagado Almacenar Resultado en: ] 
A47: Establecer variable [ Nombre:%end A:%calfor12211 %end1:%end2 Calcular:Apagado Añadir:Apagado ] 
A48: Convertir Variable [ Nombre:%end Función:Fecha Hora a Segundos Almacenar Resultado en: ] 
A49: Array Push [ Nombre:%calstartdate Posición:9001 Valor:%calfor1211 Rellenar Espacios:Apagado ] 
A50: Array Push [ Nombre:%calenddate Posición:9001 Valor:%calfor12211 Rellenar Espacios:Apagado ] 
A51: Array Push [ Nombre:%calstarttime Posición:9001 Valor:%start1.%start2 Rellenar Espacios:Apagado ] 
A52: Array Push [ Nombre:%calendtime Posición:9001 Valor:%end1.%end2 Rellenar Espacios:Apagado ] 
A53: Array Push [ Nombre:%calendsec Posición:9001 Valor:%end Rellenar Espacios:Apagado ] 
A54: Array Push [ Nombre:%calstartsec Posición:9001 Valor:%start Rellenar Espacios:Apagado ] 
A55: Array Push [ Nombre:%caltitle Posición:9001 Valor:%calfor21 Rellenar Espacios:Apagado ] 
A56: End For 
A57: [X] Flash [ Texto:%caltitle1
%calstartdate1
%calenddate1
%calstarttime1
%calendtime1
%calstartsec1
%calendsec1 Largo:Encendido ] 
A58: [X] For [ Variable:%caltit Ítems:%caltitle() ] 
A59: [X] Flash [ Texto:%caltit Largo:Apagado ] 
A60: [X] Decir [ Texto:%caltit Motor: Voz:default:default Stream:3 Tono:5 Velocidad:5 Respect Audio Focus:Encendido Network:Apagado Continuar tarea inmediatamente:Apagado ] 
A61: [X] End For 
A62: Establecer variable [ Nombre:%diamovil A:%DATE Calcular:Apagado Añadir:Apagado ] 
A63: Buscar y Reemplazar Contenido de Variable [ Variable:%diamovil Buscar:- Ignore Case:Apagado Multi-Line:Apagado One Match Only:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con: ] 
A64: Sección de Variable [ Nombre:%diamovil Desde:1 Longitud:2 Encajar:Apagado Almacenar Resultado en:%diaDD ] 
A65: Sección de Variable [ Nombre:%diamovil Desde:3 Longitud:2 Encajar:Apagado Almacenar Resultado en:%mesMM ] 
A66: Sección de Variable [ Nombre:%diamovil Desde:5 Longitud:4 Encajar:Apagado Almacenar Resultado en:%anyoYYYY ] 
A67: Establecer variable [ Nombre:%diamovil A:%anyoYYYY%mesMM%diaDD Calcular:Apagado Añadir:Apagado ] 
A68: Establecer variable [ Nombre:%contador A:0 Calcular:Apagado Añadir:Apagado ] 
A69: For [ Variable:%dia Ítems:%calstartdate() ] 
A70: Sumar a variable [ Nombre:%contador Valor:1 Módulo (wrap around):0 ] 
A71: Establecer variable [ Nombre:%contador2 A:0 Calcular:Apagado Añadir:Apagado ] 
A72: Si (if) [ %dia ~ %diamovil ]
A73: For [ Variable:%evento Ítems:%caltitle() ] 
A74: [X] Flash [ Texto:%contador %contador2 Largo:Apagado ] 
A75: Sumar a variable [ Nombre:%contador2 Valor:1 Módulo (wrap around):0 ] 
A76: Si (if) [ %contador ~ %contador2 ]
A77: Decir [ Texto:%evento Motor: Voz:default:default Stream:3 Tono:5 Velocidad:5 Respect Audio Focus:Encendido Network:Apagado Continuar tarea inmediatamente:Apagado ] 
A78: Fin si (End if) 
A79: End For 
A80: Fin si (End if) 
A81: End For 



6 comentarios:

  1. Hola,
    es interesante tu tarea, pero no es posible probarla sin teclearla tarea a tarea..., ya que solo permite visualizar el xml en google drive, pero no su descarga.
    Podrías subirla de otro modo, de manera que sea accesible el archivo para su descarga, por favor?

    Muchas gracias.

    ResponderEliminar
  2. Gracias por escribir, no se desde donde accedes, pero en el propio post puedes copiar el código y desde Google Drive también se puede descargar.
    Gracias y saludos

    ResponderEliminar
  3. Hola,
    el problema está en que el archivo tiene los permisos limitados para que solo pueda ser visualizado.
    No es posible su descarga.
    Te adjunto captura de pantalla.
    [url=http://postimg.org/image/7up7jz60r/full/][img]http://s17.postimg.org/o5pbgaiin/image.jpg[/img][/url]

    No sé si puedes o quieres quitar este bloqueo, o si te importaría enviarme el archivo xml por email, o compartirlo por otro medio tipo dropbox, etc...
    Me harías un gran favor.

    Un saludo

    ResponderEliminar
    Respuestas
    1. Mira a ver si este enlace te funciona
      https://filetea.me/t1swRsNAeEiRSm9N0yi9wQ0rg

      Eliminar
  4. Ahora si puedo descargarlo, muchísimas gracias por tu esfuerzo.
    El problema es que ahora tras importarlo me da error en la tarea 15. Me indica el siguiente error:
    "can´t split unset %calfor12 variable..."

    Alguna idea?

    ResponderEliminar
  5. Esto fue una prueba que hice y como me pareció interesante, decidí compartir. Errores puedes tener por muchos motivos. Tendrás que entender el código y ver por que puede estar fallando, no creo que desde aquí te pueda ayudar por que el error dependerá mucho del contenido de las variables. Tendrás que rascar un poco. Mucha suerte y gracias por escribir

    ResponderEliminar