Ahora que el verano está a la vuelta de la esquina y algunos comienzan la operación biquini me ha parecido buena idea escribir Gnome Fitness, un pequeño programa que calcula el estado de forma en el que nos encontramos: el tanto por ciento de grasa que conforma nuestro peso total, el número de calorías que consume nuestro cuerpo diariamente, el índice de masa corporal, etc.
Como siempre si utilizas una distro que use paquetes deb, como Ubuntu o Debian instalarlo es tan sencillo como descargar el paquete deb correspondiente y hacer doble clic sobre él; o bien puedes añadir mi repositorio a tu archivo sources.list, de forma que tu distro te informe de nuevas versiones.
Si optas por la segunda opción tendrás que editar el archivo /etc/apt/sources.list como root y añadir la línea
deb http://mundogeek.net/repo ubuntu all
Actualiza la lista de paquetes escribiendo sudo aptitude update
en la terminal, e instala la aplicación usando el comando sudo aptitude install gnome-fitness
.
Si utilizas una distro que no soporte paquetes deb puedes descargar el archivo tar.gz, descomprimirlo y ejecutar en la consola desde el directorio creado el comando:
sudo make install
Necesitarás tener instalado python y python-gtk2.
Los valores de esta imagen y los de la imagen de la web son aleatorios, por cierto 😛
¡Muy bueno! Es un programa sencillo pero muy util.
Muy chulo el programa.
Me voy a autoproclamo betatester y te comento un bug: a mi me sale IMC 26 que, según la tabla de la ayuda implica «Sobrepeso», sin embargo, el programa me cataloga como «Sobrepeso crónico (obesidad de grado I)» es decir me sitúa en la categoría siguiente.
Y te sugiero una nueva funcionalidad: al final, cuando te presenta los resultados no tienes más opciones que cerrar el programa, sin poder volver hacia atrás para trastear con los datos, creo que sería interesante un botón de volver.
Si no es indiscrección luis, ¿me podrías decir qué valores has usado?
O mándame un correo a zootropo en gmail, si lo prefieres y no te importa.
Ocurre para cualquier valor por encima de 25. Por ejemplo, si le pones 1.70 de altura y 135 kilos de peso, el Estado lo marca como «Obesidad hipermórbida (obesidad de grado V)» mientras que en la tabla de la ayuda aparece como «obesidad de grado IV». El IMC sí lo indica bien.
En mi caso, con IMC de 26 el estado debería ser «Sobrepeso» mientras que pone «Sobrepeso crónico (obesidad de grado I)» es decir siempre marca un grado más.
Cuando utilizas los datos del ejemplo: 1.70 y 65 kilos, el Estado dice «Peso normal (saludable)», lo marca bien.
El error yo diría que está aquí (ojo, no sé gran cosa de python):
def __get_classification(self, bmi):
cats = {16: «Criterio de ingreso»,
17: «Infrapeso»,
18: «Peso bajo»,
25: «Peso normal (saludable)»,
30: «Sobrepeso (obesidad de grado I)»,
35: «Sobrepeso crónico (obesidad de grado II)»,
40: «Obesidad premórbida (obesidad de grado III)»,
45: «Obesidad mórbida (obesidad de grado IV)»}
limits = cats.keys()
limits.sort()
for upper in limits:
if bmi < upper:
return cats[upper]
return «Obesidad hipermórbida (obesidad de grado V)»
Si te fijas, la categoría por debajo de 30 es «Sobrepeso (obesidad de grado I)» en lugar de sólo «sobrepeso» como aparece en la ayuda.
Nota: Estoy suponiendo que los datos correctos son los de la ayuda.
En cualquier caso es un detalle mínimo así que, para la gente que esté pensando en probarlo, hacedlo, está muy bien el programilla.
Otra feature para una futura versión: guardar los datos y presentarlos en una gráfica temporal (estoy pensando en ponerme en forma y me vendría bien observar la progresión)
Ah, ya entiendo. Osea que es simplemente que en la función que saca la categoría copié los nombres de las categorías de un sitio, y en el diálogo de ayuda de otro…
Unificaré criterios en la próxima versión 😉 Gracias por el aviso.
Si me gustaría poder sacar gráficos. Ya lo tenía pensado. 🙂
Muy buen programita, la verdad es que te da una idea bastante cercana de como es cada uno. Sigue así para próximas versiones.
un saludo!
hola tengo un problemilla…
e añadido tus repositorios e actualizado y tal y despues no me encuentra ningun programa con ese nombre…
he probado a copiar tal cual tu linea por si lo estaba escrbiendo mal y eso pero nada!
que puede ser?
¿No te ha dado ningún mensaje de error al hacer el
sudo aptitude update
por el cual no haya podido actualizar la lista de paquetes?Prueba a escribir
sudo aptitude show gnome-fitness
a ver si lo ve.O a las malas siempre puedes instalarlo con el deb y listo, aunque no deberías tener problemas.
Pingback: Programa para controlar nuestra forma física
esto es el error que me da… si no sabes por que es me instalare la deb y listo!
saludos
Ign http://mundogeek.net ubuntu Release.gpg
Ign http://mundogeek.net ubuntu/all Translation-es
Ign http://mundogeek.net ubuntu Release
Ign http://mundogeek.net ubuntu/all Packages
Err http://mundogeek.net ubuntu/all Packages
404 Not Found
Descargados 6B en 11s (1B/s)
Imposible obtener http://apt.emesene.org/./Sources.gz 404 Not Found
Imposible obtener http://mundogeek.net/repo/dists/ubuntu/all/binary-amd64/Packages.gz 404 Not Found
Leyendo lista de paquetes… Hecho
E: Algunos archivos de índice no se han podido descargar, se han ignorado,
o se ha utilizado unos antiguos en su lugar.
Es por tu arquitectura lander.
Mejor instala el deb.
Estoy esperando la proxima versión… Con criterios unificados….
Sugerencia para futuras versiones.El poder guardar la informacion, para poder ver la evolucion a lo largo del tiempo.
Lo he instalado en Debian etch, pero al ejecutarlo me sale este error:
File «/usr/lib/gnome-fitness/gnome-fitness.py», line 17, in ?
class Wizard(gtk.Assistant):
AttributeError: ‘module’ object has no attribute ‘Assistant’
¿Puede que sea por la versión de python-gtk2 (2.8.6-8)?
Ahora que lo dices, si. gtk.Assistant es de PyGTK 2.10
Jejeje, ok, gracias. Pues actualiza el deb con la versión mínima ;P
Lo haré, lo haré…
Pingback: Gnome Fittness « Que che vou contar…
Pingback: Estadísticas Abril 2008
El enlace para sistemas basados en debian no funciona, por favor alguien me puede pasar algún link alternativo?