Muchísima gente día a día necesita un lugar cómodo y eficiente para guardar sus contactos, miles de agendas electrónicas circulan por internet pero una agenda sencilla con el aire de las viejas y buenas aplicaciones(no de las viejas buenas 🙂 se agradece a día de hoy.
Por eso quiero compartir esta que estoy seguro les será de utilidad.
Versión Linux
¿Te resultó interesante? Compártelo ...
Forma parte de GUTL desde el 12 mayo, 2020.
Me gusta la programación y el software libre. Soy autodidacta. Trabajo en el policlínico de Stgo de las Vegas René Bedia Morales como responsable de Seguridad informática y Administrador de red. Anteriormente trabajé en el INOR(Oncológico como técnico y luego Jefe de seguridad informática)
Haylem:
¡Al fin pude correr una de las aplicaciones hechas por ti! Aquí algunas sugerencias para mejorar la agenda:
1.-Me parece innecesario que, cuando ejecutas la agenda, lo que salga sea el splash el cual hay que cerrar para ir entonces a la agenda. Una mejora de usabilidad sería que, al lanzar la aplicación, salga directamente la agenda. Para ver el splash, puedes poner debajo de «Eliminar nombre» un botón como ese que diga «Créditos»
2.-Introduje mis generales para probarla. En el campo «Nombre y apellidos» escribí Delio Orozco; pero, a la hora de buscar solo busca por Delio, si tecleo Orozco me devuelve un mensaje que dice que esa persona no está en la Agenda.
3.-No se si es problema que Python no maneja los acentos pero Sqlite sí, el hecho es que ni telefónica, ni teléfono, ni dirección, ni móvil tienen la tilde; sería correcto ponérselas.
Un saludo cordial, te felicito y me apunto para ser tu beta tester 🙂
Delio.
Poner el acento también es sencillo al no estar compilado solo edita el archivo principal del programa .py y cambia el texto de las cadenas que aparecen en la ventana por el que desees, esto esta en /opt/PyAgenda
lo puedes editar con el nano no necesitas saber programar, solo buscar estos letreros y cambiarlos respetando las comillas en las que están y guardar. El esplash es para darle más alegría a las aplicaciones, te da un intro que te insita a usar la aplicación esto lo hacen las apps comerciales por ese motivo aunque no muchos usuarios van al botón de créditos a buscar sobre la info del programa sin embargo de esta forma se ve desde un primer inicio el autor y la licencia aunque el crédito real es de la comunidad.
Para buscar por apellidos por ejemplo puedes usar %Delio% son bienvenidas las expresiones regulares, aquí aproveché la ventaja de sql jeje
Habria que ver la codificación si está trabajando en UTF-8 python siempre ha tenido un tratamiento especia lcon estas cuestiones desde python2 que habia que incluir el tipo de codificación a usar en el código aunque en python3 ha mejorado por eso es que no le puse tambien las tildes con temor a que aparecieran caracteres raros en donde va la tlde aunque deberian estar ahi, de todas formas prueba encerrar el nombre con espacios dentro de comillas simples o dobles a ver que sucede aunque tambien se puede aprovechar el fallo como utilidad porque a veces tenemos telefonos duplicados en las agendas incluso con nombres diferentes como Rubén con tilde y sin tilde por negligencias del usuario y esto mopstraría todos los Rubén.
Lo acabo de probar en mi PC y funciona bien con las tildes y todo, también podría ser que te hayas equivocado en alguna letra al guardar el nombre o buscarlo y no hayan coincidido acabo de probar ahora mismo y trabaja bién con espacios,
Prueba guardar por ejemplo Pipí Perez Ramos y luego de guardar pincha en buscar por nombre y debe aparecer la busqueda, las diferencias de mayusculas son irrelevantes porque al comparar el programa lo compara todo en mayúsculas así que no importa violar las mayúsculas y minúsculas
Tengo varios softwares en opendesktop.com de interés es que sincronizar a veces varios sitios te vuelve loco, sube aqui, alla en opendesktop está centralizado, estoy usando mucho appimages para distribuir la apps que se puedan de manera portable y he ccreado la herramienta appimage pro que puedes usar para crear appimages visualmente de prácticamente lo que quieras, todavía no he podido sin embargo crear un appimage de mi exsuegra pero esto trabajando en eso.
con appimage pro puedes bajar una rom de n64 seleccionarla ponerle un icono y el programa te crea un appimage independiente. También soporta roms de gameboy, aplicaciones windows y locales con solo marcar el programa principal compilado. Virtal tv lo he creado con esta herramienta como appimage y está en opendesktop, tambien muchos juegos roms que he pasado a appimage para dar una sensación de juego nativo sin emulador, además puedes seleccionar que tipo de control usar en las roms de n64 teclado,mouse,mouseinvertido Y,etc, Yaa está publicado y pendiente aquí en GUTL está en formato .deb
Haylem:
Vayamos por paso:
1.-Lanzar el splash al principio no es funcional; pero, tu eres el desarrollador de la aplicación y si quieres dejarlo ahí, nadie puede discutírtelo.
2.-Yo no instalé la aplicación, descargué el PyAgenda.py, lo puse en una carpeta, le di permisos de ejecución y listo.
3.-Encerrando mi apellido así: %orozco% lo busca, pero si no lo encierro, no lo hace. Si ejecuto «Ver todo», me muestra el registro en minúsculas: Delio Orozco González; pero si hago una búsqueda por el primer nombre con la cadena: Delio o delio, que es lo que está mostrando, entonces me muestra el registro en mayúscula y la letra acentuada en minúscula así: DELIO OROZCO GONZáLEZ.
4.-Ayer, antes de escribirte y hoy, después de leer tu mensaje, edité el fichero PyAgenda.py con Mousepad, que es el editor que uso, le puse acento a «Agenda telefónica» que es el título que aparece en la barra superior, le di guardar y cuando lo ejecuto, no hace nada. Tengo que quitarle el acento para que funcione.
5.-En la máquina que te escribo uso Debian 10 y como entorno de escritorio IceWM.
Parece ser un problema con tu codificaci’on yo tambi’en uso debian 10, puede ser necesario reinstalar locales-all si has limpiado datos con algún limpiador puede pasar esto a veces
Precisamente al usar un gestor minimalista no se instalan muchas dependencias en el sistema y puede ser necesario algún paquete extra. Otra cosa que puedes hacer es corregir el mapa de caracteres con el paquete console-setup
Offtopic , si todo va viento en popa appimagepro podrá portabilizar tambien juegos de sony playstation1 en un solo appimage y ejecutable por cualquier distro, esto no se debe hacer pero es un proyecto personal y como proyecto personal mi deber es compartir el resultado del experimento.
O sea si es permisible la opción en el programa pero las roms las podrá portabilizar el que desee bajo su propia responsabilidad para uso personal como quemarlo en disco o subirlo a mediafire privado en fin lo que se desee
veré luego quitar el splash cuando termine de poner lo que falta a appimagepro aunque en el archivo fuente puedes comentar cuando se muestra el splash y ya no sale el splash.show() según recuerdo.
Acabo de actualizar pyagenda en el paquete están las 2 versiones con y sin splash y con tildes
Haylem:
Acabo de descargar la actualización de la Agenda. Ejecuté PyAgenda.py sin splash. Estos son los resultados:
1.-Se ejecuta directamente la Agenda. La autoría intelectual es tuya; sí deseas, puedes ponerle debajo de «Eliminar nombre» que debía ser «Eliminar contacto», un botón con el título «Créditos» que, al ejecutarlo, lance el splash.
2.-Edité con el mismo Mousepad el fichero y quité los puntos que estaban detrás de: Agenda telefónica, Buscar por nombre, Buscar por teléfono fijo, Buscar por teléfono móvil, Ver todo, Guardar y Eliminar nombre.
3.-Como prueba entré mi nombre y dos apellidos, dirección y teléfono fijo. Agenda busca, en el campo nombre, por la primera cadena. En el caso de la prueba lo mismo da «Delio» que «delio»; sin embargo, a la hora de borrar el registro, es preciso darle la cadena completa. Al poner Delio, no borra nada, tengo que ponerle el campo «nombre» completo; o sea, Delio Orozco González.
si lo pongo solo por el nombre se borrarian todos los contactos que iniciaran con ese nombre, es un macanismo de seguridad para asegurarse que se est’a borrando lo que se desea pero recuerda puedes usar comodines como Delio% y ahi si borraria cualquier Delio
eliminar nombre tambien sirve para saber que se est’a eliminando por el campo nombre.
Haylem:
Cumpliendo la palabra de ser «beta tester», comencé a llenar tu Agenda con mis contactos y descubrí que le falta una funcionalidad.
1.-Al ingresar un contacto y darle «Guardar», tengo que cerrar la agenda para volver a ingresar el siguiente contacto; pues, al hacer el commit en la BD no limpia los datos y deja activo el último registro. Me parece que la solución es la siguiente:
a) Al insertar un contacto y dar «Guardar», se limpia el formulario de entrada dejando la BD lista para una nueva inserción o búsqueda.
Saludos Delio.
no es necesario cerrar la agenda. con solo limpiar los datos es suficiente, está implementado así porque a veces una persona guarda un dato, se equivoca por ejemplo y en vez de tener que teclear todo para borrarlo solo puede darle borra el nombre que ya está en el campo, corregir y volver a guardar, es para un método de actualización
Haylem:
El método de limpiar a mano los campos luego de «Guardar» para después entrar el próximo registro no es funcional; así no procede ninguna base de datos ni los formularios que las acceden. Cuando menos, debías poner una opción global en el formulario (una escoba o una X es el ícono que se ponen en las cajas de búsqueda), que permita limpiar los campos y dejarlos listos para ingresar uno nuevo o hacer una búsqueda.
Otro problema que veo es que no puedes hacer cambios (editar) los campos. Si te equivocas, tiene que borrar el registo completo y volver a entrarlo o si en ese momento; por ejemplo, no tienes el email y lo quieres entrar después te manda un mensaje diciendo: «Esta persona puede que exista en la agenda o no puedo escribir en la base».
Mejor que yo sabes que una base de datos tiene que cumplir con tres funciones básicas: insertar, editar y borrar y has omitido una función esencial. La simplicidad no puede sacrificar la funcionalidad.
Saludos,
Delio.
para borrar un registro solo basta con poner el nombre, depende del tipo de programa de bases de datos, los programas m’as seguros que requieren una rigurosa confirmaci’on poseen mecanismo similares para asegurarse que el usuario sabe lo que est’a haciendo, agregar’e el boton para limpiar los campos y la ire revisando
una cosa que se me ocurre es un boton de busqueda especifica que busca como el otro pero este en vez de mostrar la tabla rellena los campos con esew registro para poder editarlo, hasta ahora la manera de editar es, poner el nombre completo en el campo nombre exacto y darle eliminar, luego rellenar los nuevos valores y guardar.
Haylem:
¿Cómo van los ajustes de la Agenda?