Re: [Python-es] [Py-ES] Sistemas de colas

2021-07-06 Por tema Nekmo
Para nada ha sido pedante o chapas Lasizoillo, es genial contar con
comentarios tan completos y tan bien documentados, ¡gracias! :)

Nunca me había parado a mirar sobre extender Celery, y ahora ya sé por
dónde empezar. Por curiosidad, ¿para qué habéis tenido la necesidad de
ampliarlo?

En mi caso uso Celery por los mismos motivos, ya que se adapta a las
necesidades de cualquier proyecto sin necesidad de conocer todos sus
requerimientos. Además, al usarlo en más proyectos, adquiero conocimiento
reaprovechable. Otra ventaja es su robustez, su documentación y añadiría su
monitorización. Es importante monitorizar el correcto funcionamiento de las
colas, y para Celery al ser tan utilizado hay muchos recursos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El mar, 6 jul 2021 a las 8:17, Federico Mon () escribió:

> Es un buen apunte, yo no he trabajado con procesos que consumiesen tanta
> RAM
>
> On July 5, 2021 11:12:24 PM GMT+02:00, Jose Manuel 
> wrote:
>>
>> Quería señalar que si te quedas sin RAM y el trabajo está ya lanzado, si
>> te quedas sin el.
>>
>> Y aunque hagas try, except finally. Al ser matado por el sistema no lo
>> captura ni el try ni sentry.
>>
>> Hablo de creación de ficheros de más de 10GB .
>>
>> Y lo resalto porque bueno, parece obvio cuando ya lo sabes, pero cuando
>> no, te pegas de leches con los try except...
>>
>> El lun., 5 jul. 2021 22:41, Federico Mon  escribió:
>>
>>> Yo he usado Celery (poco) y Redis Queue (algo más) y me quedo con este
>>> último.
>>>
>>> En general, no tengo la experiencia de que se mueran los workers. Los
>>> trabajos pueden fallar, si salta alguna excepción, etc, pero con un Sentry
>>> o similar puedes estar al tanto.
>>>
>>> Creo que en tu caso sería levantar tantos workers como cores tengas, y
>>> así no te excedes con los trabajos simultáneos. Quizás meterlo bajo un
>>> supervisor para asegurarte de que no mueren?
>>>
>>> On July 5, 2021 9:30:25 PM GMT+02:00, Felipe Maza 
>>> wrote:
>>>>
>>>> Hola,
>>>>
>>>> Llevo unos días viendo diferentes programas para gestionar sistemas de
>>>> colas y, en principio, creo que casi todos parecen complejos para lo que
>>>> necesito.
>>>>
>>>> Mi problema a resolver es el siguiente, tenemos un modelo de predicción
>>>> que se ejecuta periódicamente y también bajo demanda del usuario. Ese
>>>> modelo se ejecuta en un solo hilo y tarda bastantes minutos en completar la
>>>> tarea. Por tanto, puedo tener varias ejecuciones simultáneas siempre que no
>>>> excedamos el número de cores disponibles, ya que en ese caso se vuelve el
>>>> sistema excesivamente lento. Al modelo se le invoca a través de una pequeña
>>>> api hecha con flask. En el futuro puede que haya otros modelos en la
>>>> misma máquina.
>>>>
>>>> Hace un par de años para un problema similar ya me programé mi propio
>>>> gestor de colas rudimentario,pero ahora busco algo que sea estable, con
>>>> pocos bugs, mantenible, etc.
>>>>
>>>> Las características que (creo que) necesito son:
>>>> - Encolar tareas (logicamente)
>>>> - Tener colas con diferente prioridad (manuales, periódicas).
>>>> - Registrar la salida, tanto si ha tenido éxito como si ha tenido
>>>> errores.
>>>> - (opcional) En un futuro ejecutar otras apis con modelo en la misma
>>>> máquina.
>>>>
>>>>
>>>> Lo primero que he explorado ha sido Celery, y es impresionante el
>>>> montón de posibilidades que ofrece, tantas que ir poco más de los ejemplos
>>>> iniciales me parece muy complejo para solucionar el problema anterior. Me
>>>> da la sensación que hay que controlar un montón de aspectos para montarlo y
>>>> mantenerlo correctamente; y que cuando aparezca algún error no va a ser
>>>> rápido dar con la solución.
>>>>
>>>> Después de mirar otras alternativas, con la que parece que he montado
>>>> una primera versión que parece que me lo soluciona, es Redis Queue (
>>>> https://python-rq.org/). La forma en la que utiliza Redis es
>>>> relativamente simple, y más o menos ofrece lo que necesito.
>>>> En el tema de los worker creo que ahí flojea un poco, pues parece que
>>>> tendré que gestionar manualmente cuántos hay arrancados y si no se han
&

Re: [Python-es] Elección de tecnologías para la web de Python España

2016-06-12 Por tema Nekmo
La conversación se va a mover a la lista general. Por favor, no
responder en esta lista. Gracias, y perdonad.


El día 12 de junio de 2016, 21:37, Nekmo <nin...@gmail.com> escribió:
> ¡Hola a todos!
>
> Me uní hace poco tiempo a Python España, y como nuevo miembro, busco a
> ver cómo puedo aportar a la asociación :)
>
> Hablando con Juan Luis, éste me comentó que haría falta mejorar la web
> actual. Como desarrollador web, me ofrecí voluntario a echar una mano
> al respecto. Actualmente la web usa Django, y creo que por su
> popularidad sigue siendo buena idea usarlo (aunque cada uno puede
> aportar alternativas). A parte, también propuse usarlo junto con
> DjangoCMS, por su versatilidad, comunidad y uso.
>
> Como la elección de ambas tecnologías son algo más bien subjetivo (por
> usarlas en el trabajo), escribo este email para ver si a la gente le
> parece bien el uso de ambas opciones, y recibir nuevas sugerencias.
>
> Escribo esto por esta lista porque actualmente no tengo acceso a la
> lista oficial de la asociación. Este es un email relacionado con
> únicamente con la asociación.
>
> Por favor, si se sugiere una nueva tecnología, estaría bien poder
> recibir sus razones para la elección de dicha tecnología, haberla
> usado personalmente, y a ser posible, poder colaborar con el proyecto
> para hacer uso de sus conocimiento en dicha tecnología. Por supuesto,
> dichas tecnologías deben estar basadas en Python :)
>
> Así pues, comienzo yo con las 2 propuestas iniciales:
>
> Django:
> --
> Probablemente el framework más popular en Python. Gran comunidad y
> cantidad de opciones de serie. Permite un desarrollo rápido. Usado por
> webs como Pinterest o Lawrence. Framework modular con muchos módulos
> disponibles. Tiene una especificación para la creación de los módulos.
> Se trata de un framework MVC. Posee su propio sistema de db y
> templates. Altamente escalable. Excelente documentación
>
> https://www.djangoproject.com/
>
> DjangoCMS:
> 
> CMS de uso empresarial para Django. Permite la creación de páginas de
> contenido y posee gran cantidad de plugins y apps. Tiene apps para
> blog, categorización de personas, ofertas de trabajo... según Juan
> Luis son todas cosas que nos hacen falta y ya están hechas para
> DjangoCMS. No es nada intrusivo, y permite adaptar fácilmente apps de
> Django a DjangoCMS. Las páginas son completamente personalizables, al
> poseer un sistema de bloques al que pueden añadirse plugins de mapas,
> texto, comentarios, entre otras tantas cosas. Mantiene un Django muy
> puro, al utilizar el mismo sistema de back (Django Admin), el cual
> integra para la administración en el front con modales. Tiene detrás
> empresas grandes como Divio o Nephila. La primera, posee además
> Aldryn, una plataforma de Cloud y alojamiento para sitios DjangoCMS.
> Podemos hablar con ellos para ver si nos alojan :) Es totalmente
> software libre. Grandes empresas utilizan DjangoCMS como National
> Geographic, Loreal, NASA, Salt., Canonical, PBS, Parrot... Buena
> documentación.
>
> https://www.django-cms.org/en/
>
> Demo: https://control.aldryn.com/demo/get-new/
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Elección de tecnologías para la web de Python España

2016-06-12 Por tema Nekmo
¡Hola a todos!

Me uní hace poco tiempo a Python España, y como nuevo miembro, busco a
ver cómo puedo aportar a la asociación :)

Hablando con Juan Luis, éste me comentó que haría falta mejorar la web
actual. Como desarrollador web, me ofrecí voluntario a echar una mano
al respecto. Actualmente la web usa Django, y creo que por su
popularidad sigue siendo buena idea usarlo (aunque cada uno puede
aportar alternativas). A parte, también propuse usarlo junto con
DjangoCMS, por su versatilidad, comunidad y uso.

Como la elección de ambas tecnologías son algo más bien subjetivo (por
usarlas en el trabajo), escribo este email para ver si a la gente le
parece bien el uso de ambas opciones, y recibir nuevas sugerencias.

Escribo esto por esta lista porque actualmente no tengo acceso a la
lista oficial de la asociación. Este es un email relacionado con
únicamente con la asociación.

Por favor, si se sugiere una nueva tecnología, estaría bien poder
recibir sus razones para la elección de dicha tecnología, haberla
usado personalmente, y a ser posible, poder colaborar con el proyecto
para hacer uso de sus conocimiento en dicha tecnología. Por supuesto,
dichas tecnologías deben estar basadas en Python :)

Así pues, comienzo yo con las 2 propuestas iniciales:

Django:
--
Probablemente el framework más popular en Python. Gran comunidad y
cantidad de opciones de serie. Permite un desarrollo rápido. Usado por
webs como Pinterest o Lawrence. Framework modular con muchos módulos
disponibles. Tiene una especificación para la creación de los módulos.
Se trata de un framework MVC. Posee su propio sistema de db y
templates. Altamente escalable. Excelente documentación

https://www.djangoproject.com/

DjangoCMS:

CMS de uso empresarial para Django. Permite la creación de páginas de
contenido y posee gran cantidad de plugins y apps. Tiene apps para
blog, categorización de personas, ofertas de trabajo... según Juan
Luis son todas cosas que nos hacen falta y ya están hechas para
DjangoCMS. No es nada intrusivo, y permite adaptar fácilmente apps de
Django a DjangoCMS. Las páginas son completamente personalizables, al
poseer un sistema de bloques al que pueden añadirse plugins de mapas,
texto, comentarios, entre otras tantas cosas. Mantiene un Django muy
puro, al utilizar el mismo sistema de back (Django Admin), el cual
integra para la administración en el front con modales. Tiene detrás
empresas grandes como Divio o Nephila. La primera, posee además
Aldryn, una plataforma de Cloud y alojamiento para sitios DjangoCMS.
Podemos hablar con ellos para ver si nos alojan :) Es totalmente
software libre. Grandes empresas utilizan DjangoCMS como National
Geographic, Loreal, NASA, Salt., Canonical, PBS, Parrot... Buena
documentación.

https://www.django-cms.org/en/

Demo: https://control.aldryn.com/demo/get-new/
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Post-install en setup.py con Wheel

2016-06-06 Por tema Nekmo
Oh, que otra gente hiciese el trabajo por mí estaría genial... pero me
temo que mi proyecto no es lo bastante conocido ni usado como para
ello xD

Yo también evito siempre que puedo utilizar "sudo pip install" sobre
todo porque luego las dependencias instaladas pueden dar problemas con
las del sistema, pero como dices, no hay mucha más solución debido a
la naturaleza del proyecto. En otros proyectos intento incluso
incentivar que la gente lo instale en un virtualenv, pero aquí es
imposible.

Ante todo, gracias :)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 6 de junio de 2016, 16:22, Juan Luis Cano <juanlu...@gmail.com> escribió:
> La verdad, si yo fuera tú lo dividiría en dos pasos, te quitarás de
> bastantes problemas...
>
> Por otro lado: veo que pones `sudo pip install`. Yo lo evito como la peste
> porque tiene consecuencias indeseadas y conduce a mensajes de error
> rarísimos, pero entiendo por la naturaleza de tu biblioteca que tiene que
> ser así. ¿No has pensado mejor que otra gente empaquete tu biblioteca para
> cada distribución de Linux?
>
> 2016-06-06 16:08 GMT+02:00 Nekmo <conta...@nekmo.com>:
>>
>> No te preocupes, sé perfectamente que está desaconsejado y soy
>> consciente de los riesgos y problemas :)
>>
>> Según entiendo, lo que propones es hacer esto, ¿no?
>>
>>
>> class FakeBdistWheel(Command):
>> description = 'Faked Wheel'
>> user_options = []
>>
>> def initialize_options(self):
>> pass
>>
>> def finalize_options(self):
>> pass
>>
>> def run(self):
>> print('Sorry, but wheel is not supported for this package!')
>>
>>
>> setup(
>> cmdclass={'install': SystemInstallCommand, 'bdist_wheel':
>> FakeBdistWheel},
>> ...
>>
>>
>> Como dices, el paquete se instala correctamente, pero el mensaje de
>> error hace pensarse a la gente que ha habido un error, y me mandan
>> emails pidiéndome ayuda :(
>>
>> Mi intención es que esto sea algo temporal, hasta que tenga paquetes
>> para las principales distribuciones. Pero claro, como es algo tedioso
>> y pesado, hasta ese momento prefiero dejarle el trabajo sucio al
>> gestor de paquetes de Python. Estoy barajando también la opción de
>> dividir el proceso de instalación en 2 pasos:
>>
>> sudo pip install simple-monitor-alert && sudo python -m
>> simple_monitor_alert.install
>>
>> Saludos, ¡y gracias!
>>
>>
>> Un cordial saludo:
>> -- Nekmo.
>>
>> Sitio web: http://nekmo.com
>> Dirección de contacto: conta...@nekmo.com
>> XMPP/Jabber: conta...@nekmo.com
>> Google+: Nekmo Com
>>
>>
>> El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com>
>> escribió:
>> > En realidad, lo que ocurre es que se intenta construir un wheel por cada
>> > paquete que estás instalando y sus dependencias pero este paso falla por
>> > lo
>> > que has comentado. Sin embargo, a juzgar por el log todo se instala
>> > correctamente y en principio deberías poder importar el paquete con
>> > normalidad. De hecho acabo de probarlo y me funciona:
>> >
>> > $ pip install simple-monitor-alert
>> > # Mensaje de error al crear wheel, instalación exitosa
>> > $ python
>> >>>> import simple_monitor_alert
>> >>>> simple_monitor_alert.__version__
>> > '0.2.3'
>> >
>> > Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir
>> > su
>> > ejecución, mostrar un mensaje o simplemente no hacer nada.
>> >
>> > En principio los scripts de post-instalación dejarán de ser un hack
>> > cuando
>> > se termine la PEP 426:
>> >
>> > https://www.python.org/dev/peps/pep-0426/
>> >
>> > Mientras tanto, el consenso de la comunidad es que «lo estás haciendo
>> > mal».
>> >
>> > Espero que te sirva, un saludo:
>> >
>> > Juanlu
>> >
>> >
>> >
>> > On 2016-06-06 03:54, Nekmo wrote:
>> >>
>> >> Buenas a todos.
>> >>
>> >> Tengo un paquete que requiere de pasos adicionales para su instalación
>> >> en el sistema, ya que no es una biblioteca sino una aplicación. Entre
>> >> otras cosas hace:
>> >> - Instalar servicios (init, systemd).
>> >> - Actualizar los archivos de configuración, si se necesitase.
>> >> - Crea

Re: [Python-es] Post-install en setup.py con Wheel

2016-06-06 Por tema Nekmo
No te preocupes, sé perfectamente que está desaconsejado y soy
consciente de los riesgos y problemas :)

Según entiendo, lo que propones es hacer esto, ¿no?


class FakeBdistWheel(Command):
description = 'Faked Wheel'
user_options = []

def initialize_options(self):
pass

def finalize_options(self):
pass

def run(self):
print('Sorry, but wheel is not supported for this package!')


setup(
cmdclass={'install': SystemInstallCommand, 'bdist_wheel': FakeBdistWheel},
...


Como dices, el paquete se instala correctamente, pero el mensaje de
error hace pensarse a la gente que ha habido un error, y me mandan
emails pidiéndome ayuda :(

Mi intención es que esto sea algo temporal, hasta que tenga paquetes
para las principales distribuciones. Pero claro, como es algo tedioso
y pesado, hasta ese momento prefiero dejarle el trabajo sucio al
gestor de paquetes de Python. Estoy barajando también la opción de
dividir el proceso de instalación en 2 pasos:

sudo pip install simple-monitor-alert && sudo python -m
simple_monitor_alert.install

Saludos, ¡y gracias!

El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com> escribió:
> En realidad, lo que ocurre es que se intenta construir un wheel por cada
> paquete que estás instalando y sus dependencias pero este paso falla por lo
> que has comentado. Sin embargo, a juzgar por el log todo se instala
> correctamente y en principio deberías poder importar el paquete con
> normalidad. De hecho acabo de probarlo y me funciona:
>
> $ pip install simple-monitor-alert
> # Mensaje de error al crear wheel, instalación exitosa
> $ python
>>>> import simple_monitor_alert
>>>> simple_monitor_alert.__version__
> '0.2.3'
>
> Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir su
> ejecución, mostrar un mensaje o simplemente no hacer nada.
>
> En principio los scripts de post-instalación dejarán de ser un hack cuando
> se termine la PEP 426:
>
> https://www.python.org/dev/peps/pep-0426/
>
> Mientras tanto, el consenso de la comunidad es que «lo estás haciendo mal».
>
> Espero que te sirva, un saludo:
>
> Juanlu
>
>
>
> On 2016-06-06 03:54, Nekmo wrote:
>>
>> Buenas a todos.
>>
>> Tengo un paquete que requiere de pasos adicionales para su instalación
>> en el sistema, ya que no es una biblioteca sino una aplicación. Entre
>> otras cosas hace:
>> - Instalar servicios (init, systemd).
>> - Actualizar los archivos de configuración, si se necesitase.
>> - Crear enlaces simbólicos.
>> - Crear un usuario del sistema si no existiese
>> - Dar los permisos correctos a los directorios correspondientes.
>>
>> Todo esto funciona muy bien a día de hoy, y me permite tener un
>> paquete instalable en cualquier distribución de forma fácil y
>> amigable. Además, si el paquete es instalado en modo usuario, estos
>> pasos se saltan mostrando una advertencia al usuario.
>>
>> El problema llega con Wheel: mis usuarios se quejan porque reciben un
>> mensaje de error de Wheel (el cual no uso) durante la instalación,
>> aunque el programa se instale perfectamente.
>>
>> https://github.com/Nekmo/simple-monitor-alert/issues/24
>>
>>
>> -
>>Checking .pth file support in build/bdist.linux-x86_64/wheel/
>>/usr/bin/python -E -c pass
>>TEST FAILED: build/bdist.linux-x86_64/wheel/ does NOT support .pth
>> files
>>error: bad install directory or PYTHONPATH
>>
>>You are attempting to install a package to a directory that is not
>>on PYTHONPATH and which Python does not read ".pth" files from.  The
>>installation directory you specified (via --install-dir, --prefix, or
>>the distutils default setting) was:
>>
>>build/bdist.linux-x86_64/wheel/
>>
>>and your PYTHONPATH environment variable currently contains:
>>
>>''
>>
>>Here are some of your options for correcting the problem:
>>
>>* You can choose a different installation directory, i.e., one that is
>>  on PYTHONPATH or supports .pth files
>>
>>* You can add the installation directory to the PYTHONPATH environment
>>  variable.  (It must then also be on PYTHONPATH whenever you run
>>  Python and want to use the package(s) you are installing.)
>>
>>* You can set up the installation directory to support ".pth" files by
>>  using one of the approaches described here:
>>
>>
>>
>> https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations
>>
>>Please make the appropriate chang

Re: [Python-es] Post-install en setup.py con Wheel

2016-06-06 Por tema Nekmo
No te preocupes, sé perfectamente que está desaconsejado y soy
consciente de los riesgos y problemas :)

Según entiendo, lo que propones es hacer esto, ¿no?


class FakeBdistWheel(Command):
description = 'Faked Wheel'
user_options = []

def initialize_options(self):
pass

def finalize_options(self):
pass

def run(self):
print('Sorry, but wheel is not supported for this package!')


setup(
cmdclass={'install': SystemInstallCommand, 'bdist_wheel': FakeBdistWheel},
...


Como dices, el paquete se instala correctamente, pero el mensaje de
error hace pensarse a la gente que ha habido un error, y me mandan
emails pidiéndome ayuda :(

Mi intención es que esto sea algo temporal, hasta que tenga paquetes
para las principales distribuciones. Pero claro, como es algo tedioso
y pesado, hasta ese momento prefiero dejarle el trabajo sucio al
gestor de paquetes de Python. Estoy barajando también la opción de
dividir el proceso de instalación en 2 pasos:

sudo pip install simple-monitor-alert && sudo python -m
simple_monitor_alert.install

Saludos, ¡y gracias!


Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 6 de junio de 2016, 6:41, Juan Luis Cano <juanlu...@gmail.com> escribió:
> En realidad, lo que ocurre es que se intenta construir un wheel por cada
> paquete que estás instalando y sus dependencias pero este paso falla por lo
> que has comentado. Sin embargo, a juzgar por el log todo se instala
> correctamente y en principio deberías poder importar el paquete con
> normalidad. De hecho acabo de probarlo y me funciona:
>
> $ pip install simple-monitor-alert
> # Mensaje de error al crear wheel, instalación exitosa
> $ python
>>>> import simple_monitor_alert
>>>> simple_monitor_alert.__version__
> '0.2.3'
>
> Lo que puedes hacer es sobreescribir el comando bdist_wheel para impedir su
> ejecución, mostrar un mensaje o simplemente no hacer nada.
>
> En principio los scripts de post-instalación dejarán de ser un hack cuando
> se termine la PEP 426:
>
> https://www.python.org/dev/peps/pep-0426/
>
> Mientras tanto, el consenso de la comunidad es que «lo estás haciendo mal».
>
> Espero que te sirva, un saludo:
>
> Juanlu
>
>
>
> On 2016-06-06 03:54, Nekmo wrote:
>>
>> Buenas a todos.
>>
>> Tengo un paquete que requiere de pasos adicionales para su instalación
>> en el sistema, ya que no es una biblioteca sino una aplicación. Entre
>> otras cosas hace:
>> - Instalar servicios (init, systemd).
>> - Actualizar los archivos de configuración, si se necesitase.
>> - Crear enlaces simbólicos.
>> - Crear un usuario del sistema si no existiese
>> - Dar los permisos correctos a los directorios correspondientes.
>>
>> Todo esto funciona muy bien a día de hoy, y me permite tener un
>> paquete instalable en cualquier distribución de forma fácil y
>> amigable. Además, si el paquete es instalado en modo usuario, estos
>> pasos se saltan mostrando una advertencia al usuario.
>>
>> El problema llega con Wheel: mis usuarios se quejan porque reciben un
>> mensaje de error de Wheel (el cual no uso) durante la instalación,
>> aunque el programa se instale perfectamente.
>>
>> https://github.com/Nekmo/simple-monitor-alert/issues/24
>>
>>
>> -
>>Checking .pth file support in build/bdist.linux-x86_64/wheel/
>>/usr/bin/python -E -c pass
>>TEST FAILED: build/bdist.linux-x86_64/wheel/ does NOT support .pth
>> files
>>error: bad install directory or PYTHONPATH
>>
>>You are attempting to install a package to a directory that is not
>>on PYTHONPATH and which Python does not read ".pth" files from.  The
>>installation directory you specified (via --install-dir, --prefix, or
>>the distutils default setting) was:
>>
>>build/bdist.linux-x86_64/wheel/
>>
>>and your PYTHONPATH environment variable currently contains:
>>
>>''
>>
>>Here are some of your options for correcting the problem:
>>
>>* You can choose a different installation directory, i.e., one that is
>>  on PYTHONPATH or supports .pth files
>>
>>* You can add the installation directory to the PYTHONPATH environment
>>  variable.  (It must then also be on PYTHONPATH whenever you run
>>  Python and want to use the package(s) you are installing.)
>>
>>* You can set up the installation directory to support ".pth" files by
>>  using one of the approaches described here:
>&

Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio

2016-01-12 Por tema Nekmo
No he probado Kivy, pero tiene buena pinta.

https://kivy.org/

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 12 de enero de 2016, 19:33, Mario Lacunza <mlacu...@gmail.com> escribió:
> Creo q pidió app de escritorio y no web...xq para el caso también puede usar
> Django.
>
> Saludos / Best regards
>
> Mario Lacunza
> Email:: mlacu...@gmail.com
> Personal Website:: http://www.lacunza.biz/
> Hosting:: http://mlv-host.com/
> Mascotas Perdidas:: http://mascotas-perdidas.com/
> Skype: mlacunzav
>
> Lima - Peru
>
> El 12 de enero de 2016, 13:25, Kiko <kikocorre...@gmail.com> escribió:
>>
>>
>> El 12 de enero de 2016, 18:38, Jesús Quintero Suárez <jesusq...@msn.com>
>> escribió:
>>>
>>> Kiko, si entiendo bien, con flask puedo desarrollar aplicaciones que
>>> corren como de escritorio!, como sería eso?.
>>
>>
>> Con flask puedes crer una aplicación web que puedes embeber dentro de un
>> QWebView (PyQT), por ejemplo.
>>
>> O, directamente, puedes correrlo en un navegador y no depender de PyQT,
>> Wx, GTK/PyGObject,... Dependerás de otras cosas.
>>
>> Pero es solo una sugerencia. Depende de lo que necesites hacer.
>>
>> Un ejemplo mínimo de lo primero copiado/adaptado de aquí
>> (http://codereview.stackexchange.com/a/114307):
>>
>> #Testedo en Python3.5
>>
>> import sys
>>
>> from PyQt4.QtCore import QThread, QUrl
>> from PyQt4.QtGui import QApplication
>> from PyQt4.QtWebKit import QWebView
>> from flask import Flask
>>
>> PORT = 5000
>> ROOT_URL = 'http://localhost:{}'.format(PORT)
>>
>>
>> class FlaskThread(QThread):
>> def __init__(self, application):
>> QThread.__init__(self)
>> self.application = application
>>
>> def __del__(self):
>> self.wait()
>>
>> def run(self):
>> self.application.run(port=PORT)
>>
>>
>> def provide_GUI_for(application):
>> qtapp = QApplication(sys.argv)
>>
>> webapp = FlaskThread(application)
>> webapp.start()
>>
>> qtapp.aboutToQuit.connect(webapp.terminate)
>>
>> webview = QWebView()
>> webview.load(QUrl(ROOT_URL))
>> webview.show()
>>
>> return qtapp.exec_()
>>
>>
>> if __name__ == '__main__':
>> app = Flask(__name__)
>>
>> @app.route('/')
>> def index():
>> return "Hola Mundo!!"
>>
>> sys.exit(provide_GUI_for(app))
>>
>>>
>>>
>>>
>>> De: Python-es [mailto:python-es-bounces+jesusquin=msn@python.org] En
>>> nombre de Kiko
>>> Enviado el: martes, 12 de enero de 2016 10:50 a. m.
>>> Para: La lista de python en castellano <python-es@python.org>
>>> Asunto: Re: [Python-es] Orientación para el desarrollo de aplicaciones de
>>> escritorio
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> El 12 de enero de 2016, 16:34, Jesús Quintero Suárez <jesusq...@msn.com>
>>> escribió:
>>>
>>> Hola todos, he leído de todo un poco pero realmente no es suficiente como
>>> para elegir la combinación de paquetes más adecuada, quiero desarrollar si
>>> es posible con una de las versiones más recientes de python y con la base de
>>> datos postgresql.
>>>
>>> ¿Cuál es ORM el más adecuado?
>>>
>>> ¿Para GUIs que me recomiendan, y si es posible una herramienta RAD?
>>>
>>>
>>>
>>> Agradezco la colaboración que me puedan brindar, gracias.
>>>
>>>
>>>
>>>
>>>
>>> Approach clásico:
>>>   - ORM: SQLAlchemy
>>>
>>>   - GUI/RAD: PyQT/QtDesigner
>>>
>>> Aunque depende para qué iría con bootstrap+flask+sqlalchemy
>>>   - Look & Feel sería similar en las diferentes plataformas.
>>>   - no hay problemas de compilar las librerías gráficas, que puede ser un
>>> poco doloroso en algún caso y algún SO.
>>>
>>>   - Gran parte del desarrollo te vale para tener una app online, si es
>>> necesario.
>>>
>>>   - Aprendes desarrollo web :-P
>>>   -  ...
>>>
>>>
>>>
>>> Saludos.
>>>
>>>
>>>
>>>
>>>
>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>>
>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>
>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio

2016-01-12 Por tema Nekmo
Yo para una aplicación de escritorio usando tecnología web, no
utilizaría Django por diversos motivos:

1º. Porque Django es bastante grande.
2º. Porque donde destaca es en lado del servidor, y una aplicación de
este tipo requerirá sobre todo de lógica en el lado del cliente.
3º. Django está pensado para correr tras un servidor web como Nginx, y
aunque es posible usar un servidor web en Python, le estás añadiendo
una mayor complicación.
4º. En Django se trabaja por proyectos, siendo un proyecto una web.
Ello dificulta su distribución como aplicación de escritorio.

Y ojo, no lo digo porque no me guste Django. Lo utilizo todos los días
y me dedico profesionalmente a ello. Sólo digo que Django, aunque
puede utilizarse para correr una aplicación destinada a cliente de
escritorio, no es lo más óptimo ni cómodo, porque no fue diseñado para
ello. En su lugar, recomendaría Flask u otro miniframework parecido.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 12 de enero de 2016, 20:28, Mario Lacunza <mlacu...@gmail.com> escribió:
> Pues escoger el motor de base de datos no tiene nada q ver con q sea desktop
> o web, sino va en función de la cantidad de información q tiene q almacenar,
> si va montada en red y permite múltiples usuarios (sqlite no) y accesos con
> concultas recurrentes, punteros, inserciones y un largo ETC..
>
> Saludos / Best regards
>
> Mario Lacunza
> Email:: mlacu...@gmail.com
> Personal Website:: http://www.lacunza.biz/
> Hosting:: http://mlv-host.com/
> Mascotas Perdidas:: http://mascotas-perdidas.com/
> Skype: mlacunzav
>
> Lima - Peru
>
> El 12 de enero de 2016, 14:25, Kiko <kikocorre...@gmail.com> escribió:
>>
>> BTW, si es una aplicación de escritorio porqué irías con postgresql y
>> no con algo más simple con sqlite?
>>
>> El 12/1/16, Nicolas lino <nicolasli...@gmail.com> escribió:
>> > Kivy++
>> >
>> > El 12 de enero de 2016, 16:11, Nekmo <conta...@nekmo.com> escribió:
>> >
>> >> No he probado Kivy, pero tiene buena pinta.
>> >>
>> >> https://kivy.org/
>> >>
>> >> Un cordial saludo:
>> >> -- Nekmo.
>> >>
>> >> Sitio web: http://nekmo.com
>> >> Dirección de contacto: conta...@nekmo.com
>> >> XMPP/Jabber: conta...@nekmo.com
>> >> Google+: Nekmo Com
>> >>
>> >>
>> >> El día 12 de enero de 2016, 19:33, Mario Lacunza <mlacu...@gmail.com>
>> >> escribió:
>> >> > Creo q pidió app de escritorio y no web...xq para el caso también
>> >> > puede
>> >> usar
>> >> > Django.
>> >> >
>> >> > Saludos / Best regards
>> >> >
>> >> > Mario Lacunza
>> >> > Email:: mlacu...@gmail.com
>> >> > Personal Website:: http://www.lacunza.biz/
>> >> > Hosting:: http://mlv-host.com/
>> >> > Mascotas Perdidas:: http://mascotas-perdidas.com/
>> >> > Skype: mlacunzav
>> >> >
>> >> > Lima - Peru
>> >> >
>> >> > El 12 de enero de 2016, 13:25, Kiko <kikocorre...@gmail.com>
>> >> > escribió:
>> >> >>
>> >> >>
>> >> >> El 12 de enero de 2016, 18:38, Jesús Quintero Suárez
>> >> >> <jesusq...@msn.com
>> >> >
>> >> >> escribió:
>> >> >>>
>> >> >>> Kiko, si entiendo bien, con flask puedo desarrollar aplicaciones
>> >> >>> que
>> >> >>> corren como de escritorio!, como sería eso?.
>> >> >>
>> >> >>
>> >> >> Con flask puedes crer una aplicación web que puedes embeber dentro
>> >> >> de
>> >> >> un
>> >> >> QWebView (PyQT), por ejemplo.
>> >> >>
>> >> >> O, directamente, puedes correrlo en un navegador y no depender de
>> >> >> PyQT,
>> >> >> Wx, GTK/PyGObject,... Dependerás de otras cosas.
>> >> >>
>> >> >> Pero es solo una sugerencia. Depende de lo que necesites hacer.
>> >> >>
>> >> >> Un ejemplo mínimo de lo primero copiado/adaptado de aquí
>> >> >> (http://codereview.stackexchange.com/a/114307):
>> >> >>
>> >> >> #Testedo en Python3.5
>> >> >>
>> >> >> import sys
>> >> >>
>> &

Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio

2016-01-12 Por tema Nekmo
Flask puede servir el proyecto con los archivos estáticos incluidos, y
además está preparado para múltiples peticiones (multithread). Es un
servidor web Python a fin y al cabo. No es tan óptimo como correrlo
con un gunicorn + nginx/lighttpd/loquesea para los estáticos pero, ¿y
qué más da? Sólo tienes un único usuario.

Con Django necesitas obligatoriamente otro servidor que lo sirva
usando WSGI u otra tecnología. El servidor incluido para pruebas
(runserver) está demasiado limitado.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 12 de enero de 2016, 20:53, Mario Lacunza <mlacu...@gmail.com> escribió:
> Disculpa y como haces una app "web de escritorio" sin una parte servidor
> donde corra (php, python, java o el lenguaje servidor usado) toda la lógica
> basado ya sea en LAMP o Nginx?
>
> Xq tener parte de la lógica del cliente en el desktop pues rompe el concepto
> de app web donde todo reside en el servidor, por eso sólo se necesita un
> browser para usarla sin tener q instalar NADA del lado cliente, creo q andan
> confundidos con los conceptos centrales y el cómo desplegar la app.
>
> Saludos / Best regards
>
> Mario Lacunza
> Email:: mlacu...@gmail.com
> Personal Website:: http://www.lacunza.biz/
> Hosting:: http://mlv-host.com/
> Mascotas Perdidas:: http://mascotas-perdidas.com/
> Skype: mlacunzav
>
> Lima - Peru
>
> El 12 de enero de 2016, 14:38, Nekmo <conta...@nekmo.com> escribió:
>>
>> Yo para una aplicación de escritorio usando tecnología web, no
>> utilizaría Django por diversos motivos:
>>
>> 1º. Porque Django es bastante grande.
>> 2º. Porque donde destaca es en lado del servidor, y una aplicación de
>> este tipo requerirá sobre todo de lógica en el lado del cliente.
>> 3º. Django está pensado para correr tras un servidor web como Nginx, y
>> aunque es posible usar un servidor web en Python, le estás añadiendo
>> una mayor complicación.
>> 4º. En Django se trabaja por proyectos, siendo un proyecto una web.
>> Ello dificulta su distribución como aplicación de escritorio.
>>
>> Y ojo, no lo digo porque no me guste Django. Lo utilizo todos los días
>> y me dedico profesionalmente a ello. Sólo digo que Django, aunque
>> puede utilizarse para correr una aplicación destinada a cliente de
>> escritorio, no es lo más óptimo ni cómodo, porque no fue diseñado para
>> ello. En su lugar, recomendaría Flask u otro miniframework parecido.
>>
>> Un cordial saludo:
>> -- Nekmo.
>>
>> Sitio web: http://nekmo.com
>> Dirección de contacto: conta...@nekmo.com
>> XMPP/Jabber: conta...@nekmo.com
>> Google+: Nekmo Com
>>
>>
>> El día 12 de enero de 2016, 20:28, Mario Lacunza <mlacu...@gmail.com>
>> escribió:
>> > Pues escoger el motor de base de datos no tiene nada q ver con q sea
>> > desktop
>> > o web, sino va en función de la cantidad de información q tiene q
>> > almacenar,
>> > si va montada en red y permite múltiples usuarios (sqlite no) y accesos
>> > con
>> > concultas recurrentes, punteros, inserciones y un largo ETC..
>> >
>> > Saludos / Best regards
>> >
>> > Mario Lacunza
>> > Email:: mlacu...@gmail.com
>> > Personal Website:: http://www.lacunza.biz/
>> > Hosting:: http://mlv-host.com/
>> > Mascotas Perdidas:: http://mascotas-perdidas.com/
>> > Skype: mlacunzav
>> >
>> > Lima - Peru
>> >
>> > El 12 de enero de 2016, 14:25, Kiko <kikocorre...@gmail.com> escribió:
>> >>
>> >> BTW, si es una aplicación de escritorio porqué irías con postgresql y
>> >> no con algo más simple con sqlite?
>> >>
>> >> El 12/1/16, Nicolas lino <nicolasli...@gmail.com> escribió:
>> >> > Kivy++
>> >> >
>> >> > El 12 de enero de 2016, 16:11, Nekmo <conta...@nekmo.com> escribió:
>> >> >
>> >> >> No he probado Kivy, pero tiene buena pinta.
>> >> >>
>> >> >> https://kivy.org/
>> >> >>
>> >> >> Un cordial saludo:
>> >> >> -- Nekmo.
>> >> >>
>> >> >> Sitio web: http://nekmo.com
>> >> >> Dirección de contacto: conta...@nekmo.com
>> >> >> XMPP/Jabber: conta...@nekmo.com
>> >> >> Google+: Nekmo Com
>> >> >>
>> >> >>
>> >> >> El día 12 de enero de 2016, 19:33, Mario Lacunza
>> >> &g

Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio

2016-01-12 Por tema Nekmo
 @Mario Lacunza, Flask consume muy poquitos recursos, como 8-12MiB de RAM,
y aunque modesto, su servidor web se porta realmente bien si no hablamos de
grandes cantidades de usuarios.

Si hablamos de desarrollar para un solo usuario, al ser una "aplicación de
escritorio", te sirve y te sobra.

¿En qué casos he usado yo Flask para propósitos como este?
1. Un daemon en Python que requiere una interfaz de configuración. Al tener
una interfaz web, permite su fácil configuración desde otra máquina.
2. Una aplicación de servidor que, al no poder contar con interfaz GUI
convencional, se ha desarrollado vía web.

Son casos sencillos y que no requieren de algo grande, ni van a atender
muchas peticiones. Prefiero evitarme los problemas de una configuración
compleja si puedo tenerlo todo en uno. Y en el caso de una aplicación de
escritorio, es básico su facilidad de distribución.

En ocasiones nos empeñamos en matar moscas a cañonazos, cuando una solución
así es mucho más simple, fácil de desarrollar, mantener, instalar, y no
requiere de múltiples servicios corriendo (Gunicorn + Nginx + ...).


Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com

El 13 de enero de 2016, 0:50, Mario Lacunza <mlacu...@gmail.com> escribió:

> Vivo en el mismo mundo q tu, y no todo se debe o puede hacerse en web ya q
> todo depende de los requerimientos para modelar una solución ofimática. En
> este caso el amigo sólo pidió "aplicación de escritorio" sin más. Por eso
> muchos entendemos una app tradicional no web, claro q ahora el modelo web
> también es posible como mencionan.
>
> Sin embargo al amigo q le contesté x su solución en la q el mismo se
> contradice sobre su eficiencia y modelado, agregando mas librerías a cada
> respuesta (lo cual sabemos q significa) no era algo óptimo.
>
> Y recuerda q no TODO es web sino sistemas como SAP y un largo etc no
> existirían y M$ (léase Microsoft) no seguiría dando soporte a lenguajes de
> programación que puedan crear sistemas desktop tradicionales y sus
> librerías de controles, dlls, etc.
>
> Y en el mundo donde vivimos no todos pueden comprarse un CoreI7 + 16GB de
> RAM con lo último, tengo muchos q aun tienen PCs viejas Core2Duo y una de
> ellas funge de servidor de datos y creo q es la realidad de muchos países.
>
> Escalabilidad: eso depende de COMO diseñes tu sistema y nada más.
>
> En web es mejor la instalación de upgrades ya q no tienes q ir de cliente
> en cliente instalando los exe, deb o bin nuevos, sólo haces el deploy en el
> server y listo.
>
> Al final la solución que se ofrezca se dará según requerimientos y con lo
> q tenga el user de fierro, lo q recomendé es lo más sencillo de instalar y
> usar para una app desktop tradicional, punto el resto son gustos y sobre
> eso no han escrito los autores.
>
> Saludos / Best regards
>
> Mario Lacunza
> Email:: mlacu...@gmail.com
> Personal Website:: http://www.lacunza.biz/
> Hosting:: http://mlv-host.com/
> Mascotas Perdidas:: http://mascotas-perdidas.com/
> Skype: mlacunzav
>
> Lima - Peru
>
> El 12 de enero de 2016, 17:30, Mario R. Osorio <mario@osorio.solutions>
> escribió:
>
>>
>>  @Mario Lacunza
>>
>> Mario,
>> Con el debido respeto, cuando dices que
>>
>>
>>> "*La verdad lo q recomiendas es un Frankenstein de solución*"
>>
>>
>> Me haces pensar que  quizás vivas en otro mundo.
>>
>> La tendencia hoy día es hacer TODAS las aplicaciones para la web. Esto
>> ofrece, entre muchas otras, la ventaja de que cualquier usuario con un
>> navegador la puede utilizar.
>> Por supuesto, en el otro lado tiene que haber al menos un servidor web y
>> otro de bases de datos, pero como explico alguien anteriormente, existen
>> varios servidores web y sistemas de bases de datos relacionales, no
>> relacionales, sql, nosql; que puedes escoger, según la carga que tu
>> aplicación va a tener. Existen opciones para todo y lo mejpr es que tanto
>> los servidores web como de bases de datos de hoy día pueden convivir
>> prácticamente en cualquier computador de los que se fabrican hoy día
>> absolutamente sin ningún problema.
>>
>> Incluso, aun si la aplicación es mono usuario, hacerla web te da la
>> ventaja de la posibilidad de escalarla y adaptarla a cualquier necesidad.
>>
>> Por otro lado, estamos hablando de python. Tu puedes usar cualquier
>> combinación de tecnologías y lenguajes de programación, etc. que quieras
>> pero, aunque también lo puedes usar en tu aplicación, NO NECESITAS PHP.
>>
>>
>> Dtb/Gby
>> ==

Re: [Python-es] Orientación para el desarrollo de aplicaciones de escritorio

2016-01-12 Por tema Nekmo
De hacerlo yo, lo haría con Qt, Wx, o probaría Kivy, el cual ya propuse
antes.

Y no, no digo que utilizar Flask sea lo ideal, pero con la poca información
inicial, podría haber sido una opción tan digna como cualquier otra. Aquí
todo el mundo ha propuesto soluciones con la mejor de las intenciones, y
con la información que había, si el compañero hubiese tenido conocimientos
de desarrollo web, habría sido una buena opción.


Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com

El 13 de enero de 2016, 1:31, Mario Lacunza <mlacu...@gmail.com> escribió:

> Ya leiste los requerimientos q ha puesto el amigo Jesus? aún piensas q tu
> idea es buena?
>
> Antes q existieran las apps web estuvieron las desktop puras y aún siguen
> y su distribución no es mucho problema, 2 o 3 installers (y luego 1) tipo
> click click q tanto les gustan a los users windows y listo.
>
> Leyendo los requerimientos de Jesús insisto q tu solución no es adecuada.
>
> Saludos / Best regards
>
> Mario Lacunza
> Email:: mlacu...@gmail.com
> Personal Website:: http://www.lacunza.biz/
> Hosting:: http://mlv-host.com/
> Mascotas Perdidas:: http://mascotas-perdidas.com/
> Skype: mlacunzav
>
> Lima - Peru
>
> El 12 de enero de 2016, 19:11, Nekmo <conta...@nekmo.com> escribió:
>
>>  @Mario Lacunza, Flask consume muy poquitos recursos, como 8-12MiB de
>> RAM, y aunque modesto, su servidor web se porta realmente bien si no
>> hablamos de grandes cantidades de usuarios.
>>
>> Si hablamos de desarrollar para un solo usuario, al ser una "aplicación
>> de escritorio", te sirve y te sobra.
>>
>> ¿En qué casos he usado yo Flask para propósitos como este?
>> 1. Un daemon en Python que requiere una interfaz de configuración. Al
>> tener una interfaz web, permite su fácil configuración desde otra máquina.
>> 2. Una aplicación de servidor que, al no poder contar con interfaz GUI
>> convencional, se ha desarrollado vía web.
>>
>> Son casos sencillos y que no requieren de algo grande, ni van a atender
>> muchas peticiones. Prefiero evitarme los problemas de una configuración
>> compleja si puedo tenerlo todo en uno. Y en el caso de una aplicación de
>> escritorio, es básico su facilidad de distribución.
>>
>> En ocasiones nos empeñamos en matar moscas a cañonazos, cuando una
>> solución así es mucho más simple, fácil de desarrollar, mantener, instalar,
>> y no requiere de múltiples servicios corriendo (Gunicorn + Nginx + ...).
>>
>>
>> Un cordial saludo:
>> -- Nekmo.
>>
>> Sitio web: http://nekmo.com
>> Dirección de contacto: conta...@nekmo.com
>> XMPP/Jabber: conta...@nekmo.com
>> Google+: Nekmo Com
>>
>> El 13 de enero de 2016, 0:50, Mario Lacunza <mlacu...@gmail.com>
>> escribió:
>>
>>> Vivo en el mismo mundo q tu, y no todo se debe o puede hacerse en web ya
>>> q todo depende de los requerimientos para modelar una solución ofimática.
>>> En este caso el amigo sólo pidió "aplicación de escritorio" sin más. Por
>>> eso muchos entendemos una app tradicional no web, claro q ahora el modelo
>>> web también es posible como mencionan.
>>>
>>> Sin embargo al amigo q le contesté x su solución en la q el mismo se
>>> contradice sobre su eficiencia y modelado, agregando mas librerías a cada
>>> respuesta (lo cual sabemos q significa) no era algo óptimo.
>>>
>>> Y recuerda q no TODO es web sino sistemas como SAP y un largo etc no
>>> existirían y M$ (léase Microsoft) no seguiría dando soporte a lenguajes de
>>> programación que puedan crear sistemas desktop tradicionales y sus
>>> librerías de controles, dlls, etc.
>>>
>>> Y en el mundo donde vivimos no todos pueden comprarse un CoreI7 + 16GB
>>> de RAM con lo último, tengo muchos q aun tienen PCs viejas Core2Duo y una
>>> de ellas funge de servidor de datos y creo q es la realidad de muchos
>>> países.
>>>
>>> Escalabilidad: eso depende de COMO diseñes tu sistema y nada más.
>>>
>>> En web es mejor la instalación de upgrades ya q no tienes q ir de
>>> cliente en cliente instalando los exe, deb o bin nuevos, sólo haces el
>>> deploy en el server y listo.
>>>
>>> Al final la solución que se ofrezca se dará según requerimientos y con
>>> lo q tenga el user de fierro, lo q recomendé es lo más sencillo de instalar
>>> y usar para una app desktop tradicional, punto el resto son gustos y sobre
>>> eso no han escrito los autores.
>>>
>>&g

Re: [Python-es] Tutorial pytnon curses

2015-08-31 Por tema Nekmo
Virtualenvwrapper.

Te facilita el trabajo con Virtualenv :P

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 1 de septiembre de 2015, 1:05, Carlos Zuniga
<carlos@gmail.com> escribió:
> 2015-08-31 17:25 GMT-05:00 RadicalEd <willian.radica...@gmail.com>:
>> La vaina es que no quiero instalar librerias extras porque sería para una
>> aplicación en la empresa y no puedo meterle tanto la mano a los servidores
>>
>
> virtualenv
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] ¿Código de python que merece ser estudiado?

2015-08-02 Por tema Nekmo
El código de Django es bastante claro, fácil de entender y
documentado, además de aprovechar ciertas características del lenguaje
que lo hace merecedor de su estudio para aprender.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 3 de agosto de 2015, 5:01, AGTUGO agt...@gmail.com escribió:
 Les pido compartir aquel proyecto donde hayan visto un código python que
 merece la pena ser estudiado:

 -Por su belleza, simplicidad.
 -Por el conocimiento que adquieres después de estudiarlo.
 -Por lo bien comentado que esta.


 Saludos.


 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Instalar datos con setup.py

2015-05-12 Por tema Nekmo
Según he entendido, quieres crear directorios/archivos de
configuración con el instalador.

Bien, para mí, eso es una mala idea, porque todo lo que se encuentra
en la HOME, es susceptible de ser borrado (para reiniciar la
configuración), además de que limita tu programa a los usuarios que
hubiesen cuando se instaló el programa.

Lo más normal, sería que se comprobase que dicho directorio/archivo
existe con cada inicio del programa, y si no existen crearlos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Google+: Nekmo Com


El día 12 de mayo de 2015, 13:15, Ezequiel ezecasti...@gmail.com escribió:
 Hola!

 Para instalar de manera local (por defecto utiliza el directorio
 ~/.local/lib/pythonX.Y/) podés hacer:

 python setup.py install --user

 Para más información:

 python setup.py -h

 Saludos!
 Saludos!

 El may 12, 2015 7:44 AM, Marcos Chavarría Teijeiro
 chavarria1...@gmail.com escribió:

 Hola!

 Estoy construyendo un programa para analizar los resultados de una
 batería de tests (en concreto de WebKitGTK). Esta batería de test
 proporciona un fichero json por cada ejecución. Mi programa debe
 guardar estos ficheros en un directorio para analizarlos
 posteriormente y conseguir, por ejemplo, desde cuando un test está
 fallando. Para agilizar el inicio del trabajo el programa guarda en
 propio repositorio una gran cantidad de estos resultados de forma que
 el usuario no tenga que descargarlos todos al inicio solo los nuevos.

 Me gustaría copiar dichos ficheros a otro directorio del sistema en
 concreto ~/.jsonresults usando el script de instalación. He
 intentado usar la keyword data_files sin demasiado éxito. El problema
 es que para instalar el programa se tiene que ejecutar como sudo por
 lo que en vez de instalarlos en mi home lo hace en el de root.

 Seguro que es un problema recurrente y probablemente bastante
 trivial pero no se me ha ocurrido ninguna solución :(.

 Alguna idea??

 Un saludo,
 Marcos Chavarría.
 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Fwd: Queda inaugurada la lista Python España

2012-11-27 Por tema Nekmo
Si hay más gente por Málaga y queréis salir a tomar unas birras, aquí
tenéis a un servidor o/

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com


El día 26 de noviembre de 2012 22:45, Juan Luis Cano Rodríguez
juanlu...@gmail.com escribió:
 -- Forwarded message --
 From: Juan Luis Cano juanlu...@gmail.com
 Date: 2012/11/26
 Subject: Queda inaugurada la lista Python España
 To: python-sp...@googlegroups.com


 Hola a todos, este es el primer mensaje de la lista Python España. Yo soy
 Juan Luis Cano (dando la vara en @Pybonacci), soy estudiante de Ingeniería
 Aeronáutica en Madrid (actualmente residiendo en Milán) y espero que esto
 sea el comienzo de algo grande :)

 Propongo que utilicemos esta lista para hablar sobre reuniones de grupos
 locales para saber qué hace otra gente en otras partes de España, organizar
 la PyConES (que es la empresa importante que tenemos entre manos) y
 cualquier cosa que consideréis de interés para los demás (aunque para dudas
 sobre código mejor usar Python Hispano o Python Majibu).

 Un saludo a todos,

 Juan Luis Cano

 --




 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Lanzamiento del Proyecto Sboty

2012-07-17 Por tema Nekmo
Probé con Sphinx en su momento, pero los resultados eran totalmente
aleatorios. En mi caso, la idea era reconocer la palabra dicha en un
conjunto limitado de palabras, lo cual lograba limitando el
diccionario a dichas palabras. Pero los resultados no eran buenos.
Pero claro, hablo de hace años, tal vez lo hayan solucionado :)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com


El día 17 de julio de 2012 02:06, Alfonso de la Guarda
alfons...@gmail.com escribió:
 Hola,

 Estamos trabajando con 
 http://cmusphinx.sourceforge.net/sphinx4/#what_is_sphinx4


 Saludos,

 
 Alfonso de la Guarda
 Twitter: @alfonsodg
 Redes sociales: alfonsodg
Telef. 991935157
 1024D/B23B24A4
 5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4


 2012/7/16 Nekmo conta...@nekmo.com:
 ¿qué habéis usado para el STT? Investigué hace tiempo sobre el tema,
 pero en español los bancos de voz estaban muy verdes...

 Un cordial saludo:
 -- Nekmo.

 Sitio web: http://nekmo.com
 Dirección de contacto: conta...@nekmo.com
 XMPP/Jabber: conta...@nekmo.com
 Identi.ca: http://identi.ca/nekmo
 Diaspora: Nekmo
 Google+: Nekmo Com


 El día 16 de julio de 2012 17:32, Alfonso de la Guarda
 alfons...@gmail.com escribió:
 Hola,

 Luego de varias coordinaciones con diversas organizaciones e
 instituciones, lanzamos el proyecto SBOTY, robot de mensajería con
 soporte de inteligencia artificial mediante AIML.  Las versiones de
 las organizaciones gubernamentales que han mejorado el proyecto
 incluyen soporte de webservices y próximamente voz a texto (para, por
 ejemplo, emplearlo en una central telefónica), aunque esto estará
 sujeto a los tiempos en que los equipos de desarrollo de dichas
 instituciones decidan publicarlo (lo que deben hacer puesto que la
 licencia es la GPL v3).

 La solución es el core de diversas versiones que aparecerán en breve,
 específicamente para atención al ciudadano, seguridad social y salud.
 Pueden adaptarlo, también, para soporte de otros servicios
 (actualmente brinda soporte google talk / google apps / msn
 messenger-live) debido a que integra xmpp como protocolo de
 comunicaciones

 Pueden acceder al código fuente y customizarlo para sus necesidades
 empresariales, gubernamentales o sin fines de lucro en:

 https://github.com/alfonsodg/sboty
 https://bitbucket.org/alfonsodg/sboty/

 Adicionalmente, pueden acceder al demo agregando: d...@ictec.biz a sus
 clientes de mensajería, comienzen a preguntarle y él les responderá.

 El producto ya está en producción más de un año, así que no debería
 haber problema con su funcionamiento, actualmente estamos trabajando
 para integrar voz/texto/voz de tal manera que automatiza los servicios
 telefónicos, quioscos, cajeros, etc.




 Saludos,

 
 Alfonso de la Guarda
 Twitter: @alfonsodg
 Redes sociales: alfonsodg
Telef. 991935157
 1024D/B23B24A4
 5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Lanzamiento del Proyecto Sboty

2012-07-16 Por tema Nekmo
¿qué habéis usado para el STT? Investigué hace tiempo sobre el tema,
pero en español los bancos de voz estaban muy verdes...

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com


El día 16 de julio de 2012 17:32, Alfonso de la Guarda
alfons...@gmail.com escribió:
 Hola,

 Luego de varias coordinaciones con diversas organizaciones e
 instituciones, lanzamos el proyecto SBOTY, robot de mensajería con
 soporte de inteligencia artificial mediante AIML.  Las versiones de
 las organizaciones gubernamentales que han mejorado el proyecto
 incluyen soporte de webservices y próximamente voz a texto (para, por
 ejemplo, emplearlo en una central telefónica), aunque esto estará
 sujeto a los tiempos en que los equipos de desarrollo de dichas
 instituciones decidan publicarlo (lo que deben hacer puesto que la
 licencia es la GPL v3).

 La solución es el core de diversas versiones que aparecerán en breve,
 específicamente para atención al ciudadano, seguridad social y salud.
 Pueden adaptarlo, también, para soporte de otros servicios
 (actualmente brinda soporte google talk / google apps / msn
 messenger-live) debido a que integra xmpp como protocolo de
 comunicaciones

 Pueden acceder al código fuente y customizarlo para sus necesidades
 empresariales, gubernamentales o sin fines de lucro en:

 https://github.com/alfonsodg/sboty
 https://bitbucket.org/alfonsodg/sboty/

 Adicionalmente, pueden acceder al demo agregando: d...@ictec.biz a sus
 clientes de mensajería, comienzen a preguntarle y él les responderá.

 El producto ya está en producción más de un año, así que no debería
 haber problema con su funcionamiento, actualmente estamos trabajando
 para integrar voz/texto/voz de tal manera que automatiza los servicios
 telefónicos, quioscos, cajeros, etc.




 Saludos,

 
 Alfonso de la Guarda
 Twitter: @alfonsodg
 Redes sociales: alfonsodg
Telef. 991935157
 1024D/B23B24A4
 5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Recorrer fichero XML con Python

2011-12-20 Por tema Nekmo
Amara no lo conocía, yo el que uso es lxml, que además es compatible
con Python3 (el cual uso mucho).

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 20 de diciembre de 2011 07:15, Luis Miguel Morillas
moril...@gmail.com escribió:
 El 19 de diciembre de 2011 21:56, Carlos Maykel López González
 carlos.lo...@etecsa.cu escribió:

 Hola a todos:
 Les escribo pues me encargaron una aplicación con Python + QT4 y como 
 soporte para los datos XML. la aplicación es para consultar los datos que 
 están en el fichero XML. y leido y visto un sin numero de ejemplos pero no 
 logro concretar la idea de como realizar esta consulta al fichero. aquí les 
 envió un fragmento de mi xml.


 Necesitas un parser de xml [1]  Yo uso Amara [2] por su eficiencia y
 porque genera una estructura de objetos python a partir de un doc xml.
 Según lo que tengas que hacer (extracción de datos, validación,
 proceso xslt, ...) tendrás que elegir uno u otro.


 [1] http://wiki.python.org/moin/PythonXml
 [2] http://wiki.xml3k.org/Amara


 -- lm



 ROW
   UNIDAD_NEGOCIO33/UNIDAD_NEGOCIO
   FILIAL12/FILIAL
   UNIDAD_BASICA1212/UNIDAD_BASICA
   CICLOR5/CICLO
   OFICINA662/OFICINA
   SECTORPT/SECTOR
   ESTADOA/ESTADO
   AGRUPACION12100053785/AGRUPACION
   CUENTA/
   NO_FACTURA1662CDEDSI/NO_FACTURA
   NOMBREMaria Perez Perez/NOMBRE
   SERVICIO/SERVICIO
   ACTIVOA/ACTIVO
   COD_MONEDACUP/COD_MONEDA
   CUOTA6.25/CUOTA
   LDN15.45/LDN
   LDI0.00/LDI
   LOCAL0.00/LOCAL
   OTROS0.00/OTROS
   IMPUESTO0.00/IMPUESTO
   COMISION0.00/COMISION
   FACTURADO21.70/FACTURADO
   ATRASOS/
   TOTAL21.70/TOTAL
  /ROW
  ROW
   UNIDAD_NEGOCIO33/UNIDAD_NEGOCIO
   FILIAL12/FILIAL
   UNIDAD_BASICA1212/UNIDAD_BASICA
   CICLOR5/CICLO
   OFICINA662/OFICINA
   SECTORPT/SECTOR
   ESTADOA/ESTADO
   AGRUPACION1200111004550/AGRUPACION
   CUENTA492175/CUENTA
   NO_FACTURA16DD2CD0FY1/NO_FACTURA
   NOMBRERoberto Lopez Regueiro/NOMBRE
   SERVICIO/SERVICIO
   ACTIVOA/ACTIVO
   COD_MONEDACUP/COD_MONEDA
   CUOTA7.25/CUOTA
   LDN5.85/LDN
   LDI0.00/LDI
   LOCAL0.00/LOCAL
   OTROS8.00/OTROS
   IMPUESTO0.00/IMPUESTO
   COMISION0.00/COMISION
   FACTURADO21.10/FACTURADO
   ATRASOS/
   TOTAL21.10/TOTAL
  /ROW
 --

 ---
 This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running 
 at host imx3.etecsa.cu
 Visit our web-site: http://www.kaspersky.com, http://www.viruslist.com

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Deshabilitir directory listing en el servidor web SimpleHTTPServer

2011-10-13 Por tema Nekmo
¿por qué no iba a ser una buena solución? No obstante, te aviso de que
SimpleHTTPServer no es multi-thread, sólo es útil para tests o
compartir algo con otra máquina.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 14 de octubre de 2011 01:08, Jose Caballero
jcaballero@gmail.com escribió:

 Hola,


 Estoy intentando averiguar como eliminar el listado automático de directorios 
 cuando no hay un index.htm[l] en el servidor web de python.
 La documentación dice que en ese caso se hace una llamada a list_directory(), 
 pero no encuentro ese método en la lista de la web oficial.
 Había pensado en heredar SimpleHTTPServer y sobreescribir list_server() para 
 que no haga nada.
 ¿sabe alguien de una idea mejor?


 Muchas gracias,
 Jose

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] estructura de datos, duda existencial

2011-09-22 Por tema Nekmo
Me gusta el tema :D Me apunto lo de shelve... una solución que utilizo
yo, es guardar la información en un archivo json, que aunque no es tan
eficiente, te permite mantener la mayoría de los tipos de Python,
incluyendo diccionarios, listados, etc. Con recursividad incluso :D

Saludos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 22 de septiembre de 2011 07:38, Francesc Alted
fal...@pytables.org escribió:
 Hola Miguel,

 2011/9/22 Miguel Barraza cor...@miguelbarraza.com.ar:
 hola!, ya arrancamos con mis dudas existenciales, jaja.
 según las experiencias de ustedes, cual es la mejor forma de almacenar
 datos?: xml, yamx, json, sql, o archivos.py?.
 les comento, para practicar estoy diseñando un juego (por simple gusto no
 mas) y quiero poner objetos que se puedan interactuar, cada objeto tiene sus
 propiedades, y quería diseñar una clase que tome los datos de ese objeto,
 cantidad de objetos?, no se, inicialmente pocos pero luego seguir ampliando
 deapoco, así que quiero generar un estandar para que sea facil agregar
 nuevos. por eso mi duda, necesito guardar propiedades de ese objeto en un
 lado, cual es la mejor forma utilizando: xml, yamx, sql, o poniendo
 directamente variables en archivos.py, cual es la forma mas rápida de
 capturar esos datos para procesarlos?.

 Pues es una buena pregunta, ya que las maneras para serializar datos
 son prácticamente infinitas. Para cosas sencillas, yo te recomendaria
 pickle, que te permite serializar prácticamente cualquier estructura
 de Python de una manera muy eficiente (acuérdate de usar siempre el
 parámetro pickle.HIGHEST_PROTOCOL).

 Cuando quieres serializar muchas variables de una tacada, lo mejor es
 que crees un diccionario y pongas todas tus variables allí.  Después
 ya puedes 'picklear' el diccionario entero.

 Finalmente, si realmente quieres guardar un montón de pickles, y no
 quieres tener que deserializar todo el fichero (o stream) cada vez, el
 módulo shelve es muy útil.  shelve se comporta básicamente como un
 diccionario, pero basado en disco: cada vez que accedes a una entrada,
 se recupera sólo esa información y se deserializa al vuelo, de manera
 que recuperas el objeto inicial de manera muy sencilla (y eficiente).

 Espero sea de ayuda.  Ánimo y adelante!

 --
 Francesc Alted
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Hackear objeto list

2011-09-17 Por tema Nekmo
Para este tipo de cosas está la clase UserList:
http://docs.python.org/library/userdict.html?highlight=userlist#UserList.UserList

La cual para compatibilidad con Python 3.x, yo importo así:
import sys
if sys.version_info  (3,0):
from UserDict import UserDict
from UserList import UserList
else:
from collections import UserDict, UserList

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 17 de septiembre de 2011 21:48, Jose Caballero
jcaballero@gmail.com escribió:


 El 17 de septiembre de 2011 14:47, Oswaldo lis...@soft-com.es escribió:

 El 17/09/2011 20:20, Jose Caballero escribió:


 El 17 de septiembre de 2011 06:19, Oswaldo lis...@soft-com.es
 mailto:lis...@soft-com.es escribió:

    Hola,

    Tengo un objeto 'list' que es creado por una librería externa sobre
    el que me gustaría modificar el método 'append'.




 class List(list):
         def append(self, value):
                 super(List, self).append(value)
                 print 'append ', value



 Gracias por responder, pero como ya comentaba esta solución no me vale ya
 que al intentar sustituir la lista original con una instancia de esta clase
 genera un error:

 L = List()
  libr.lista = L
 Traceback (most recent call last):
  File input, line 1, in module
 TypeError: readonly attribute




 quizas si nos muestras el codigo de libr podemos ayudar mejor.
 Tienes sobreescrito __setattr__?

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] ¿Como cierro correctamente un hilo-servidor de sockets?

2011-08-26 Por tema Nekmo
La mejor solución a mi parecer, es modificar el timeout. A parte, si
usáis TCP, a veces solo queda esperar a que se libere... es el
problema de dicho protocolo :P

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 26 de agosto de 2011 21:53, gerardo Juarez
gerardojua...@buyteknet.info escribió:
 Efectivamente Sergio, es el mismo comportamiento que yo he observado: la
 aplicación cierra el socket, termina y aún así, pasan algunos segundos
 para que el puerto quede disponible nuevamente. No me parece que sea un
 problema directamente atribuible a tu aplicación, sino más bien a la
 forma en que el sistema libera -o registra- que los puertos han sido
 liberados. Habría que informarse cómo está implementada la función
 'restart' de los servicios de Linux, por ejemplo, porque allí terminan
 un servicio y lo reinician tan pronto como es posible. De qué modo
 averiguan que ya está disponible el puerto?

 Sergio Martín wrote:

 Pero al cerrar el socket del servidor (como comento en mi segundo mensaje)
 ¿no debería liberarse el puerto?
 Por otro lado ¿como puedo cerrar el hilo si lo tengo en espera de un
 cliente? ¿Hay alguna otra forma aparte de salir del bucle infinito que
 tengo?

 El 26 de agosto de 2011 15:10, chakalinux chakali...@gmail.com
 mailto:chakali...@gmail.com escribió:

    En la interrupcion KeyboardInterrupt tienes que cerrar los hilos
    para que no se te quede el mismo en CLOSE_WAIT que en ciertos
    casos puede durar bastante en liberarse.

    De todas maneras yo te recomiendo que uses la librería select o
    asyncore para manejar socket's, intenta evitar cuando puedas
    sockets y threading

    El 26 de agosto de 2011 02:21, Sergio Martín
    sergiomart...@gmail.com mailto:sergiomart...@gmail.com escribió:

        Comentar que aunque añada la línea:
           self.socketserver.close()
        en el método close() de la clase TelnetServer el resultado es
        el mismo.

        El día 26 de agosto de 2011 02:17, Sergio Martín
        sergiomart...@gmail.com mailto:sergiomart...@gmail.com
        escribió:
         Tengo un script en el que, primero, ejecuto un servidor de
        sockets en
         un hilo, y cada conexión que reciba, genera su propio hilo.
         El problema viene cuando intento salirme del programa
        mediante una
         excepción KeyboardInterrupt controlada, funciona bien si no
        ha habido
         ninguna conexión al socket-servidor, pero si me salgo del
        programa una
         vez que he recibido alguna conexión, y, a continuación
        ejecuto el
         programa de nuevo, me sale un socket.error: [Errno 48] Address
         already in use, como si no hubiese cerrado el socket del
        servidor
         correctamente, teniéndome que esperar un rato hasta que se
        libere el
         puerto.
         Tengo controladas dos situaciones una que desde el cliente
        telnet se
         pase el comando quit, con lo que cierro el socket del
        cliente, y
         otra cuando se pierde la conexión con el cliente sin
        introducir el
         comando quit
         El error solo me lo lanza cuando he salido por medio del quit.
        
         Aviso que está escrito en python3, y se que hay mejores
        formas de
         hacer esto en vez de usar hilos, como el módulo twisted (sin
         compatibilidad python3) o el asyncore, pero solo tengo planeado
         recibir un par de conexiones simultáneas por lo que no se
        generarán
         muchos hilos.
        
         Pongo una versión simplificada del programa, con solo lo
        básico para
         ilustrar el problema:
        
         #! /usr/bin/env python3
        
         import threading
         import socket
         import sys
         import time
        
         class TelnetServer(threading.Thread):
        
            def __init__(self):
                threading.Thread.__init__(self)
                self.socketserver = socket.socket()
                self.socketserver.bind(('', ))
                self.socketserver.listen(5)
        
            def run(self):
                print('Servidor en marcha')
                while True:
                    socketclient, addr = self.socketserver.accept()
                    client = TelnetClient(socketclient, addr)
                    client.start()
        
            def close(self):
                print('Servidor detenido')
        
         class TelnetClient(threading.Thread):
        
            def __init__(self, socketclient, addr):
                threading.Thread.__init__(self)
                self.socketclient = socketclient
                self.addr = addr
        
            def run(self):
                print('Conexión: %s:%s' % (self.addr[0], self.addr[1]))
                while True:
                    try

Re: [Python-es] Cliente HTTP para pruebas de red

2011-07-23 Por tema Nekmo
Puede hacerlo de forma sencilla con urllib, y te recomiendo usar threads.

Saludos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 23 de julio de 2011 07:23, Allan N. Porras
alp...@netsescr.com escribió:
 Me han dicho que para pegar o tostar un web server es enviandole muchos 
 POST. ¿Como puedo hacer eso en Python?

 Necesito pegar un web server (Apache o cualquiera) y medir el desempeño del 
 sistema operativo.

 Gracias a todos por las ideas.

 - Mensaje original -
 De: lasizoillo lasizoi...@gmail.com
 Para: La lista de python en castellano python-es@python.org
 Enviados: Sábado, 16 de Julio 2011 5:39:42
 Asunto: Re: [Python-es] Cliente HTTP para pruebas de red

 El día 16 de julio de 2011 06:24, Allan N. Porras
 alp...@netsescr.com escribió:
 He estado leyendo estas bibliotecas, pero no tengo idea de còmo funciona.

 http://code.google.com/p/httplib2/wiki/Examples

 Ideas??


 Si, mira, esta todo explicado en el siguiente enlace:
 http://www.w3.org/Protocols/rfc2616/rfc2616.txt

 Una vez mirado eso podrás entender cómo funciona httplib2 o incluso
 hacerte tu propia librería a base de sockets.

 Para entender como hacer pruebas para tostar un servidor web antes
 tendrás que saber como está (o puede estar) implementado el server. A
 veces la mejor forma de dejarlo ko no es enviar muchas peticiones muy
 rápidas:
 http://en.wikipedia.org/wiki/Slowloris

 Si sabes como funcionan los buffers tcp, el manejador de eventos de
 red, que partes se tratan en modo kernel o en modo usuario, la
 implementación de la multitarea (procesos, hilos, eventos), ... es más
 fácil hacer algo para tostar el sistema.

 Saludos:

 Javi
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Reunión día 12 de Mayo de python-madrid

2011-05-11 Por tema Nekmo
Me va a ser imposible ir por la distancia, y porque hoy tengo cosas
que hacer... aunque espero que os podáis reunir mucho, y sobre todo
que os lo paséis bien ;-)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 12 de mayo de 2011 03:54, Jesus Cea j...@jcea.es escribió:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Pablo Lobariñas está pachuchillo y no podrá asistir mañana, así que
 mando este mensaje en su lugar.

 Convocatoria de la reunión mensual de Mayo de python-madrid:

 Día: 12 de Mayo
 Hora: 20:00
 Lugar:  o2c. Calle orellana 1, 1ºD. Metro Alonso Martinez.

 Charlas:

 * David: Simulador de lentes gravitacionales.
 * Segunda charla a decidir entre
  * Jesús Cea: Persistencia con Durus
  * Jesús Espino: Introducción a GTK para Python
  * Evolución del grupo y posibilidades de hosting de audio y video,
    local permanente, etc.

 David grabará el audio de la sesión. Kiko posiblemente no esté para
 grabar el video, así que si algún otro asistente puede ocuparse de ello,
 perfecto.

 Publico esta notificación en las listas de correo python-madrid,
 python-es y en el twitter @python_madrid.

 PS: Yo intentaré asistir, pero no es seguro que pueda. Si me retraso,
 empezad sin mí.

 - --
 Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
 j...@jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
 jabber / xmpp:j...@jabber.org         _/_/    _/_/          _/_/_/_/_/
 .                              _/_/  _/_/    _/_/          _/_/  _/_/
 Things are not so easy      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
 My name is Dump, Core Dump   _/_/_/        _/_/_/      _/_/  _/_/
 El amor es poner tu felicidad en la felicidad de otro - Leibniz
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iQCVAwUBTcs9xZlgi5GaxT1NAQIkPAP9Eok822Rx8pnDjayi5LPWoK1UFIieLoQ6
 Z4wrdXTHTmXSU9JnW0PkRvUdTd2Ep/qKwipaRUIleOVQKSwbMqi5+57LmofQQvS1
 67EjsK4wsa1L036P7VypUxQLOtTbDJMt6647jzuUG0NY9Po70DzGjU89r6rnvoBK
 jxOOeQ+tyDI=
 =sWmw
 -END PGP SIGNATURE-
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Recarga de los archivos fuente

2011-05-04 Por tema Nekmo
En Python3 (que es lo que él usa) ahora reload se encuentra en el módulo imp.

http://docs.python.org/release/3.0.1/whatsnew/3.0.html
http://docs.python.org/release/3.0.1/library/imp.html#imp.reload

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 4 de mayo de 2011 15:34, Francisco Javier Cuadrado
fcocuadr...@gmail.com escribió:
 El día 4 de mayo de 2011 15:33, Francisco Javier Cuadrado
 fcocuadr...@gmail.com escribió:
 El día 4 de mayo de 2011 15:12, Douglas Jiménez doug...@gmail.com escribió:
 ¡Hola a tod@s!

 Estoy llevando mi labor de principiante de la siguiente manera: uso gedit
 para editar los programas fuente y los corro desde un terminal linux. Ahora
 bien, he observado que las modificaciones de los programas fuente no los
 reconoce python (3.1) en la misma sesión. Tengo que terminar la sesión y
 volver a ella para que sean tomadas en cuenta.

 Cada vez que modifico escribo import nombre del archivo fuente.

 ¿Alguien sabe por qué sucede esto?


 Porque una vez importas un módulo, éste se queda guardado en memoria
 de modo que aunque hagas otro import no se modificará. Aunque todos
 hemos probado «a mano» alguna vez, lo mejor es que hagas tests
 unitarios o cualquier otro tipo de pruebas automatizadas.


 Se me olvidaba, también puedes ejecutar la función reload (modulo)
 para recargar un módulo ya importado.


 --
 Saludos

 Fran
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Modificando un XML

2011-04-26 Por tema Nekmo
Te recomiendo no parsear XML/XHTML mediante regex, no es una buena idea ;-)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 26 de abril de 2011 13:04, Francisco Rivas
franciscojriv...@gmail.com escribió:
 Hola a todos, perdonen la tardanza he estado fuera estos dias. Feliz
 Pascua!.
 Pues gracias a los comentarios hare pruebas con varias de ellas, pero estoy
 viendo que por ejemplo una expresion regular tambien puede ser muy util sin
 usar ningun modulo adicional.

 lxml esta muy bien. :D

 Muy buen dia.

 2011/4/21 lasizoillo lasizoi...@gmail.com

 El día 21 de abril de 2011 15:16, lopz lowlife...@gmail.com escribió:
 
  El día 20 de abril de 2011 09:37, lasizoillo lasizoi...@gmail.com
  escribió:
 
  Recuerdo que cuando usaba BeautifulSoup, antes de por supuesto pasarme
  a otra librería, tenía la extraña costumbre de leer la documentación:
 
  http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree
 
 
  Solo por curiosidad ¿cuál usas ahora?
  Es que yo me he quedado con BS y al parecer el lxml va bastante fino.
 

 Pues si, uso lxml mayormente. Pero no hay que olvidarse de BS del todo ;-)
 http://lxml.de/elementsoup.html

 Tener xpath y selectores css puede ahorrar mucho tiempo (de
 programador) y lineas de código. Con el iterparse puedes procesar
 ficheros xml de varios gigas a una velocidad equivalente o superior a
 la que se puede conseguir con un parser sax en java (mucho más coñazo
 de hacer y mantener).

 Tanto para webscraping, como para procesar ficheros enormes en xml,
 lxml no defrauda. La unica desventaja es que hay que compilar cosas en
 c, no es pure python.

 Saludos:

 Javi
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Convertir de mutable a inmutable

2011-04-24 Por tema Nekmo
Si usas repr no te va a funcionar. Python no es igual a la sintaxis de
Javascript (la cual es JSON). Por ejemplo, mientras que en JSON tienes
false, true y null, en Python tienes False, True y None, lo cual te
provocará a la hora de trabajar con el pseudo JSON bonitos errores
del tipo False no está definida, además de que como tengas algo que
no sea un string en la key de un diccionario, a la hora de interpretar
el JSON también te petará (en el caso de usar el módulo JSON, te
petará al dumpear xD).

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 23 de abril de 2011 14:24, tny a.por...@gmail.com escribió:
 El lun, 18-04-2011 a las 18:24 +0200, Pepe Aracil escribió:
 Hola Lista.

 Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y
 diccionarios
 que son mutables y por tanto al no  ser hashables no pueden formar parte
 de las keys
 de un diccionario.

 Una idea es pasar todos los objetos mutables (diccionarios y listas) a
 inmutables (tuplas)
 mediante una función recursiva.

 Ejemplo:
 {method:foo, params:[sota,caballo]}   --  ((method,foo),
 (params,(sota,caballo)))
 Este sistema se me antoja algo Gastón en cuanto a ciclos CPU

 El otro método consiste en usar la representación en cadena del objeto
 usando repr(objeto):
 repr({method:foo, params:[sota,caballo]}) - '{method:foo,
 params:[sota,caballo]}'


 ¿Alguna idea más al respecto?

 Gracias.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 Voto por repr

 Y mucho mejor si deribas la clase de los objetos JSON y le añades el
 metodo hash, de modo que te cree el hash de la representación del json


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Convertir de mutable a inmutable

2011-04-24 Por tema Nekmo
Vale, entonces, por lo que entiendo, la idea es comparar si un
diccionario es igual a otro, ¿verdad? En tal caso, habría que tener en
cuenta que el orden de los valores puede cambiar, lo cual es un
problema... :|

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 24 de abril de 2011 13:43, Pepe Aracil p...@diselpro.com escribió:
 Hola Nekmo.

 Creo que me he explicado mal, la idea de usar repr() no es para parsear JSON
 que para eso ya existe el módulo json.
 Mi intención es cachear peticiones JSON/RPC  que se traducen en diccionarios
 python en el lado del server. Para lo cual necesito que estos diccionarios
 puedan formar parte de las keys de un diccionario que contiene los
 resultados cacheados. Para tal fin hay que transformar estos diccionarios en
 objetos inmutables y repr() es una de las opciones, otra podria ser Pickle.

 Si las cadenas json/rpc son muy largas, simpre se pueden acortar en md5:

 jsonObj = { method: echo, params: [Hello JSON-RPC], id: 1}
 result = doJsonMethod(jsonObj)

 hashable = md5.new(cPickle.dumps(jsonObj)).digest()
 cache[hashable] = result

 Salud.


 El 24 de abril de 2011 12:52, Nekmo conta...@nekmo.com escribió:

 Si usas repr no te va a funcionar. Python no es igual a la sintaxis de
 Javascript (la cual es JSON). Por ejemplo, mientras que en JSON tienes
 false, true y null, en Python tienes False, True y None, lo cual te
 provocará a la hora de trabajar con el pseudo JSON bonitos errores
 del tipo False no está definida, además de que como tengas algo que
 no sea un string en la key de un diccionario, a la hora de interpretar
 el JSON también te petará (en el caso de usar el módulo JSON, te
 petará al dumpear xD).

 Un cordial saludo:
 -- Nekmo.

 Sitio web: http://nekmo.com
 Dirección de contacto: conta...@nekmo.com
 XMPP/Jabber: conta...@nekmo.com
 Identi.ca: http://identi.ca/nekmo
 Diaspora: Nekmo



 El día 23 de abril de 2011 14:24, tny a.por...@gmail.com escribió:
  El lun, 18-04-2011 a las 18:24 +0200, Pepe Aracil escribió:
  Hola Lista.
 
  Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y
  diccionarios
  que son mutables y por tanto al no  ser hashables no pueden formar
  parte
  de las keys
  de un diccionario.
 
  Una idea es pasar todos los objetos mutables (diccionarios y listas) a
  inmutables (tuplas)
  mediante una función recursiva.
 
  Ejemplo:
  {method:foo, params:[sota,caballo]}   --  ((method,foo),
  (params,(sota,caballo)))
  Este sistema se me antoja algo Gastón en cuanto a ciclos CPU
 
  El otro método consiste en usar la representación en cadena del objeto
  usando repr(objeto):
  repr({method:foo, params:[sota,caballo]}) -
  '{method:foo,
  params:[sota,caballo]}'
 
 
  ¿Alguna idea más al respecto?
 
  Gracias.
  ___
  Python-es mailing list
  Python-es@python.org
  http://mail.python.org/mailman/listinfo/python-es
  FAQ: http://python-es-faq.wikidot.com/
 
  Voto por repr
 
  Y mucho mejor si deribas la clase de los objetos JSON y le añades el
  metodo hash, de modo que te cree el hash de la representación del json
 
 
  ___
  Python-es mailing list
  Python-es@python.org
  http://mail.python.org/mailman/listinfo/python-es
  FAQ: http://python-es-faq.wikidot.com/
 
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Modificando un XML

2011-04-20 Por tema Nekmo
Te recomiendo echarle un ojo a lxml: http://lxml.de/

tras haber trabajado bastante tiempo en el parseo de XML en Python
para XMPP, mi conclusión es es que con diferencia la mejor solución,
tanto en facilidad de manejo como en rendimiento.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 20 de abril de 2011 15:57, Francisco Rivas
franciscojriv...@gmail.com escribió:
 Gracias a todos por sus respuestas.

 2011/4/20 lasizoillo lasizoi...@gmail.com

 El día 20 de abril de 2011 15:07, Francisco Rivas
 franciscojriv...@gmail.com escribió:
 
 
  2011/4/20 Luis Miguel Morillas moril...@gmail.com
 
  El día 20 de abril de 2011 14:30, Francisco Rivas
  franciscojriv...@gmail.com escribió:
   Hola *,
   Quiero hacer un script para modificar un archivo XML por supuesto
   utilizare
 
  ¿por supuesto?
 
  Si :P
 

 Recuerdo que cuando usaba BeautifulSoup, antes de por supuesto pasarme
 a otra librería, tenía la extraña costumbre de leer la documentación:

 http://www.crummy.com/software/BeautifulSoup/documentation.html#Modifying%20the%20Parse%20Tree

 ¿Tienes algo que no se pueda hacer tal y como indican en la documentación?
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Convertir de mutable a inmutable

2011-04-18 Por tema Nekmo
en JSON las claves de los diccionarios solo pueden ser strings, y al
ser los strings objetos inmutables, no tendrás el problema del que
hablas.

Por cierto, usa el módulo json, eval es completamente inseguro y nada
recomendable.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 18 de abril de 2011 18:24, Pepe Aracil p...@diselpro.com escribió:
 Hola Lista.

 Tengo que cachear objetos JSON, es decir puedo encontrarme con listas y
 diccionarios
 que son mutables y por tanto al no  ser hashables no pueden formar parte
 de las keys
 de un diccionario.

 Una idea es pasar todos los objetos mutables (diccionarios y listas) a
 inmutables (tuplas)
 mediante una función recursiva.

 Ejemplo:
 {method:foo, params:[sota,caballo]}   --  ((method,foo),
 (params,(sota,caballo)))
 Este sistema se me antoja algo Gastón en cuanto a ciclos CPU

 El otro método consiste en usar la representación en cadena del objeto
 usando repr(objeto):
 repr({method:foo, params:[sota,caballo]}) - '{method:foo,
 params:[sota,caballo]}'


 ¿Alguna idea más al respecto?

 Gracias.





 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] CGI - importar clases

2011-04-18 Por tema Nekmo
Lo que ocurre es que hay que seguir la estructura de proyectos de Python ;-)

Si tenemos en nuestro proyecto:

/
/modulo/
/modulo/__init__.py
/modulo/modulo.py
/mi_programa.py
/otro.py

Y estamos importando desde mi_programa.py, el método será el siguiente:
Al hacer from . import modulo, estaremos ejecutando __init__.py de /modulo/
Al hacer from . modulo import modulo, estaremos importando el modulo.py
Al hacer from . import otro, estaremos importando otro.py
Al hacer from . otro import funcion, estaremos importando la función
en concreto de otro.py

Si estamos en modulo.py, al hacer from .. import otro estaremos
importando el de un directorio del nivel inferior en el árbol del
proyecto, es decir, otro.py. Y recordad que para poder importar de
un directorio, este debe tener un __init__.py ;-)

Espero que con estos ejemplos haya quedado claro.

Saludos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 17 de abril de 2011 22:49, Daπid davidmen...@gmail.com escribió:
 En beneficio de la pedagogía, ¿por qué funciona? ¿Qué diferencia
 introduce el punto?

 ¡Gracias!

 2011/4/17 Jesús Genicio jgeni...@gmail.com:
 El día 17 de abril de 2011 04:19, Nekmo conta...@nekmo.com escribió:
 Prueba con lo siguiente y dinos si te funciona:

 from . class_manejo_web import manejo_web
 Perfecto!!!

 Muchas Gracias.


 Un cordial saludo:
 -- Nekmo.

 Sitio web: http://nekmo.com
 Dirección de contacto: conta...@nekmo.com
 XMPP/Jabber: conta...@nekmo.com
 Identi.ca: http://identi.ca/nekmo
 Diaspora: Nekmo



 El día 16 de abril de 2011 20:21, Jesús Genicio jgeni...@gmail.com 
 escribió:
 Hola amigo@s:

 Pregunta de novato :))

 Tengo un programa para ejecutar sobre web, el cual tengo dividido en
 archivos, cada uno con una clase:

 Y al hacer sobre un archivo de prueba ( /var/www/py/prueba.py) esto:

 from class_manejo_web import manejo_web

 estando el archivo class_manejo_web.py en el mismo directorio que 
 prueba.py

 me da este error:

 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Traceback (most
 recent call last):
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]   File
 /var/www/py/liquidacion/prueba.py, line 11, in module
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] from
 class_calculo_prima import calcula_prima
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] ImportError
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] :
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] No module named
 class_calculo_prima
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Premature end of
 script headers: prueba.py

 Está claro que no encuentra el archivo, ¿dónde o de qué manero lo
 tengo que declarar, guardar...?

 S2.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] CGI - importar clases

2011-04-16 Por tema Nekmo
Prueba con lo siguiente y dinos si te funciona:

from . class_manejo_web import manejo_web

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 16 de abril de 2011 20:21, Jesús Genicio jgeni...@gmail.com escribió:
 Hola amigo@s:

 Pregunta de novato :))

 Tengo un programa para ejecutar sobre web, el cual tengo dividido en
 archivos, cada uno con una clase:

 Y al hacer sobre un archivo de prueba ( /var/www/py/prueba.py) esto:

 from class_manejo_web import manejo_web

 estando el archivo class_manejo_web.py en el mismo directorio que prueba.py

 me da este error:

 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Traceback (most
 recent call last):
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]   File
 /var/www/py/liquidacion/prueba.py, line 11, in module
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] from
 class_calculo_prima import calcula_prima
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] ImportError
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] :
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] No module named
 class_calculo_prima
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1]
 [Sat Apr 16 20:20:20 2011] [error] [client 127.0.0.1] Premature end of
 script headers: prueba.py

 Está claro que no encuentra el archivo, ¿dónde o de qué manero lo
 tengo que declarar, guardar...?

 S2.
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Lista de Django en español

2011-04-09 Por tema Nekmo
También hay que tener en cuenta que la comunidad de Django es
muchísimo mayor. Tienes muchas webs de apps Django (con las cuales
montar una web es como jugar a los lego), bastante documentación y
unas bases sólidas. No pretendo hacer spam ni nada parecido... pero es
que si queréis recomendar un framework web en Python, creo que lo
mejor sería recomendar el que tiene mayor soporte. Además, el comienzo
de este hilo era por Django, no sé qué tendrá que ver aquí web2py.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 9 de abril de 2011 21:15, Andrey Antoukh and...@gmail.com escribió:
 Hola Fernando,
 Si habras leido los ultimos tres mensajes, te estas metiendo donde no te 
 llaman!
 Y si pensaras un poquito, verias que tu mensaje esta fuera del tema.

 Te pondre 2 ejemplos:

 Estamos en una conferencia de software libre y viene uno de MS y dice,
 prueba mi Windows 7 aver que tal te parece? Notarias que este
 comentario seria fuera del tema, el tuyo esta enla misma situacion.
 Eso se define como SPAM.

 Si la pregunta fuera algo mas general, sobre plataformas de
 desarrollo, nadie te diria nada, pero es que la pregunta no fue en
 ningun momento dirigida a lo que tu escribiste.

 Y tal como ya han comentado los mensajes anteriores, la comunidad de
 web2py suele ser muy pesada, sin ser arrogante, tu eres un claro
 ejemplo. Y mi critica constructiva fue, en vez de dar tanto spam a
 algo que os gusta tanto, mejorar la documentacion, que creo que es uno
 de los grandes puntos negros de web2py... y no hara falta hacer spam,
 la gente leera y probara y lo usara.

 Yo uso varios fw, y en especial django, y ninguno de esos fw es
 web2py, y la principal razon, no es que sea malo, es que la
 documentacion es horrible.

 Si programara por hobbie, a lo mejor lo probaria, pero no me
 ariesgaria en ningun momento meterme en un proyecto comercial con
 web2py. ¿Por que? Mala documentacion, la poca comunidad que me he
 encontrado solo hace que spamear, en ves de resolver dudas y aportar
 al proyecto. (No digo que todos sean asi, pero es la impresion que da!
 Y es algo a mejorar).

 Solo he mencionado pocos puntos el por que web2py tiene tan mala fama...

 En fin, este mensaje esta fuera de este hilo, asi que disculpen las molestias.
 Un saludo.
 Andrei.

 El día 9 de abril de 2011 18:01, FERNANDO VILLARROEL
 fvillarr...@yahoo.com escribió:
 Hola Andrey.

 Amigo primero que nada bajate de tu limbo y tu arrogancia.

 Tampoco es bueno que hables de Web2py como SPAM ya que hasta donde se esta 
 lista es de discusion del lenguaje Python y ambos Django y Web2py estan 
 escritos en el mismo lenguaje por lo que esta lista tampoco es exclusiva de 
 Django.

 Y por ultimo sabras que el conocimiento es libre.

 Saludos.

 --- On Sat, 4/9/11, Andrey Antoukh and...@gmail.com wrote:

 From: Andrey Antoukh and...@gmail.com
 Subject: Re: [Python-es] Lista de Django en español
 To: La lista de python en castellano python-es@python.org
 Cc: FERNANDO VILLARROEL fvillarr...@yahoo.com
 Date: Saturday, April 9, 2011, 12:23 PM
 El 9 de abril de 2011 16:30, FERNANDO
 VILLARROEL
 fvillarr...@yahoo.com
 escribió:
 
  Hola Carlos.
 
  Por que no le hechas una mirada a Web2py te lo
 recomiendo, la curva de aprendizaje la veo menos pronunciada
 que Django, el soporte y la documentación estan muy buenos
 tambien.
 
  www.web2py.com


 0_o

 Discrepo en absoluto con lo de web2py, la documentacion es
 horriblemente horrible en comparacion a casi cualquier
 fw...,
 Pero mas alla de ello, si te cuesta lleer la doc de django,
 quizas
 deberias primero aprender a leer la doc, o quizas las dos
 cosas... :D

 Disculpen mi arrogancia, pero es que aqui continuamente veo
 spam de
 web2py, y en vez de dar tanto spam, haced algo mas
 oportuno, escribid
 mejor documentacion, y no hara falta hacer spam para que
 alguien lo
 use :D

 Y hablo de spam, por que cada vez que alguien pregunta por
 un fw que
 no sea web2py, siempre hay alguno que mete la nariz donde
 no le
 llaman.

 Andrei.

 
  Saludos.
 
  --- On Fri, 4/8/11, Carlos Herrera Polo carlos.herrerap...@gmail.com
 wrote:
 
  From: Carlos Herrera Polo carlos.herrerap...@gmail.com
  Subject: [Python-es] Lista de Django en español
  To: La lista de python en castellano python-es@python.org
  Date: Friday, April 8, 2011, 5:19 PM
 
  Estimados, disculpen la pregunta, pero estoy desde
 hace unos dias intentando aprender django pero es algo
 complicada la instalacion,
  Si tienen el dato de una lista de usuarios de Django
 para principiantes les agradeceria.
 
  Saludos
 
  -Inline Attachment Follows-
 
  ___
  Python-es mailing list
  Python-es@python.org
  http://mail.python.org/mailman/listinfo/python-es
  FAQ: http://python-es-faq.wikidot.com/
 
  ___
  Python-es mailing list

Re: [Python-es] trabajo con hilos de ejecución

2011-04-08 Por tema Nekmo
Algunos ejemplos:
http://mundogeek.net/archivos/2008/04/18/threads-en-python/
http://www.wellho.net/solutions/python-python-threads-a-first-example.html

Y el manual:
http://docs.python.org/library/threading.html

Tienes que usar el módulo threading (el módulo thread es a bajo
nivel). Esto es lo básico, aunque avisarte que los hilos son todo un
mundo... en Python y en cualquier lenguaje. Seguramente tendrás que
buscar por tu cuenta para casos más complejos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 8 de abril de 2011 17:33, Yixander de la Paz Milán
ydmi...@estudiantes.uci.cu escribió:
 Primeramente decir que soy novato programando en python y quisiera saber como 
 ejecutar varios metodos a la vez, es decir de forma concurrente, los mismo se 
 encuentran en diferentes clases. He estado viendo todo el tema acerca de los 
 hilos, por lo que quisiera que si no fuera molestia me mandaran un ejemplo de 
 como hacer esto...

 saludos
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Copiar varios archivos a carpetas con nombres de los archivos

2011-04-06 Por tema Nekmo
Ummm... y ahora que lo pienso... ¿no sería mejor que integrasen shutil
en el módulo os?

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 5 de abril de 2011 19:47, Daπid davidmen...@gmail.com escribió:
 A lo mejor con la aplicación final no es necesario, pero shutil es,
 además, multiplataforma, por lo que te permitiría correr el mismo
 programa en diversos SO.

 Ya digo, esto depende de la aplicación final. Si es un script de uso
 propio, no supone una ventaja específica; pero si es parte de una
 aplicación mayor que se vaya a distribuir, shutil gana mucho.

 En todo caso, aprender siempre está bien.

 2011/4/5 gerardo Juarez gerardojua...@buyteknet.info:
 La ventaja de shutil es que ya te hace varias cosas automáticamente: copiar
 permisos, fechas, etc. Incluso puedes filtrar los archivos que quieres que
 copie. Yo usaría comandos del sistema si tuviera que hacer algo muy especial
 con cada archivo, porque esta es
 definitivamente la opción más flexible, pero depende de lo que necesites.

 Gerardo

 Félix Palazuelos Pérez wrote:

 Tal vez es más apropiado hacerlo con comandos de sistema.
 

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Podcast Z #2: Animalario con lenguajes dinámicos

2011-03-28 Por tema Nekmo
No tengo nada más que decir a lo que ya han dicho otros: Genial
trabajo, y ánimo para que haya muchos más :-)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 22 de marzo de 2011 02:24, Jesus Cea j...@jcea.es escribió:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Publicidad relevante :)

 http://podcast.jcea.es/podcastz

 - --
 Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
 j...@jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
 jabber / xmpp:j...@jabber.org         _/_/    _/_/          _/_/_/_/_/
 .                              _/_/  _/_/    _/_/          _/_/  _/_/
 Things are not so easy      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
 My name is Dump, Core Dump   _/_/_/        _/_/_/      _/_/  _/_/
 El amor es poner tu felicidad en la felicidad de otro - Leibniz
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iQCVAwUBTYf6WJlgi5GaxT1NAQIYHgP/YCrhOaVwKuVphleoi8HBL7hUMbSq0Amq
 oROsh7JkRwLn3xxCpOVyps6s+tqLYgXhktsJKpne73qMD9NOW1OibgLIysV7W6ym
 rMjZ8kbo+CC50Fsr6ybfJulwopruJtIO6jqnGmLj1MVrE75ICnVijkR+HSMNCXze
 tMi+EreoR5E=
 =F7uw
 -END PGP SIGNATURE-
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Duda filosofica

2011-03-22 Por tema Nekmo
¿Nos preguntas a una lista de Django si usar Django? xD Si te gusta,
úsalo... personalmente, aún veo un poco verde Django, y esto lo digo
como programador en él, y no sé como andarán las cosas por el lado
oscuro... de todas maneras, decir que me las apaño muy bien con lo
que hay, y que el gran número de aplicaciones que hay en Django y
extensiones, te facilita muchísimo el trabajo, sin tener que volver a
inventar la rueda cada vez.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 23 de marzo de 2011 00:48, gabriel costa devgco...@gmail.com escribió:
 Buenas,
 Es la primera vez que escribo en esta lista, espero que no sea la ultima.

 Soy programador web profesional de .NET, y estoy feliz en mi lado. Pero
 desde antes incluso de meterme en el mundo de .NET (6 años llevo),
 ya conocía python y había hecho alguna cosita con el. Ahora, me esta
 saliendo una propuesta para montar una startup, donde vamos a necesitar
 buenos servidores, potencia y escalabilidad, por lo que seguramente montemos
 la startup en la nube, una opción es el Azure de Microsoft, donde haría el
 desarrollo en .NET, pero otra que me esta llamando muchísimo es el App
 Engine de google, sobre Python.
 Y claro, estoy aprendiendo python y django a marchas forzadas, por ahora no
 me cuesta mucho, no lo domino como .NET pero me voy haciendo a ello, pero
 aun tengo el miedo del novato, se que se puede hacer en .NET, se los
 tiempos, se mis tiempos en hacer las cosas, todo esto lo desconozco de
 python, pero se que python es más rápido, conciso y eficaz, por lo que llevo
 varios días dandole vueltas a que hacer y no se..

 Que opinais? os ha pasado algo asi? que me recomendais?

 Saludos




 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] python

2011-03-19 Por tema Nekmo
Mi recomendación es siempre usar los módulos de Core cuando sea
posible para este tipo de cosas. Python es un lenguaje
multiplataforma, y sus aplicaciones también deberían serlo.

Por ejemplo, para borrar un archivo:

os.remove('Archivo desde el directorio raíz del proyecto')

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 19 de marzo de 2011 22:07, José Luis Torre Hernández
joseluistorrehernan...@gmail.com escribió:


 El 19 de marzo de 2011 21:45, Yixander de la Paz Milán
 ydmi...@estudiantes.uci.cu escribió:

 buenas tardes:

 estoy aprendiendo a programar en python y necesito saber si existe alguna
 función que nos brinde el espacio usado por las diferentes particiones,
 espacio usado, disponible, espacio libre, etc.

 gracias
 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 Hola Yixander:

 Puedes importar el  módulo os y luego utilizar el método system
 proporcionando la órden del sistema operativo que proporcione lo que deseas;
 por ej:

 import os

 os.system( 'ls -lR')

 os.system( 'du  -h')

 os.system( 'vi prueba.txt')

 y de este modo puedes acceder a todas las órdenes que te interesen desde tu
 propia aplicación.

 Saludos

 José Luis




 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] parsear HTML

2011-03-02 Por tema Nekmo
Tienes un módulo con Python llamado así, HTMLParser. A mí
personalmente no me gusta demasiado, y no mantiene el árbol como
debería... pero para lo que quieres puede valerte. Hay un módulo que
me encanta (no está en Core) llamado lxml que también soporta HTML. Te
recomiendo echarle un ojo ;-)

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



El día 2 de marzo de 2011 15:23, (P@vel) pdlo...@uci.cu escribió:
 Como puedo de un archivo html cojer todas las etiquetas tr/tr que tengan
 un td/td que se llame cuentos infantiles por ejemplo, y guardar el valor
 que tenga los demas td de ese tr, es decir cojer los valores de todas
 las columnas de esa fila, por ejemplo: cenicienta, 25.00

 tr align=RIGHT bgcolor=#ff
 td nowrap=nowrap align=centerCuentos Infantiles/td
 tdfont color=#008000Cenicienta/font/td
 tdfont color=#00800025.00/font/td
 /tr

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] parsear HTML

2011-03-02 Por tema Nekmo
Yo con lxml suelo usar una funcionalidad que me permite filtrar usando
CSS, lo cual me es una pasada :D Además tienes lxml tanto en Python3
como en 2.x

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: conta...@nekmo.com
XMPP/Jabber: conta...@nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo



2011/3/2 Luis Miguel Morillas moril...@gmail.com:
 El día 2 de marzo de 2011 15:23, (P@vel) pdlo...@uci.cu escribió:
 Como puedo de un archivo html cojer todas las etiquetas tr/tr que tengan
 un td/td que se llame cuentos infantiles por ejemplo, y guardar el valor
 que tenga los demas td de ese tr, es decir cojer los valores de todas
 las columnas de esa fila, por ejemplo: cenicienta, 25.00

 tr align=RIGHT bgcolor=#ff
 td nowrap=nowrap align=centerCuentos Infantiles/td
 tdfont color=#008000Cenicienta/font/td
 tdfont color=#00800025.00/font/td
 /tr


 Yo lo hago así usando una expresión xpath con amara:

 from amara.bindery import html

 doc = html.parse(url_de_la_web)
 cuentos = doc.xml_select(u'//tr[td=Cuentos Infantiles]')

 # nodos html
 for cuento in cuentos:
    cuento.xml_encode()

 # sólo contenido
 for cuento in cuentos:
    for datos in cuento.xml_children:
        print datos,


 Si quieres probar amara sin instalar, he creado un amaraPortable para
 windows: 
 https://bitbucket.org/lmorillas/amaraportable/downloads/AmaraPortable.exe


 Saludos,

 -- luismiguel

 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/


 ___
 Python-es mailing list
 Python-es@python.org
 http://mail.python.org/mailman/listinfo/python-es
 FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/