Author Topic: Proyecto: Desarrollo De Una Aplicación De Calenda  (Read 5232 times)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« on: September 07, 2005, 05:35:19 pm »
Entre un par de personas vamos a desarrollar una aplicación de Calendario que permita trabajar con los datos de la Zaurus (Opie y GPE) sin un software de sincronización, es decir, una aplicación que abra directamente los ficheros. La idea es hacer un programa que permite manejar las citas, tareas y direcciones desde una única aplicación.

En principio solo funcionaría en el PC, pero existe la opción de adaptarla a la PDA y usar el mismo programa. Sería algo similar a la aplicación Ko/PI, pero para entorno GPE. Dependiendo de la gente interesada, se podría hacer una versión para Opie y GPE.

Si alguno se anima o tiene curiosidad, puede preguntar en el Foro o en la Lista de correo. Es un proyecto complejo, pero poco a poco se pueden ir consiguiendo cosas.
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #1 on: September 11, 2005, 10:41:50 am »
La estructura de la base de datos en GPE es la siguiente:

unr (valor unico), tag (tipo de dato), value (valor)
================================

Los TAGS admitidos son:

tag   
FAMILY_NAME   
NOTES   
HOME.ADDRESS   
HOME.WWW   
HOME.EMAIL   
HOME.FAX   
HOME.MOBILE   
HOME.TELEPHONE   
WORK.ADDRESS   
WORK.WWW   
WORK.EMAIL   
WORK.FAX   
WORK.MOBILE   
WORK.TELEPHONE   
COMPANY   NAME   
category   
MODIFIED

Abriendo el fichero de los datos (en formato sqlite) y poniendo los valores anteriores (algunos optativos) se puede crear los diferentes contactos. Cuando consigamos la conexion entre Python y SQLite, podremos añadir los datos de esa forma.

Ejemplo:

[urn]                     [tag]                        [value]
1                          FAMILY_NAME            NOMBRE
1                          HOME:MOBILE           12121212121

Se puede editar con el programa multiplataforma sqlitecc
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #2 on: September 11, 2005, 11:05:59 am »
En esta página aparecen todos los TAGS que se pueden usar en la base de datos de SQLITE.
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #3 on: September 15, 2005, 04:50:00 pm »
Para poder trabajar sobre los ficheros del calendario (y del PIM) necesitas:
- Python 2.4 (windows)
- Módulo para acceder a los ficheros de datos en formato SQLite 2

Primero hay que instalar el interprete de Python, despues la librería.

Busca en el menú de inicio "Python 2.4" y selecciona IDLE. Te aparecerá una ventana de consola. Es recomendable que antes hayas copiado alguno de los ficheros del PIC a c:\ .

Hay un tutorial básico que explica los pasos para usar la librería SQLite en la Web de PySQLite
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

KarlsBerg

  • Newbie
  • *
  • Posts: 35
    • View Profile
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #4 on: September 15, 2005, 07:16:00 pm »
Yo estoy aprendiendo python, como mi primer lenguaje de programacion, espero que esa aplicacion sea Open Source y asi pueda orientarme.

PD:    <-- Me encanta este Smile ^^

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #5 on: September 17, 2005, 07:05:27 am »
Conforme tenga código y documentación lo colgaré en la web. No tengo ningún problema en que el programa tenga una licencia Open Source. También estoy aprendiendo Python y es un lenguaje muy comodo de usar. Si tienes alguna duda, pregunta (igual se como responderla   )

Si quieres participar en el programita, puedes hacelo.  
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #6 on: September 27, 2005, 05:31:42 pm »
Para hacer la interfaz grafica hay dos opciones. Una es usar las librerias GTK junto con Python (para que sea multiplataforma). Otra podria ser usando el lenguaje XUL. Este lenguaje es el que usa el firefox para diversas aplicaciones como extensions, aplicación de calendario.... (sunbird).

Con la segunda opcion aprovechariamos la parte que tienen diseñada del calendario y funcionaría en todos los sistemas soportados por firefox.
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)

mimeca

  • Hero Member
  • *****
  • Posts: 682
    • View Profile
    • http://www.innerzaurus.com
Proyecto: Desarrollo De Una Aplicación De Calenda
« Reply #7 on: November 10, 2005, 02:32:32 pm »
Ejemplo de código. Funciona bajo windows (y en la Zaurus comprobado)

Code: [Select]
D:\Documents and Settings\Miguel>C:\Python24\python.exe
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite
>>> import os
>>> os.getcwd()
'D:\\Documents and Settings\\Miguel'
>>> os.chdir('D:/')
>>> os.getcwd()
'D:\\'
>>> con = sqlite.connect('calendar')
>>> cur = con.cursor()
>>> cur.execute('SELECT * from calendar')
>>> d = cur.fetchall()
>>> d
[(1, 'summary', 'Programar con las librerias SQLITE'), (1, 'description', ''),(1, 'duration', '5400'), (1, 'modified', '1129803785'), (1, 'start', '2005-10-20
 10:00'), (1, 'sequence', '0')]

Si alguno tiene dudas sobre el código me puede preguntar. De una forma MUY sencilla hemos accedido a los datos de la agenda desde un programa externo. Operar sobre los datos es sencillo con las sentencias SQL


Tambien he sacado los tags (etiquetas) que se pueden usar en el calendario de GPE. Creo que la estructura de la base de datos de Opie debe ser la misma. Este fin de semana subiré la tabla a la web
« Last Edit: November 10, 2005, 02:34:06 pm by mimeca »
Nunca hagas de un lugar tu hogar. Construye tu hogar en el interior de tu propia cabeza. Encontrare¡s todo lo que necesites para amueblarla: recuerdos, amigos en los que puedes confiar, pasión por el conocimiento y otras cosas por el estilo. De esa forma podrás ir a donde te vayas. Nunca te faltará un hogar..., a menos que pierdas la cabeza, claro...

Innerzaurus => www.innerzaurus.com (Spanish Zaurus Site)