Re: [Python-es] CARACTERES ESPECIALES

2020-05-12 Por tema Carlos Zuniga
On Wed, Apr 15, 2020 at 7:51 AM Gonzalo V  wrote:
>
> Buenos días muchach@s:
> Quería solicitarles una guía,  Hay alguna forma de crear un caracter especial 
> en python?, hay alguna librería para eso?. Tengo que hacer una especie de 
> arroba con otra letra dentro.
> muchísimas gracias y encerrados vencemos al coronavirus.
>

Depende de a que te refieres. Tienes que imprimir un caracter que ya
existe en unicode? Pues, los scripts en python son utf-8 y las cadenas
en python3 son unicode, así que puedes hacer esto:

print('')

Y si no quieres poner el caracter directamente:

print('\u1f600')

Siempre y cuando tu terminal pueda mostrar esos caracteres,
funcionará. Unicode tiene letras dentro de circulos
(https://en.wikipedia.org/wiki/Enclosed_Alphanumerics). Tal vez ya
tiene la que necesitas.

Ahora, si te refieres a crear tu propio caracter y que sea parte de
unicode, aquí esta la historia de como unos tipos de HackerNews
hicieron la propuesta para añadir algunos caracteres que no existian:


http://unicodepowersymbol.com/we-did-it-how-a-comment-on-hackernews-lead-to-4-%C2%BD-new-unicode-characters/

Eso muestra que no es imposible, si es que hay una razón buena para
añadirlo. En el artículo ponen una guía de como hacer la propuesta.

Y si te refieres a crear una tipografía con un caracter específico en
ella y luego utilizarla puedes usar algo como FontForge
(https://fontforge.org/), la dibujas en el lugar que ocupa la 'a' por
ejemplo, y cuando utilizas esa tipografía, cuando escribes 'a' se
muestra tu caracter.

Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] IDEs que corran bloques de guión

2020-05-12 Por tema Carlos Zuniga
On Tue, May 12, 2020 at 9:21 AM Darío vía Python-es
 wrote:
>
> Hola
>
>
> Nunca he usado ese IDE q mencionas pero sí Eclipse y su depurador es de lo 
> mejor, podrías explicar q hace de especial spyder?
>
> Lo que hace es ejecutar simplemente un bloque del guión y no todo el guión 
> completo, a mí me es particularmente util para ir verificando errores. Al 
> igual que Jupiter sin necesidad de seleccionar el código a ejecutar (como 
> sucede con RStudio) con una simple combinación de tecla (no recuerdo si era 
> F9 solamente) ejecuta ese bloque. También genera los bloques con una 
> combinación mostrando en el código algo así:
> ###
> # In[]
> ###
> y todo lo que esté debajo de eso se ejecuta, habiendo claro antes cargado los 
> módulos necesarios que quedan guardados en la consola IPython la primera vez 
> que se ejecutó sin volver a cargarlos nuevamente.
>
> Eclipse también lo usé y es muy bueno, si tuviera esa opción elegiría Eclipse.
> Creo que voy a seguir con Geany aunque no encontré la manera de que me 
> muestra los gráficos hechos con matplotlib, y alternando con gedit que tiene 
> una consola python y consola bash.
>

Ese bloque de código que seleccionas para ejecutar, es código temporal
o es parte de tu aplicación? No entiendo como puedes seleccionar un
bloque de la aplicación y ejecutarlo si es que probablemente necesita
valores que vienen de otros lados. Si es código temporal,
probablemente te sea mas provechoso ponerlo en un test unitario.

Por otro lado, si estas solamente aprendiendo y ese código no depende
de otro, tal vez te convenga mejor utilizar jupyter notebooks.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Control de tiempo entre conmutaciones de 0 y 1

2017-03-21 Por tema Carlos Zuniga
2017-03-20 23:05 GMT-05:00 Rolando Paz :
> Hola a todos de nuevo...
>
> Ahora regreso con un pequeño código:
>
> import time
>
> start_time = time.time()
> #tiempo total en segundos, como ejemplo 10.
> tiempo_total = 10
> #numero de conmutaciones generadas, como ejemplo 4.
> conmutaciones = 4
> for offset in range(tiempo_total):
> while (time.time() - start_time) < offset:
> time.sleep(0.01)
> #lo siguiente realiza una conmutacion entre 0 y 1.
> count = 0
> for i in range(conmutaciones):
> count = (count + 1) % 2
>  print count
>
> Lo que hace este código es conmutar entre 0 y 1, tantas veces como se defina
> en "conmutaciones", durante el tiempo establecido en "tiempo_total".
>
> La salida es la siguiente.
>
> 0
> 1
> 0
> 1
>
> Estoy tratando de entender cómo usar este código para controlar los tiempos
> que se definen en la imagen adjunta, es decir:
>
> T1 = tiempo durante el cual la conmutacion es 1
> T0 = tiempo durante el cual la conmutacion es 0
> Tiempo Total = tiempo total de las conmutaciones
>
> Agradecería cualquier comentario sobre como poder controlar los tiempos
> anteriores.
>

Tu intención es que espere un tiempo tras cada print de 0 o 1? o que
imprima 0/1 4 veces y luego esperar?

import time
from itertools import cycle
conmutador = cycle((0,1))

tiempo_total = 10
conmutaciones = 4

start = time.time()
end = start + tiempo_total
time_per_pulse = tiempo_total / conmutaciones
while end > time.time():
pulse_start = time.time()
print(next(conmutador))
pulse_end = time.time()
time.sleep(time_per_pulse - (pulse_end - pulse_start))


Ahora, time.sleep no es exacto, el tiempo va a ser normalmente mayor
al que especificas, depende del sistema. También hay
threading.Event.wait que puede ser más exacto.


Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Plugins

2016-09-24 Por tema Carlos Zuniga
2016-09-22 15:59 GMT-05:00 Mario Lacunza :
> gracias por responder! osea no habria problemas en distribuir la APP.exe+
> P1.exe+P2.exe o APP.exe + P2.exe únicamente? mantienen su independencia?
>

Tal vez te convendría ver cython para la compilación de los plugins.
Se compilarian a un .so en linux o .dll en windows y luego puedes
cargarlos con un simple import.
___
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ómo gestionar dos procesos a la vez

2016-08-17 Por tema Carlos Zuniga
2016-08-16 16:25 GMT-05:00 jose antonio via Python-es :
> Saludos
> En el año 2005, jjdelcerromurciano respondió a un mensaje donde explicaba
> cómo ejecutar dos procesos a la vez.
> (https://mail.python.org/pipermail/python-es/2005-May/008573.html)
>
> No sé si seguirá en temas de python, o en el foro, aunque espero que haya
> más suscriptores que puedan ayudarme, y por eso  y me he tomado la libertad
> de escribir por si alguien tiene la amabilidad de solucionarme un problema.
>
> No he trabajado con Python nunca, pero ahora necesito una rutina para un
> proyecto que consiste en un panel informador de premios instalado sobre una
> Raspberry pi, al que se le envía información desde un Pc y se encarga de
> presentarla en una televisión por hdmi. El fondo tiene los textos y marcos
> para que se pueda escribir encima la información enviada.
>
> El problema, según mis pruebas, es que si muestro la ventana, no recibe
> información y si recibe información la muestra en la ventana, pero, si
> cambia, no puedo mostrar más.
>
> Lo he desarrollado con un servidor web y funciona correctamente, pero la
> respuesta entre el envío de la información y su presentación en pantalla es
> muy lenta.  La envío por http al servidor web de la  Raspberry y un programa
> en php genera la página web que se recarga cada segundo.
>
> Quiero que vaya más rápido y he pensado en poner una  ventana con el fondo y
> sobre ella imprimir los valores o  textos a presentar.  Necesito que pueda
> recibir mensajes por socket y presentarlos en la ventana, quedando
> disponible para repetir el proceso hasta el infinito.  He  probado a
> iplementar el código del mensaje de correo relacionado arriba,  pero no he
> conseguido que funcione.
>
> El código de la ventana, sacado de internet, es:
>
> from Tkinter import *
> ventana=Tk()
> ventana.geometry("1024x768+0+0")
> ventana.title("Ventana de pruebas")
> imgl=PhotoImage(file="z:/1.gif")
> lblIimagen=Label(ventana,image=imgl).place(x=0,y=0)
> c=Canvas(ventana,width=1024, height=768)
> c.pack()
> c.create_image(0,0, anchor=NW, image=imgl)
> t=c.create_text(600,195,fill="red", font=("Arial",82),
> text="Python")
> c.itemconfig(t, text="1.000.00")
> ventana.overrideredirect(1) # quita los márgenes
>
> ventana.mainloop()
>
>
> Y el del socket
>
> #!/usr/bin/env python
>
> #importamos el modulo socket
> import socket
>
> #instanciamos un objeto para trabajar con el socket
> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>
> #Con el metodo bind le indicamos que puerto debe escuchar y  de que servidor
> esperar conexiones
> #Es mejor dejarlo en blanco para recibir conexiones externas si es nuestro
> caso
> s.bind(("", ))
>
> #Aceptamos conexiones entrantes con el metodo listen, y  ademas aplicamos
> como parametro
> #El numero de conexiones entrantes que vamos a aceptar
> s.listen(1)
>
> #Instanciamos un objeto sc (socket cliente) para recibir datos, al recibir
> datos este
> #devolvera tambien un objeto que representa una tupla con los datos de
> conexion: IP y puerto
> sc, addr = s.accept()
>
>
> while True:
>
>#Recibimos el mensaje, con el metodo recv recibimos datos y como
> parametro
>   #la cantidad de bytes para recibir
>   recibido = sc.recv(1024)
>
>   #Si el mensaje recibido es la palabra close se  cierra la aplicación
>   if recibido == "close":
>  break
>
>   #Si se reciben datos nos muestra la IP y el  mensaje recibido
>   print str(addr[0]) + " dice: ", recibido
>
>  #Devolvemos el mensaje al cliente
>  sc.send(recibido)
> print "Adios."
>
> #Cerramos la instancia del socket cliente y servidor
> sc.close()
> s.close()
>
>
>
> No necesito maravillas. Basta con que el código del servidor socket reciba
> el dato y poder escribirlo en la  ventana abierta.
>
> Con mi agradecimiento por su tiempo, tanto si me responden como si lo borra
> directamente, reciban un cordial saludo.
> José Antonio Gracia
>

Si quieres un ejemplo de algo parecido, tengo un script que utiliza Tk
y un thread que hace requests a una API web cada 5 segundos para
mostrar data (el script es de hace un par de años y la API cambió
luego así que probablemente no funcione, ojo):

https://github.com/charlieman/gw2intel/blob/master/gw2intel.py

Lo que te interesa es la clase Timer que se encarga de llamar a una
función continuamente (update_data), el Queue (data_queue) que guardar
los datos que obtiene de la API y el evento <> que generas
cada vez que se obtiene data y ejecuta una función (update_content)
que actualiza la pantalla en el thread de la GUI.


Saludos
___
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] Python aplicado a Maya

2016-06-28 Por tema Carlos Zuniga
2016-06-28 2:44 GMT-05:00 Jorge Prado :
>
> Buenos días a todos.
> Llevo un tiempo aproximándome a Python para desarrollar scripts para el 
> programa de 3D, Maya.
>
> Con los días Me he dado cuenta que este no es mi foro.
> ¿Alguien conoce un grupo semejante a éste pero dedicado a Maya...? O a 
> cualquier otro programa de 3D.
>

Una búsqueda rápida me lleva a este mailing list:
https://groups.google.com/forum/#!forum/python_inside_maya
___
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] Incluir comandos del sistema

2016-06-13 Por tema Carlos Zuniga
2016-06-12 15:07 GMT-05:00 Manolo Alambra :
> Hola,
>
> Estoy intentando compilar un pequeño script para hacerlo portable.
>
> Me ha surgido la siguiente duda...
>
> Si realizo llamadas con subprocess, para ejecutar comandos del sistema...
>
> ¿Hay manera de incluir estos en el ejecutables atop, netstat, etc, para
> no tener que tenerlos instalados en el sistema?
> Como?
>

Podrías simplemente copiar los binarios a algún directorio de tu
aplicación y correrlos desde ahí pero ten en cuenta que el que corran
depende de la arquitectura de la máquina, dependencias (por ejemplo me
ha pasado que un binario de Ubuntu no funcionaba en Debian debido a
que su glibc era más nuevo) o algún otro problema como que necesiten
setuid para correr con permisos de root (y si simplemente lo copias
junto con tu script no va a tener). Además de que le da desconfianza a
un usuario si traes tu propio binario atop en lugar de usar el del
sistema.

Es mejor indicarle al usuario las dependencias para correr tu script y
que las instale con su administrador de paquetes.

Saludos
___
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] pregunta rapida sobre pdb (python debugger)

2016-05-02 Por tema Carlos Zuniga
2016-04-28 14:56 GMT-05:00 Jose Caballero :
> Hola,
>
>
> ?es posible forzar pdb, en modo interactivo, a pasar linea por linea
> tanto para el script principal como alguna de las clases/funciones de
> las que se hace "import"?
>
> Cuando se hace algo tipo:
>
> $ python -m pdb myscript.py
>
> el debugger va linea a linea sobre myscript.py
> Pero si tengo algo tipo
>
> from mypackage import myclass
>
> el debugger no se mete en mypackage.
> Es normal.
>
> Pero me gustaria saber si es posible forzar pdb a entrar en mypackage,
> y que siga haciendo un "trace" linea a linea.
>

Puedes añadir la línea `import pdb; pdb.set_trace()` en el punto donde
quieres comenzar a debuggear dentro de mypackage.
___
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] Problema al importar script en Ubuntu

2016-04-08 Por tema Carlos Zuniga
2016-04-07 6:49 GMT-05:00 Martín Liporace <martin.lipor...@gmail.com>:
> Gracias por tu respuesta, Carlos. Estuve tratando de entender cómo
> funciona Popen y no encontré ejemplos claros en español. Qué
> argumentos debo pasarle si quiero que desde menu.py ejecute
> consulta.py, que se encuentra en el mismo directorio?
>

Como mínimo `subprocess.Popen(['python', 'consulta.py'])`. Si
necesitas algún uso más avanzado solo mira la documentación
https://docs.python.org/2.7/library/subprocess.html#popen-constructor

> El 7/4/16, Carlos Zuniga <carlos@gmail.com> escribió:
>> 2016-04-06 10:48 GMT-05:00 Martín Liporace <martin.lipor...@gmail.com>:
>>> Hola a todos. Trataré de describir lo más claramente posible el
>>> problema que tengo. Estoy adaptando un programa de consulta de stock
>>> que desarrollé en Windows con Python 2.7 y PyQt4 para que funcione con
>>> Ubuntu. El mismo posée una ventana principal con cuatro botones
>>> (consultar, ingresar nuevos artículos, modificar artículos y salir).
>>> En Windows quedó perfecto: uso el botón Consultar, por ejemplo, y se
>>> abre una nueva ventana con sus correspondientes funciones, SIN que se
>>> cierre la del menú principal. Si cierro la de consulta, puedo seguir
>>> usando la primera, hasta que la cierre. El problema es que en Ubuntu
>>> no puedo usar os.startfile, y al usar subprocess.call se abre la
>>> segunda ventana, puedo utilizarla perfectamente PERO la primera se
>>> bloquea (y hasta toma un tono más oscuro). Qué estoy haciendo mal?
>>
>> Por lo que entiendo la manera en la que abres la segunda ventana es
>> ejecutando un nuevo interprete de python con el otro script?
>>
>> Si es así, subprocess.call espera a que el programa que has ejecutado
>> termine, así que se bloquea el script. Deberías usar subprocess.Popen.
>>
>> Por otro lado, en lugar de ejecutar otro interprete, podrías
>> simplemente abrir la ventana creando una instancia y mostrarla todo
>> dentro del mismo proceso.
___
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] Desarrollo web o no

2016-01-13 Por tema Carlos Zuniga
2016-01-13 11:01 GMT-05:00 Jesús Quintero Suárez :
> Cordial saludo para todos, en un post anterior estaba decidido a crear
> aplicaciones de escritorio y solicitaba la mejor combinación utilidades para
> lograrlo, las respuestas generaron controversia en el sentido que si era
> mejor hacerlas web o no, eso me agrada pues la idea principal es la de
> mejorar el producto existente, desarrollado 100% en Visual FoxPro,
> multiusuario, con la base de datos nativa y siempre conectado.
>
> Ahora lo que quiero es migrar a python y de paso mejorarlas en tos sus
> aspectos, pero se presenta tres alternativas, web, escritorio o hibrido,
> entiendo perfectamente las ventajas del desarrollo web, pero, hay
> requerimientos que cumplir y algunas limitaciones:
>
> Requerimientos:
>
> · Son varias aplicaciones que comparten la base de datos, en cuanto
> a su mantenimiento o administración.
>
> · Cada aplicación debe funcionar independiente de las otras, excepto
> por la base de datos.
>
> · Un cliente puede poseer una o varias de ellas, pero nunca todas.
>
> · Cada cliente debe tener su propia base de datos, es información
> muy sensible.

Aquí depende de si vas a hacer un servicio web, donde todos los
clientes se registran en tu servidor y acceden a su propio contenido o
si cada uno va a tener su propio servidor web. Para lo primero,
probablemente usaras una sola base de datos y diferenciaras los datos
de cada cliente por algún campo en ella. Aquí es importante filtrar en
todas las consultas por ese campo para evitar acceder a la data de
otro cliente, pero se simplifica la administración y actualización del
software ya que todo esta en tus propios servidores (cada nuevo
cliente solo significa crear una nueva cuenta no instalar nada).
Podrías separar bases de datos por cliente pero aún así todas las
bases de datos están dentro de tu infraestructura así que no es mucha
la diferencia. Con la segunda forma cada cliente requiere su propia
infraestructura, el mantenimiento y actualización serán más
complicados ya que tendrán que realizarse para cada uno pero el diseño
de la base de datos será más simple, se simplifican las consultas a la
BD y no habrá problemas de fuga de datos de un cliente a otro.

Las aplicaciones de escritorio requerirán actualizar los cambios en
cada estación de trabajo (o un sistema de actualización por la red).

También hay que tener en cuenta la disponibilidad del servicio, si por
alguna razón el cliente se queda sin Internet, pierde acceso al
servicio web, pero sigue teniendo acceso a sus propios servidores. Por
otro lado, pueden acceder al servicio web desde cualquier navegador
(incluso su smartphone) y no solo dentro de la empresa (y esto le
suele gustar a los gerentes).

>
> · Las aplicaciones básicas responden a los requerimientos del estado
> colombiano y no a los del cliente, a solicitud se desarrollan aplicaciones
> especiales para el diligenciamiento automático de las básicas, con la
> garantía de ninguno de mis otros clientes podrán acceder a ellas.
>
> · La función principal de las aplicaciones básicas es la de generar
> archivos que representan un único documento, pero una sola operación puede
> generar más de 1000 documentos, tamaño máximo por archivo 100KB codificado
> en ASCII extendido hasta 256 caracteres.

Una aplicación web tendría que generar todos estos archivos en el
servidor y el usuario tendrá que descargarlos (puedes ponerlos en un
zip para que sea una sola descarga), esto significa descargas de unos
100MB (seguro menos si los comprimes en zip pero aún así son archivos
grandes). Tienes que tener en cuenta que tus servidores tengan espacio
en disco para cubrir el uso de todos tus clientes. En este punto una
aplicación de escritorio puede ser más veloz y sencilla de usar.

>
> · Como lo mencioné antes, estas aplicaciones desarrolladas en VFP se
> encuentran en producción, y no creo que mis clientes acepten ni sería justo
> entregarles menos de lo que ya poseen, quiero decir:
>
> o   Validación campo a campo teniendo en cuenta todos los datos hasta el
> momento incorporados.

La aplicación web requerirá de mucho javascript para hacer validación
en caliente. Además de la validación en el lado del servidor, que aún
si validas en el cliente no debes dejar de hacerla.

Y si la aplicación requiere widgets como grids, hacerlos con una
aplicación de escritorio es más fácil que javascript en web.

>
> o   Para campos relacionados el usuario digita dato requerido por que en la
> mayoría de los casos lo tiene a la mano o se lo sabe, esto les brinda más
> agilidad que ponerse a seleccionar de una lista de probablemente miles de
> opciones, sin embargo, si lo desconoce al oprimir una tecla especial se le
> brindara una lista filtrada de acuerdo con datos conocidos y con opción de
> búsqueda por los campos de la tabla padre.

Para hacer esto en web necesitarás de todas maneras hacer llamadas
AJAX (a menos que sean tan 

Re: [Python-es] Entorno de ejecución

2015-10-31 Por tema Carlos Zuniga
2015-10-31 11:43 GMT-05:00 Jesús Quintero Suárez :
> se ejecute en un navegador sin ser una aplicación web?

Pregunta capciosa?
___
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] Mostrar datos CSV-SQLite

2015-10-16 Por tema Carlos Zuniga
2015-10-16 2:35 GMT-05:00 JZA :
> Si quieres alguna visualizacion mas profesional te recomiendo mejor usar
> Javascript, ya que hay librerias para representar datos en HTML5 usando
> Canvas. Python aun podria hacer el scrapping, pero despues deberas vaciarlo
> en un JSON en vez de HTML y dejar que Javascript haga la magia. Una libreria
> algo antigua pero aun asi atractiva es RafaelJS.
> http://raphaeljs.com/
>

Canvas para mostrar una tabla de datos? Overkill.
De todos modos use o no javascript en el lado del navegador, python es
suficiente para generar el html y/o hacer el servidor.
___
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] Python para metro

2015-10-11 Por tema Carlos Zuniga
2015-10-10 12:45 GMT-05:00 JZA :
> Alguien ha hecho apps de metro en Python.
>
> Me pregunto si hay un modulo que pueda pasar mi script a un plugin para
> metro. Tengo un script en Python para calcular el precio del bitcoin y lo
> quiero pasar a widget de OSX, KDE, Gnome y Windows. Se que OSX, KDE y Gnome
> tienen modulos para eso, pero no se si Windows lo tenga igual.
>

Tal vez a través de iron-python.
___
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] multiprocessing.connection.Listener y SimpleHTTPServer

2015-09-07 Por tema Carlos Zuniga
2015-09-06 12:58 GMT-05:00 Jose Caballero :
> OK. Parece que mis observaciones no eran del todo correctas.
> No parece ser tanto un problema de incompatibilidad entre
> multiprocessing.connection.Listener y SimpleHTTPServer.
> Es que no me había dado cuenta de que listener.accept()  bloquea todo
> hasta que recibe una llamada.
>
> Así que ahora estoy intentando meterlo todo en un loop con timeouts...
>
>

Necesitas que ambas cosas corran en el mismo proceso? podrías tener el
SimpleHTTPServer corriendo en otro script.
___
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] Tutorial pytnon curses

2015-08-31 Por tema Carlos Zuniga
2015-08-31 17:25 GMT-05:00 RadicalEd :
> 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/


Re: [Python-es] ¿Incompatibilidad entre la versión 2.6 y la 2.7?

2015-08-27 Por tema Carlos Zuniga
2015-08-27 15:22 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com:
 Muchas gracias por tu dedicación, Edison.
 He probado a modificar la función que me envías, y pasa lo mismo. En un
 Servidor funciona y en el otro da 500 Internal Server Error.
 Parecería un error de permisos, pero están comprobados. Además, como decía
 antes, otro pequeño script en Python en el Servidor que presenta el error si
 presenta el Hola mundo en el navegador.
 Rarísimo vamos.
 Cuando descubra la respuesta os lo contaré.
 Saludos :-)



Parece que es un cgi que corres en un servidor web? Si es así, revisa
los logs del servidor para ver que error te esta dando.
___
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-03 Por tema Carlos Zuniga
2015-08-02 22:01 GMT-05:00 AGTUGO agt...@gmail.com:
 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.



Recomiendo requests:

https://github.com/kennethreitz/requests
___
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] Desarrollo de interfaz grafica

2015-08-01 Por tema Carlos Zuniga
2015-07-28 1:43 GMT-05:00 Mario Lacunza mlacu...@gmail.com:

 Pero PySide esta casi abandonado y no hay un release desde hace más de un año 
 X lo q ni veo viable el uso de qt salvo q pagues X la licencia q dicho sea de 
 paso no es nada barata.

 Además PySide tiene soporte solo para qt4 y las ventajas de qt5 son 
 interesantes.

Sobre este asunto, el grupo de vfxplatform tiene la intención de
actualizar PySide a Qt5 para inicios del 2016:

http://lists.qt-project.org/pipermail/pyside/2015-June/002298.html
___
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] Como capturar la tecla Ctrl (exclusivamente, sin pulsar otra simultáneamente) en un programa de consola en Raspbian

2015-07-13 Por tema Carlos Zuniga
2015-07-12 3:59 GMT-05:00 Miguel Salcedo trmsalc...@gmail.com:
 He desarrollado un programa de consola en el cual necesito detectar el
 momento en el que me pulsan la tecla Ctrl (solo Ctrl, sin pulsar ninguna
 otra al mismo tiempo). Inicialmente probé con getch() de curses, y luego
 seguí el código que hay en la sección FAQs de python.org, utilizando stdin,
 pero no detecta la pulsación de la tecla Ctrl si no se pulsa otra al mismo
 tiempo. He recurrido a varios foros pero no he obtenido una respuesta, por
 lo que les agradecería su ayuda. Mi desarrollo es sobre OS Raspbian y en
 modo consola. Gracias de antemano.


En consola no se puede. Ctrl, Shift y Alt son modificadores, no
generan input en stdin. Xev lo puede hacer por que utiliza una ventana
sobre las X.

Para hacer algo similar, detectar pulsaciones de los botones de un
joystick por consola sin X, utilicé SDL (aunque en c++) tal vez puedes
hacer lo mismo con PySDL2 (con PyGame no se puede, este siempre
necesita crear una ventana para poder escuchar eventos).
___
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] RPMs para matplotlib y numpy

2015-06-22 Por tema Carlos Zuniga
2015-06-22 10:27 GMT-05:00 Jose Caballero jcaballero@gmail.com:
 Muchas gracias  a todos por vuestras respuestas.
 En este caso, sin embargo, no estoy seguro de que sean buenos
 consejos, aunque si con buena intencion.
 No se trata de una tarea en mi ordenador personal, sino en una maquina
 del curro, donde todo esta instalado con RPMs y mantenido con puppet.
 No se si en esas condiciones es buena idea mezclar dos sistemas
 diferentes de instalacion de librerias: RPMs y PIP, por ejemplo. No lo
 veo claro.
 Pero agradezco las respuestas en cualquier caso.


Cómo instalan el software que no esta en RPMs? por ejemplo, el
software que ustedes mismos escriben? Tal vez seguir el mismo
procedimiento para instalar estas bibliotecas que no son parte de la
distribución.

En mi trabajo íbamos a usar puppet, pero en lugar de eso nos movimos a
usar contenedores docker. Todo lo que es necesario mantener en las
máquinas de producción es docker y todo lo necesario para que corra
cada servicio viene empaquetado en la imagen para docker. Tal vez te
interese en el futuro :)
___
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] Deformar sprites con PyGame

2015-06-11 Por tema Carlos Zuniga
2015-06-11 10:58 GMT-05:00 Juan Pedro Lara juanplara@gmail.com:
 Hola lista,

 Tengo un proyecto para el cual necesito animar un sprite deformando parte de
 el para dar la sensación de movimiento, y no me sirve un sprite sheet ya que
 aunque el contorno del sprite sea el mismo, su textura cambiará.
 Alguien conoce alguna forma de hacerlo?


Te refieres a una deformación como esta?
http://stackoverflow.com/questions/21940911/python-image-distortion
___
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] Sobre ofertas de trabajo en la lista de correo, mi opinión (aunque no le interese a nadie)

2015-06-03 Por tema Carlos Zuniga
2015-05-30 14:20 GMT-05:00 Karla Reyes karre...@gmail.com:
 que buena conversacion!. me parece excelente poner reglas de conducta para
 anunciar los trabajos, de manera que sea un buen recurso y provea la
 información necesaria. Así como reglas de respeto si las posiciones no se
 acomodan a tus circunstancias o expectativas.

 En otras listas, hemos tenido problemas similares, y se ha llegado a la
 conclusion de pedir se incluya en el titulo del email este formato:

 [JOB/trabajo][Ciudad y/o pais] posición , compania (opcional)

 por ejemplo, los correos se ven así:

 [grupo] [SF] Software Engineer (JS) @ Kink.com
 [grupo] [JOB] [BERLIN] CTO @ Clue
 [grupo] [JOB] eBook Technical Specialist at Simon  Schuster
 (Javascript/Ruby) - NYC

 Esto ayuda mucho, sobretodo si ya sabes si por cuestiones familiares o de
 otro tipo estas dispuesto a mudarte de ciudad o país.

 que tengan buen fin de semana,
 Karla
 @pitonisax

 2015-05-30 8:38 GMT-07:00 Mario Lacunza mlacu...@gmail.com:

 Hola,

 yo creo q una vez puesto el anuncio el resto de comunicaciones deben ir x
 privado, es asi como se maneja en otras listas.

 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/
 Google Hangouts / / Skype: mlacunzav

 El 30/05/15 a las 10:10, Jose Caballero escribió:

 Hola,


 hay a quien le parece bien que se anuncien ofertas de trabajo
 relacionadas con python en esta lista, y a quien le parece mal. A mí me
 parece bien.
 Pero sí me molestan las respuestas airadas de por ese sueldo no me
 levanto de la cama.

 Pero yo recomendaría dar la mayor información posible en el anuncio. Todo
 lo que se pueda. Así uno sabe de entrada si podría estar interesado o no sin
 necesidad de tener que mandar muchos mensajes a la lista.

 -- Una descripción lo más detallada posible de las tareas a hacer. Mejor
 instalar y mantener django version 1.2.3 en Fedora que tareas web. Creo
 que se me entinde.

 -- decir el lugar, y qué porcentaje del tiempo del tiempo hay que estar
 allí. Idem con la entrevista. ¿Se puede hacer por skype, por ejemplo?

 -- condiciones del contrato. Tiempo completo o parcial, temporal o fijo,
 etc.

 Hay quien prefiere no decir la empresa. Vale. Pero se pueden dar datos
 que ayudan a decidir si es una apuesta arriesgada o no. Yo, por ejemplo,
 vivo fuera y gano xx $ año por un curro que es más o menos 80% python. Y me
 gustaría volver a España. Puedo renunciar a un porcentaje de mi sueldo, pero
 a cambio necesito cierta garantía de estabilidad. Datos que pueden ayudar a
 estimarlo sin tener que decir el nombre de la empresa son:
   -- antigüedad de la empresa
   -- número de empleados
   -- volumen de facturación el año anterior

 Etc.

 Un saludo,
 Jose


Una idea interesante que he visto en anuncios en Stack Overflow es que
las empresas coloquen su puntaje en el test de calidad de un equipo de
software de Joel Spolsky [0]

The Joel Test

Do you use source control?
Can you make a build in one step?
Do you make daily builds?
Do you have a bug database?
Do you fix bugs before writing new code?
Do you have an up-to-date schedule?
Do you have a spec?
Do programmers have quiet working conditions?
Do you use the best tools money can buy?
Do you have testers?
Do new candidates write code during their interview?
Do you do hallway usability testing?



[0] http://www.joelonsoftware.com/articles/fog43.html
___
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] Configurar Apache para Python

2015-02-13 Por tema Carlos Zuniga
2015-02-13 5:16 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com:
 Gracias por vuestras ideas.
 Juan ignacio. Si, los archivos .py tienen permisos de ejecutable (755).
 Alejandro.  No estoy utilizando un framework. El programa es un simple CGI,
 de momento las pruebas las estoy haciendo así. En el .htaccess (puesto en
 /var/www y var/www/cgi-bin) tengo lo siguiente:

 DirectoryIndex index.html
 Options +ExecCGI
 AddHandler cgi-script .py .cgi
 AddType text/html .py .cgi
 Directory /var/www/cgi-bin/
 Order deny,allow
 Allow from all
 /Directory

  Mi pregunta sobre todo va por si a alguien le ha pasado que el navegador
 intente abrir el archivo python en lugar de que corra.
  Saludos :-)



Lo intenta abrir, pero te devuelve el contenido del script python o el
resultado de ejecutarlo? Si es lo segundo, tal vez el problema sea que
el navegador no lo reconoce como un html. Intenta poner un `print
'Content-type: text/html'` o 'text/plain' entre tus headers.

Que dice el error.log / access.log de apache?

También prueba chequear lo que dicen por aquí:
http://stackoverflow.com/a/10135416



Por otro lado, sería mucho mejor que utilizaras mod_wsgi. Si no
quieres usar un framework, todo lo que tienes que hacer es poner una
funcion llamada `application` [0] en tu script que retorne una cadena
dentro de una lista:

def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [htmlbodyHello World/body/html]

Y configurar mod_wsgi para que apunte a tu script:

WSGIScriptAlias /wsgi_app /srv/http/wsgi_app.py

--
Saludos


[0] http://webpython.codepoint.net/wsgi_application_interface
___
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] Problema con SMTPLib

2014-11-18 Por tema Carlos Zuniga
2014-11-18 8:09 GMT-05:00 Nicolas lino nicolasli...@gmail.com:
 Me parecia que no era mi codigo :P gracias por la respuesta!

 El 17 de noviembre de 2014, 23:40, Hiko hitokiri last...@gmail.com
 escribió:

 nop gmail ahora desactiva las cuentas si intentas hacer eso, no permite lo
 uses de rebote para usar su smtp . alos tantos usos te desactiva la cuenta y
 si no haces un procedimiento te la borra


Podrías probar añadir la cuenta externa a tu cuenta de gmail en
`Settings - Accounts and Imports - Send mail as`
___
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] Ploteo en tiempo real con PyAudio y Matplotlib

2014-10-11 Por tema Carlos Zuniga
On Sat, Oct 11, 2014 at 10:39 AM, Ricardo Cisterna
r.cisternasan...@gmail.com wrote:
 Kiko:

 Gracias por tu respuesta. Este es el código que compete a la pregunta:
 

 try:
 import pyaudio
 import numpy as np
 from matplotlib import use
 import  matplotlib.pyplot as plt
 import matplotlib.animation as animation
 except ImportError:
 raise ImportError('Faltan modulos externos que instalar')
 import wave

 SEGUNDOS = 10
 MILISEGUNDOS_GRABACION = SEGUNDOS*1000
 NOMBRE_ARCHIVO_WAV = output.wav

 CHUNK = 2**12
 FORMAT = pyaudio.paInt16
 CHANNELS = 1
 RATE = 44100
 frames = []

 # Definicion de la figura (matplotlib)
 fig = plt.figure()
 ax = fig.add_subplot(111)
 line, = ax.plot(0, 0, lw=2)

 # Limites de los ejes
 ax.set_xlim(0, MILISEGUNDOS_GRABACION/1000)
 ax.set_ylim(-5000, 5000)

 # Generar primer plot vacio
 xdata = None
 ydata = None

 # Iniciar stream de audio
 p = pyaudio.PyAudio()
 stream = p.open(format=FORMAT,
 channels=CHANNELS,
 rate=RATE,
 input=True,
 frames_per_buffer=CHUNK)

 def generador():
 i = generador.i
 while i  range(0, int(RATE / CHUNK * (SEGUNDOS))):
 data = stream.read(CHUNK)
 audio = np.fromstring(data, np.int16)
 tiempo = np.arange((CHUNK * i), audio.shape[0] + (CHUNK * i)) /
 float(RATE)
 i += 1
 print audio
 yield tiempo, audio
 generador.i = 0

 def animacion(data):
 x, y = data
 global xdata
 global ydata
 if xdata == None:
 xdata = x
 ydata = y
 else:
 xdata = np.append(xdata, x)
 ydata = np.append(ydata, y)
 global line
 line.set_data(xdata, ydata)

 return line,

 ani = animation.FuncAnimation(fig, animacion, generador, blit=True,
 interval=50, repeat=False)
 plt.show()

Creo que estas redibujado toda la data en cada intervalo. No conozco
mucho de matplotlib, no es posible solo añadir la nueva información al
gráfico en lugar de redibujarlo desde el principio?
___
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] Que modulo me recomiendan.

2014-09-25 Por tema Carlos Zuniga
2014-09-24 17:25 GMT-05:00 Peon Blanco peonblanc...@gmail.com:
 Alguien me podría orientar.

 ya que a un no e podido resolver el problema de que me repita los id.


Por lo que veo, lo más simple es crear un set (o lista) vacio, ir
añadiendo los ids que has guardado y chequear si el id ya se encuentra
en el set antes de hacer la comparación.

Por cierto, no deberías intentar cambiar la lista Todo mientras estas
en medio bucle. Si chequeas contra el set, no necesitarás recargar la
lista.


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Importar libreria Cliente Captcha

2014-09-08 Por tema Carlos Zuniga
On Sun, Sep 7, 2014 at 2:06 PM, Mario Alfonso Saucedo Gomez
msa...@gmail.com wrote:

 Buenos días,

 Quiero consultarles si alguno ha integrado el cliente en mención para
 validar esto en un formulario contacto. hice la instalación en mi ambiente
 del cliente, generé los respectivos modelos, vistas y formularios pero
 cuando ingreso esta línea en view.py no me importa la librería alguién me
 puede orientar que me falta.

 Versión django 1.6 Python 3.4.1

 from recaptcha.client import captcha

 remito el log de errores

 0 errors found
 September 07, 2014 - 14:02:10
 Django version 1.6, using settings 'AweC.settings'
 Starting development server at http://127.0.0.1:8000/
 Quit the server with CTRL-BREAK.
 Internal Server Error: /
 Traceback (most recent call last):
   File C:\Python34\lib\site-packages\django\core\handlers\base.py, line
 101, in get_response
 resolver_match = resolver.resolve(request.path_info)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 320, in resolve
 sub_match = pattern.resolve(new_path)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 222, in resolve
 return ResolverMatch(self.callback, args, kwargs, self.name)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 229, in callback
 self._callback = get_callable(self._callback_str)
   File C:\Python34\lib\site-packages\django\utils\functional.py, line 32,
 in wrapper
 result = func(*args)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line 96,
 in get_callable
 mod = import_module(mod_name)
   File C:\Python34\lib\importlib\__init__.py, line 109, in import_module
 return _bootstrap._gcd_import(name[level:], package, level)
   File frozen importlib._bootstrap, line 2254, in _gcd_import
   File frozen importlib._bootstrap, line 2237, in _find_and_load
   File frozen importlib._bootstrap, line 2226, in
 _find_and_load_unlocked
   File frozen importlib._bootstrap, line 1200, in _load_unlocked
   File frozen importlib._bootstrap, line 1129, in _exec
   File frozen importlib._bootstrap, line 1471, in exec_module
   File frozen importlib._bootstrap, line 321, in
 _call_with_frames_removed
   File C:/Developer/Python/AweC\WebHome\views.py, line 4, in module
 from recaptcha.client import captcha
   File C:\Python34\lib\site-packages\recaptcha\client\captcha.py, line 1,
 in module
 import urllib2, urllib
 ImportError: No module named 'urllib2'
 Traceback (most recent call last):
   File C:\Python34\lib\site-packages\django\core\handlers\base.py, line
 101, in get_response
 resolver_match = resolver.resolve(request.path_info)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 320, in resolve
 sub_match = pattern.resolve(new_path)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 222, in resolve
 return ResolverMatch(self.callback, args, kwargs, self.name)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line
 229, in callback
 self._callback = get_callable(self._callback_str)
   File C:\Python34\lib\site-packages\django\utils\functional.py, line 32,
 in wrapper
 result = func(*args)
   File C:\Python34\lib\site-packages\django\core\urlresolvers.py, line 96,
 in get_callable
 mod = import_module(mod_name)
   File C:\Python34\lib\importlib\__init__.py, line 109, in import_module
 return _bootstrap._gcd_import(name[level:], package, level)
   File frozen importlib._bootstrap, line 2254, in _gcd_import
   File frozen importlib._bootstrap, line 2237, in _find_and_load
   File frozen importlib._bootstrap, line 2226, in
 _find_and_load_unlocked
   File frozen importlib._bootstrap, line 1200, in _load_unlocked
   File frozen importlib._bootstrap, line 1129, in _exec
   File frozen importlib._bootstrap, line 1471, in exec_module
   File frozen importlib._bootstrap, line 321, in
 _call_with_frames_removed
   File C:/Developer/Python/AweC\WebHome\views.py, line 4, in module
 from recaptcha.client import captcha
   File C:\Python34\lib\site-packages\recaptcha\client\captcha.py, line 1,
 in module
 import urllib2, urllib
 ImportError: No module named 'urllib2'


En Python3 urllib2 se convirtió en urllib a secas. Parece que el
modulo que quieres usar es para Python2.
___
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] [consulta] error mysql en proyecto django

2014-09-04 Por tema Carlos Zuniga
2014-09-03 22:26 GMT-05:00 Pablo Ezequiel Ferreyra pabloeferre...@gmail.com:
 hola gente, nuevamente vengo a interrumpir con un problema que me aqueja,
 pero es que tengo un error en el sistema que estoy haciendo, relacionado con
 la db, que no me quiere trabajar correctamente, por que me da un error de
 integridad actualmente, el cual no se que puede estar pasando, por que hasta
 hace un tiempo funcionaba de mil maravillas y ahora se le agarro con que no
 quiere funcionar correctamente.
 el mensaje de error es el siguiente:
 (1452, 'Cannot add or update a child row: a foreign key constraint fails
 (`HistoCons`.`histoconscalchaqui_historia`, CONSTRAINT
 `paciente_id_refs_id_6a3fee2b` FOREIGN KEY (`paciente_id`) REFERENCES
 `histoconscalchaqui_paciente` (`id`))')

 el cual no logro reconocer por que, como repito, hasta hace poco tiempo
 atras funcionaba con total normalidad.

 por las dudas, dejo mi repo para que revisen si es que me estoy saltando
 algo que no me este dando cuenta, o di vuelta algo sin vigilar:
 www.github.com/hackerzeta/sistema/

 pero la verdad que me sorprendio que haya pasado eso, dado que estaba
 funcionando correctamente.

 el error surge al querer grabar un nuevo registro del tipo historia en el
 sistema.


Imagino que ese registro historia tiene una relación hacia el
registro paciente?
Asegurate de que el id del paciente con el que estas tratando de crear
una historia exista.
___
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] [consulta] error mysql en proyecto django

2014-09-04 Por tema Carlos Zuniga
2014-09-04 14:52 GMT-05:00  pabloeferre...@gmail.com:
 Es que justamente, esta todo correcto en el mysql, y hasta hace unos días 
 funcionaba sin problemas


Puedes probar algunas cosas:

- Activa el log de queries de mysql y revisa que queries se están haciendo.
- Chequea tu sistema de control de versiones para ver que cambios se
han hecho en los últimos días.
- Corre tus test unitarios para ver si alguno ha comenzado a fallar.
___
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] Misterio al asignar variable a una lista

2014-08-27 Por tema Carlos Zuniga
2014-08-27 13:47 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com:
 Teneis los dos razón, está dentro de un for.
 ¿Y cómo se hace entonces?
 Gracias :-)


No necesitas hacer el bucle sobre los indices y luego asignar el
elemento a una variable; puedes hacer el bucle directamente sobre los
elementos:


for longiplanet in longi:
nat = abs(longiplanet)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Pregunta acerca de Python en Mono/.Net

2014-08-27 Por tema Carlos Zuniga
2014-08-23 6:54 GMT-05:00 Juan M. Puertas soft.sir...@gmail.com:
 Hola Mario.
 Descarto IronPython por que es sólo para Windows, es lento y creo que lo
 están abandonando.

Ojo, ironpython funciona también en Linux sobre mono (o cualquier otra
plataforma que pueda correr mono) y aunque el desarrollo sea lento,
todavía veo commits de hace algunos días. Definitivamente no esta
abandonado.
___
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] Editar variables en aplicaciones de consola

2014-08-18 Por tema Carlos Zuniga
2014-08-17 18:08 GMT-05:00 kausdiv kaus...@gmail.com:
 Magistral, Chema.
 Mucho mejor que lo que yo usaba.

 Por cierto como haces tu para editar en aplicaciones de consola ?


En aplicaciones por consola lo que se suele hacer es pasar las
opciones por la linea de comandos, por ejemplo:

script.py -o --foo bar baz


Chequea el módulo argparse[0] que viene incluido en python para algo
simple o el módulo click[1] para una aplicación mucho más compleja.


Saludos

[0] https://docs.python.org/dev/library/argparse.html
[1] http://click.pocoo.org/
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Expresiones regulares

2014-06-03 Por tema Carlos Zuniga
2014-06-03 4:56 GMT-05:00 Miguel Angel Rodriguez maro...@gmail.com:
 En principio necesito hacerlo con expresiones regulares. ¿Lo veis muy
 complicado?

Se puede saber por qué?

2014-06-03 15:13 GMT-05:00 Miguel Angel Rodriguez maro...@gmail.com:

 Nunca he programado con json en python.

No hay mejor razón para comenzar ahora ;)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] pygame.mixer.music.set_pos no existe. ¿Alternativa?

2014-02-12 Por tema Carlos Zuniga
2014-02-10 18:30 GMT-05:00 Hector Garcia hectorogar...@gmail.com:
 Buenas tardes. Soy medio principiante en python, agradezco su
 paciencia si estoy haciendo algo mal.

 Python 2.7.3 sobre Debian Wheezy

 pygame.ver
 Out[10]: '1.9.1release'

 Tengo un pequeño script, en donde, mediante pygame muestro algunas
 imágenes, y, aprovechando, la librería, le estoy agregando
 reproducción de archivos .ogg

 Le implementé un control de teclado por curses

 Pues bien, la reproducción de los archivos la hago con la siguiente rutina:

 def cargaaudio(current):
   global pygame, file_list, num_files ,screen, espere, enreproduccion
   archivo = file_list[current]
   enreproduccion = current
   pygame.mixer.music.stop()
   screen.clear()

   sleep(0.5)


   song = pygame.mixer.music.load(archivo)
   title='{0},   {1}/{2}'.format(os.path.basename(archivo), current, 
 num_files-1)

   # salida por curses
   screen.addstr(0,1,'Reproduciendo: {0}'.format(title))
   screen.refresh()
   espere = False

   pygame.mixer.music.set_volume(1)
   pygame.mixer.music.play(0)


 En la rutina del control del teclado, le agregué un evento para
 avanzar la reproducción 10 segundos:

 def input_audio(event)
   
   
   

   if (event == ord(.)):
   screen.addstr(2,0,'Avanzo 10 seg.')
   screen.refresh()

   posactual = pygame.mixer.music.get_pos()
   posnueva = float(posactual + 1) #milisegundos


   pygame.mixer.music.set_pos(posnueva)



 Al ejecutar el script, Python me marca un error en la llamada a set_pos

 'module' object has no attribute 'set_pos'

 Si analizo la librería desde ipython, efectivamente, no hay tal método.

 Buscando en google, me doy cuenta que el método play, acepta un
 argumento de posición (en segundos). Así que,

 1. cambio el método cargaaudio para recibir la posición nueva desde el
 manejador de eventos.

 Alternativa:
 2. Creo otra rutina más simple, sin cargar de nuevo el archivo, ni el
 stop o el delay de tiempo ( y la llamo desde input_audio, en lugar de
 la llamada a set_pos):

 def avanza(posnueva=0):
   if ( posnueva  0):
 pos_segundos = float (posnueva/1000)
 pygame.mixer.music.play(0, pos_segundos)
 screen.addstr(3,0,'PosNueva:{0}'.format(pos_segundos))
 screen.refresh()

 Entonces, al iniciar la reproducción, presiono el . y, efectivamente,
 la reproducción se va a pygame.mixer.music.get_pos + 10 segundos.
 Pero, ¡el contador de get_pos se reinicia a 0!. Un ejemplo

 Inicia reproducción. al rededor de los 15 segundos, presiono el [.]
 la reproducción se va a alrededor de 25 segundos.

 Aqui get_pos = 0

 Si, 3 segundos después, presiono [.], posactual = 3 +10 = 13 segundos,
 por lo que, la reproducción de la canción, se irá a alrededor del
 segundo 13. *no del segundo 25 + 13*

 ¿Algo estoy haciendo mal?

 Si a alguien le interesa el código completo, con gusto se los hago
 llegar; consta de casi 180 líneas, que no quise poner aquí, para no
 meter ruido innecesario.

 Gracias de antemano


Hola Hector, si miras la documentación de get_pos [0] dice:

This gets the number of milliseconds that the music has been playing
for. The returned time only represents how long the music has been
playing; it does not take into account any starting position offsets.

O sea, get_pos no te devuelve la posición actual en el archivo que
estas escuchando si no el tiempo que la musica ha estado corriendo.
Ejecutar play de nuevo hace que reinicie get_pos.

Esto es porque la música se carga por partes (streaming) en lugar de
cargar todo el archivo en memoria.

Si quieres obtener la posición, te recomendaría que guardes en una
variable el valor que le pasas a la función play y se lo sumes al
resultado de get_pos, aunque esto se complica si la musica esta
sonando en un bucle y el contador no reinicia, tendrías que probar
eso.

Saludos.


[0] http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.get_pos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Alternativa a Pickle

2013-11-19 Por tema Carlos Zuniga
2013/11/19 kausdiv kaus...@gmail.com:
 Hola.

 Estoy buscando una alternativa a Pickle para que se guarden los datos
 codificados mediante clave.

 Básicamente lo quiero para guardar una tupla de diccionarios. Pretendo que
 no se vean los datos si se edita el archivo.

 Y no estoy muy interesado en codificar yo cada elemento del diccionario de
 cada elemento de la tupla.

 Si alguien conoce algo...


Si solo quieres que no husmeen:


In [1]: import json

In [2]: x = json.dumps({'foo': 'bar'}).encode('zlib').encode('base64')

In [3]: print x
eJyrVkrLz1eyUlBKSixSqgUAIJgEVA==

In [4]: json.loads(x.decode('base64').decode('zlib'))
Out[4]: {u'foo': u'bar'}


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Static Variables Python Qt

2013-09-26 Por tema Carlos Zuniga
2013/9/25  revxf...@gmail.com:
 Lo que planteas ya lo he intentado pero en pyqt al llamar a wClientes.show()
 sigue la ejecucion del evento a un despues de mostrar la ventana, por lo que
 se ejecutaria el getCliente(), antes de que los QLineEdit estuviesen llenos,
 ese es exactamente mi problema,  asi que debe haber una forma o una Signal que
 se lea desde wFactura que le la destruccion(o exactamente antes de eso) del
 wCliente  del formulario vClientes que ejecute el el setCliente del otro
 formulario.


Ya veo el problema. Tienes que subclasear tu ventana VClientes de
QDialog en lugar de QWidget. QDialog bloquea hasta que cierres la
ventana.

Cuando la crees pasale la ventana padre como argumento `wClientes =
VClientes(self)` y usa `wClientes.exec_()` (exec_ es en PySide, tal
vez es exec sin el subguión en PyQt) en lugar de `wClientes.show()`
para ejecutarla.

Lee también la información sobre el valor de retorno en la
documentación de QDialog [0].


Saludos

[0] https://qt-project.org/doc/qt-4.8/qdialog.html
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Static Variables Python Qt

2013-09-25 Por tema Carlos Zuniga
2013/9/25  revxf...@gmail.com:
 Buenas el caso es que estoy desarrollando un pequeño sistema administrativo
 en python + qt, el problema viene dado por esto:

 Tengo una class MainWindow.py  este lo tengo trabajando como Mdi, por lo
 que tengo dentro un MDI AREA, y activo el resto de las
 ventanas(Clientes,Facturacion,Presupuesto) administrativos añadiendo las
 ventanas al mdi area asi:

 @pyqtSlot()
def on_btnClientes_clicked(self):
   wClientes = VClientes()
   self.mdiArea.addSubWindow(wClientes)
   wClientes.show()

 Donde VClientes es la class de la ventana de administracion de clientes. Aqui
 viene el problema, yo quiero que desde la class VClientes leer o escribir en
 los QLineEdit de VFactura(Ventana de facturacionl), la estructura seria asi:

 Nombre Class
 VMainWindow.
 VFactura
 VClientes.

 EL caso seria por ejemplo que en caso del el cliente no existir, se abre la
 ventana de insersion de clientes, usando el codigo arriba escrito, pero que al
 momoento de que VCLientes cumpla su funcion ademas modifique los lineEdit
 que estan en Vfactura(Que es la class que llamo a VClientes).

 En java usaria variables Static y podria modificar las propiedades de la
 class principal desde una clase child, pero aca en python ni idea como
 hacerlo.


Qué feo, en serio hacen así en Java? :^)

Podrías añadir un método a tu clase VClientes que devuelva un objeto
cliente y luego un método en tu clase VFactura que coja al objeto
cliente y rellene sus campos. Queda más limpio y dejas que cada clase
se ocupe de sus propios asuntos.


@pyqtSlot()
def on_btnClientes_clicked(self):
wClientes = VClientes()
self.mdiArea.addSubWindow(wClientes)
wClientes.show()
cliente = wClientes.getClient()
self.setCliente(cliente)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Como extraigo los datos de un input type='file'....

2013-09-17 Por tema Carlos Zuniga
2013/9/17 Horacio horacio9...@gmail.com:
 Holas... Por medio del siguiente código html quiero enviar un archivo
 ascii que es elegido por el usuario, para para que sea procesado por
 una cgi escrita en python...

 form action=/cgi-bin/procesar.cgi method=post
 enctype=multipart/from-data
 selecione archivo a analizar:
 input type=file name=datos
 /form

 entonces acá la pregunta... en el archivo procesar.cgi como
 decodifico los datos luego de hacer...

 import cgi
 ...
 form=cgi.FieldStorage()
 ...

 form[datos] que contiene? como extraigo el ascii del metodo post? o
 si alguien me indica como solucionar esto que debe ser algo comun,
 pero que desconozco como buscar para reloverlo, ejemplos de codigo son
 bienvenidos...


En la documentación ponen un ejemplo de usarlo con archivos:

http://docs.python.org/2/library/cgi.html#using-the-cgi-module


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Carga de librería .so 32 o 64 bits dinámicamente en python?

2013-09-17 Por tema Carlos Zuniga
2013/9/17 Alberto Curro bertothun...@gmail.com:
 Hola chicos,

  he estado duckduckgoleando un rato en esto, pero no encuentro una
 respuesta clara; en un proyecto tengo dos posibles máquinas para ejecución
 de unos scripts que tengo, una en x86 y otra es x64, ambas con CentOS
 (mismas versiones, sólo la arquitectura cambia).

  Tengo unos scripts que usan una librería .so dinámica y que la cargan; el
 problema es que esto debería ir en un rpm de distribución, pero quiero que
 el script vaya con el fichero correcto. Una opción es empaquetar sólo el .so
 correspondiente dependiente de la arquitectura, pero me gustaría que el rpm
 fuese único y empaquetase ambos ficheros, y que fuese el script en python el
 que seleccionase cúal enlazar.

  He estado probando con el módulo platform de forma que platform.machine()
 me dice la arquitectura, e importo uno u otro módulo dependiendo de esto;
 algo tal que:

 import platform

 if (platform.machine == 'i686'):
 from _dynamiclib import *
 else:
 from _dynamiclibx64 import *


 Y funciona, lo que pasa es que me parece feo de narices.

 ¿Alguna solución más elegante para esto? Ideas y recomendaciones son
 bienvenidas :)


Si solo quieres que se vea bonito en tu script, coloca ese código en
dynamiclib.py para que importe _dynamiclib o _dynamiclibx64. Y luego
desde tu script `from dynamiclib import xxx`.

En fin que no me parece tan poco elegante un import condicional, menos
elegante es el `import *` ;)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] creacion de graficos UML a partir de ficheros de config

2013-08-24 Por tema Carlos Zuniga
2013/8/19 Jose Caballero jcaballero@gmail.com:
 Hola,


 me gustaria saber si alguien conoce alguna herramienta en python para
 generar diagramas UML a partir de ficheros de config. No busco generar
 UML a partir de codigo, sino a partir de ficheros donde, con la
 sintaxis que sea, se definan los objetos y sus relaciones.

 El problema es que al buscar en google con palabras clave como
 'python' y 'uml' todo lo que veo son soluciones para general uml a
 partir de codigo, o a la inversa.


Pero que formato tienen tus archivos de configuración? Si buscas uml y
python, es dificil que te devuelva soluciones que no involucren a
python ;)

Buscando uml y text me da esta pregunta en stack overflow con varias
respuestas interesantes.
http://stackoverflow.com/questions/194754/rendering-uml-diagrams-from-text-files


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] isfile()

2013-08-03 Por tema Carlos Zuniga
2013/8/2 Ricardo Azpeitia Pimentel razpei...@gmail.com:
 Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un
 archivo, y por default usa xreadlines si no mal recuerdo.


Con el with, python se encarga de cerrar el archivo. xreadlines esta
deprecado desde la 2.3. Y acabo de comprobar que for line in file
hace lo mismo que for line in file.readlines() excepto que readlines
te permite colocar un parámetro para usar un buffer.

 Lo que pasa es que usa getcwd y depediendo de donde ejecute el script  y
 donde se encuentren sus archivos va a tener resultados diferentes.

 Una buena idea seria imprimir la rutas para ver cual es la diferencia.


Y sería bueno que imprima con repr para ver donde esta el error:

with open('testfile.txt') as testfile:
for fileName in testfile:
print repr(fileName)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] [OT] Recomendación de Fundéu de hoy

2013-08-02 Por tema Carlos Zuniga
2013/8/2 joe di castro j...@joedicastro.com:
 El 02/08/13 11:36, Juan Luis Cano escribió:
 http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/

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


 Bug es algo mas que un fallo, defecto, etc. Es un pedazo de la
 historia de la informática, que se pierde en la traducción y que aleja
 al que nunca escucha la acepción original de preguntarse porque demonios
 alguien decidió darle ese nombre por primera vez y perder la oportunidad
 de situar los conceptos dentro de su contexto.

 Lo mismo ocurre con palabras como hacker, buffer, ... y las palabras
 en español que algún académico eligiera como traducción adecuada...

 A veces estamos cayendo en el más profundo de los ridículos al querer
 traducir todo y ser tan chauvinistas...


Hay veces donde la traducción puede mejorar. Por ejemplo prefiero
decir por omisión que el defectuoso por defecto que suelo leer por
todos lados y puede ser fácilmente confundido con un bug :)


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] isfile()

2013-08-02 Por tema Carlos Zuniga
2013/8/2 Jesús Curbelo Rodríguez jescurb...@gmail.com:
 Hola a todos,

 Tengo este pequeño script:

 import os
 import os.path
 for fileName in open('testfile.txt'):
 f = fileName # opcion 1
 #f = cwd + os.path.sep + fileName # opcion 2
 #f = os.path.join(os.getcwd(), fileName) # opcion 3
 if os.path.isfile(f):
 print Encontrado el archivo %s % fileName
 else:
 print No encontrado el archivo %s % fileName

 donde testfile.txt incluye la lista de ficheros del directorio donde esta el
 script.
 Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo
 mismo isfile devuelve False para todos los archivos (probado tanto en
 Windows como en Linux). Tampoco me funciona usando la opción 2 ni la opción
 3.
 El mismo script en TCL o batch funciona perfectamente encontrando todos los
 archivos listados en testfile.txt
 Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script pongo
 el nombre del archivo o la ruta completa (usando en ambos casos raw strings)
 el resultado es el correcto (isfile devuelve True).
 He estado buscando en la red pero no consigo encontrar la solución.



open() devuelve un objeto fichero y no creo que puedas hacer un bucle
sobre él directamente (o tal vez esto haga bucle sobre cada
carácter?), tienes que llamar a su método readlines.

Prueba con:

with open('testfile.txt', 'r') as my_file:
for file_name in my_file.readlines():
if os.path.isfile(file_name) ...


Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Lanzar dos servidores diferentes desde el mismo archivo

2013-07-27 Por tema Carlos Zuniga
On Sat, Jul 27, 2013 at 5:08 AM, Jesús Genicio jgeni...@gmail.com wrote:
 Hola,

 NEcesito lanzar dos servidores, uno que atiende una base de datos y otro que
 recibe y procesa los archivos, de la manera

 Servidor de datos:

 host = '192.168.1.54'
 port=8000
 debug=True;
 service_class_path = os.path.dirname(os.path.abspath(__file__)) + /class
 srv=JsonRpcServer(host,port,debug)
 srv.addServicePath( service_class_path )
 srv.serve_forever()

 Y el servidor de archivos:

 class upload_file():
 def __init__( self):
 httpd = make_server('', 18000, self.upload)
 print Serving on port 18000...
 httpd.serve_forever()

 Me gustaría poder lanzar los dos desde una clase para poder ajustar los
 parámetros como ip, puerto, etc de forma centralizada

 He mirado multiprocessing y treading pero no me aclaro, se lanza el primero
 pero no el sgundo ¿?

 De la manera:

 def main(): import threading procesos= [ servidor_datos(),
 servidor_archivos()] for s in procesos: s.start() for s in procesos:
 s.join()

 ¿Me podéis echar un cable otra ves.?


Es necesario que estan ambos en el mismo proceso?

Si no, puedes hacer un script en bash que los ejecute en el background:

#!/bin/sh
python server1.py 
python server2.py 

O algo más elegante y añadirlos como servicios

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Problema codificación con .title() en Python2

2013-06-05 Por tema Carlos Zuniga
2013/6/5 Alejandro Druetta aledrue...@gmail.com:
 Hola,

 Tengo un problema de iniciante que no logro resolver en el siguiente código:

 http://pastebin.com/uy4WEujK

 Las palabras con acentos, después de pasar por .title() presentan letras
 mayúsculas enseguida después de un acento. He probado colocando
 unicode(cadena, utf-8) en varios lugares del código, pero no ha dado
 resultado.

 Si uso .capitalize() no hay problema, pero quisiera resolver el problema con
 .title() para aprender a usarlo correctamente.

 Cualquier ayuda, se agradece.


Prueba usando str.decode('utf-8') en tu cadena:

In [1]: print ábcd éfghi.title()
áBcd éFghi

In [2]: print ábcd éfghi.decode('utf-8').title()
Ábcd Éfghi

Yo prefiero convertir a unicode tan pronto como sea posible para no
tener que lidiar con encodings por todo lado:

frase = raw_input( Escriba una frase completa ('*' para
terminar):  ).decode('utf-8')


Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 escapo el backslash en un string?

2013-04-12 Por tema Carlos Zuniga
2013/4/12 Diego Uribe Gamez diego.uribe.ga...@gmail.com

 Ya, saludos:

  \\x00.decode('string_escape')
 '\x00'


Es eso lo mismo que usar
 '\x00'
'\x00'

Si lo que quieres es obtener la cadena \x00 entonces \\x00 es lo
que quieres. Otra opción más fácil de usar es r\x00 que te devuelve
el contenido raw sin escapar nada.

 len('\x00')
1
 len('\\x00')
4
 len(r'\x00')
4
 r'\x00' == '\\x00'
True
 '\x00' == chr(0)
True


Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Preguntas sobre python3 y nomenclatura

2013-03-20 Por tema Carlos Zuniga
2013/3/20 Carlos Zuniga carlos@gmail.com:
 2013/3/20 Flavio Danesse fdane...@gmail.com:
 No, eso no hace lo que yo quiero.

 Yo quiero que la aplicación se ejecute solo sobre python 3 aunque hayan
 otras versiones de python en el sistema.

 O sea, si no se encuentra python 3 que la aplicación no funcione y si se
 encuentra python 3, se ejecute en esa versión.


 Tendrías que hacer un script que busque al ejecutable de python,
 chequee la version y lo ejecute, por ejemplo en bash:

 #!/bin/sh
 SCRIPT=/path/to/script.py
 for BIN in python3.2 python3 python /some/other/python; do
 BIN_PATH=`which $BIN`
 if [ -n $BIN_PATH ]; then
 VERSION=`$BIN --version 21 | grep 'Python 3'`
 if [ -n $VERSION ]; then
FOUND=1
 break
 fi
 fi
 done
 if [ -z $FOUND]; then
 echo No se encontró la version de python requerida
 exit 1
 fi
 exec $BIN $SCRIPT $@


 Pero para llegar a ese extremo, tendría que ser un sistema bien raro ;)


Sorry, una corrección, faltó una linea antes del break.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Preguntas sobre python3 y nomenclatura

2013-03-19 Por tema Carlos Zuniga
2013/3/19 Yamila Moreno Suárez yamila...@gmail.com:
 ¡Buenas!

 Un amigo me pasa esta consulta sobre el nombre de 'python' y me temo que no
 sé contestar a casi ninguna pregunta. ¿Alguna idea? ¡Mil gracias!

 *

 Python 3, ¿se va a llamar siempre python3? ¿O cuando se consolide se
 llamará python a secas? ¿Habrá algún día en que al escribir python
 arranque python3? ¿Y sabes algo de python3-config? ¿Pasará lo mismo?

 Eso de llamar python3 a Python, ¿es algo de debian o ubuntu solo? ¿O
 es así en todas las distribuciones?


Se refiere al binario? en Debian /usr/bin/python es un symlink a
/usr/bin/python2.7, si quiere que ejecutar python llame a python3
tendría que cambiar el symlink. Pero eso ocasionaría problemas a otros
paquetes que utilicen python 2...

A menos que el script especifique con que python trabajar directamente
en el shebang:

#!/usr/bin/python2

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] QT5 vs wxWidgets

2013-02-20 Por tema Carlos Zuniga
2013/2/20 Mario Lacunza mlacu...@gmail.com:
 Hola

 bueno basicamente por mi interes en programar para la plataforma tablet y
 ubuntu phone donde si qt5 es requerido, amen q si hago un soft con estas
 librerias tambien seria usable en desktop.

Por cierto que acaban de anunciar un build de PySide para Android:
http://lists.qt-project.org/pipermail/pyside/2013-February/001089.html
http://modrana.org/trac/wiki/PySideForAndroid

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] QT5 vs wxWidgets

2013-02-19 Por tema Carlos Zuniga
2013/2/19 Mario Lacunza mlacu...@gmail.com:
 Hola,

 Antes q nada mi idea no es iniciar ningun flame :) sino saber de las
 opiniones de quienes usan (sobre todo para mi: QT5) las librerias
 mencionadas.

 Hace años q vengo usando wxWidgets /wxPython para hacer mis programas, este
 año se me presenta la oportunidad de dos desarrollos grandes y me entra la
 duda debido:

 Uno de los puntos en contra (para mi) era la licencia de QT, ahora es LGPL
 permitiendo desarrollos cerrados/comerciales si se usa la libreria sin
 modificacion.
 El soporte por parte de una empresa para el wrapper lease pyside (de pyqt no
 me gusta su licencia) lo cual ha originado q en 1 año este casi igual q pyqt
 en opciones (o me equivoco?) Con wxpython el soporte de la comunidad es muy
 bueno, pero dado q solo es una persona el q mantiene la libreria tarde o
 temprano las cosas se atascan, por ejemplo recien esta en menos q beta el
 soporte para Python3 y ni hablar para mobiles. Yo uso Ubuntu y no tengo en
 el repo la ultima version de la libreria, sino debo compilarla yo mismo.
 Con el nuevo anuncio de Ubuntu Phone y un solo OS para desktop, tablets y
 celulares el mercado se abre rapidamente para los desarrollos. Ubuntu usara
 QML y QT5 para estos, es mas ya preparo las librerias para descarga, lo cual
 sin duda sera a mi juicio un tremendo empuje para QT
 Ambas librerias tienen un gran conjunto de paquetes q cubren casi todos los
 ambitos.

 Dicho esto como comprenderan estoy mas q considerando el moverme a QT5, por
 lo q me gustaria saber sus opiniones en favor o en contra, gracias!


Personalmente me gusta bastante Qt, aunque no he utilizado mucho wxWidgets.

Es necesario que utilices Qt5 o es Qt4.8 suficiente? El problema de
PySide es que se encuentran muy cortos de voluntarios y no hay un
horizonte para la salida de Qt5, se habla de hacer reestructuraciones
en Shiboken (su herramienta para generar los bindings para Python) o
incluso descartarlo y utilizar otra herramienta, así que va a tardar
en salir PySide para Qt5. Dicho esto, PySide con Qt4.8 está muy bien,
así que a menos que tengas requerimientos específicos, no lo
descartaría.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Correccion programa

2013-02-12 Por tema Carlos Zuniga
2013/2/11 kurokysan kuroky...@gmail.com:
 Buenas noches companeros, les publico este codigo que he realizado con el
 objetivo de monitorear si un equipo de red se encuentra online. Las
 modificaciones que quisiera que me ayudaran es como hacer para que los
 destinatarios se tomen desde un archivo macct.txt. Otra cosa seria como

Asumiendo que macct.txt tiene el formato correcto para el campo To del
correo, lo lees con `mlist = macct.read()` y lo usas en sendmail:

mailServer.sendmail(kuroky...@gmail.com, mlist, msg.as_string())

 podria lograr que la salida que da este script por pantalla se pueda
 adjuntar al cuerpo del correo.

Guarda lo que quieres mostrar por pantalla en una variable, lo
imprimes y luego la utilizas para crear tu objeto MIMEText.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] tienen algun algoritmo de suma de comprobacion

2013-01-02 Por tema Carlos Zuniga
2013/1/2 xiao xiong mao panda rojo ailurus.fulg...@hotmail.com:
 hola a tod@s
 alguno tiene un algoritmo de suma de comprobación, es decir hash
 como CRC MD5 SHA-1
 paso a paso, sin usar librerías, mejor si es en nivel binario
 en python o en cualquier lenguaje
 no tiene que ser súper seguro, solo es un ejemplo
 estoy trabajando en un pequeño proyecto de verano, intento realizar un hash
 en VHDL
 pero no conozco el procedimiento para obtener el hash
 necesito hacerlo funcionar sin señal de reloj, esto no significa que el
 numero de pasos en python deba ser pequeño, eso no es problema
 ojala alguno pueda ayudarme con el algoritmo y luego intentare implementarlo
 en un circuito con vhdl
 si logro hacerlo funcionar lo publico y les mando un tutorial para que
 puedan probarlo facilmente
 gracias


Te refieres a que quieres el algoritmo? solo mira en la wikipedia
https://en.wikipedia.org/wiki/Md5

Y si quieres una mplementación, pues Rosetta tiene cientos
http://rosettacode.org/wiki/MD5/Implementation

-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Browser Python

2012-12-27 Por tema Carlos Zuniga
2012/12/27 Kiko kikocorre...@gmail.com:


 El jueves, 27 de diciembre de 2012, monoBOT monobot.s...@gmail.com
 escribió:

 Pues si, magnifica idea.


 2012/12/27 Jesus Cea j...@jcea.es

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Sintaxis limitada, pero prometedor:

 http://www.brython.info/

 ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante pero
 para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo lo
 véis?


Puede tener futuro similar al de herramientas como less [0]. Compilar
al vuelo durante el desarrollo y generar un archivo final en el
release. Y la ventaja sobre cosas como pyjs [1] es que no necesitas
instalar nada más que un archivo javascript en tu html.

El único paso por detrás sería con respecto a las más nuevas versiones
de python y la falta de algunos módulos (que seguro no tendrían
sentido en la web). Pero lo mismo pasa con los demás interpretes
alternativos, no? jython, ironpython, etc.

Saludos

[0] http://lesscss.org/
[1] http://pyjs.org/
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Impresion

2012-11-29 Por tema Carlos Zuniga
2012/11/29 Stalin Bello stal...@gmail.com:
 Buenos dias Lista

 Quisiera saber si existe alguna manera de imprimir directamente a la
 impresora por defecto, gracias de antemano;


Depende, que plataforma o toolkit usas?

En linux puede ser tan simple como llamar con subprocess a lpr archivo.txt.

Si usas Qt, Gtk o Wx, cada uno tienen sus propios mecanismos para imprimir.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] error bucle for

2012-11-22 Por tema Carlos Zuniga
2012/11/22 Carlos Agulló Calvo cm.agu...@gmail.com:
 he creado el siguiente programita:

 mes_entrada=raw_input ('Escribe un mes de entrada:')

 mes=open(mes_entrada,'r')

 lista_estaciones=[]


 for line in mes:
 if line[1:8] in lista_estaciones:
 pass
 else:
 lista_estaciones.append(line[1:8])


 for i in lista_estaciones:
 num_est=str(i)
 nombre_estacion='est_'  + num_est + '.txt'
 archivo_estacion=open(nombre_estacion,'a')

 for line in mes:
 print num_est
 if line [1:8]==num_est:
 archivo_estacion.write(line)
 else:
 pass
 archivo_estacion.close

 mes.close

 y el segundo bucle me falla, puesto que le digo que para cada linea del
 archivo mes me mire los caracteres del 2 al 8 y si es igual al num_est me lo
 escriba en el archivo_estacion; pero los archivos est_XXX.txt que me crea se
 me quedan vacíos.

 Como se ve, he metido un print num_est dentro del bucle para que me
 apareciera en pantalla algo, pero no me aparece en la pantalla nada de nada
 ¿sabéis por qué?


Como dice Antonio, estas al final del archivo así que el segundo bucle
no contiene nada sobre que iterar. Añade mes.seek(0) antes del segundo
bucle.

A parte quería añadir que close es un método, por lo que deberías usar
mes.close(), y mucho mejor practica, usar with:

with open(archivo, 'r') as mes:
for line in mes:
...

Con with te olvidas de tener que cerrar el archivo ya que python lo hace por tí.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] py2exe y Base Datos sqlite

2012-11-17 Por tema Carlos Zuniga
2012/11/16 Pavel Daniel Lopez Castillo pdlo...@sc.uci.cu:
 Mario lo que quiero es que mi aplicacion sea portable si lo hago con postgres 
 o mysqlite tendria que tener un servidor de postgres o mysql corriendo en la 
 maquina en la cual este trabajando con la aplicacion, yo no trabajo con 
 varios clientes conectados a la misma DB, no se si esa respuesta era para mi 
 o te equivocaste de mensaje, por si acaso ya le puse asunto a mi correo que 
 en el primero se me olvido, asi no se pierde el hilo

 Este es mi problema:
 Tengo una aplicacion hecha en python que utiliza una base de datos en SQLite, 
 el problema es que cuando creo el archivo .exe tendria que tener el 
 ejecutable en la misma direccion que el archivo principal por que sino se 
 pierde a la hora de econtrar la direccion del archivo .sqlite, por lo que si 
 copio el .exe en otra maquina u otro directorio ya no me funciona, alguna 
 idea de como resolver este problema.


Copia el archivo de la base de datos junto con el exe.

 self.conn = sqlite3.connect( 'D:/charada/src/Datos/charada.sqlite')

Usa una ruta relativa

self.conn = sqlite3.connect( 'charada.sqlite')

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] (sin asunto)

2012-11-15 Por tema Carlos Zuniga
2012/11/15 Pavel Daniel Lopez Castillo pdlo...@sc.uci.cu:
 El .exe lo creo com py2exe

 - Mensaje original -
 De: Pavel Daniel Lopez Castillo pdlo...@sc.uci.cu
 Para: python-es@python.org
 Enviados: Jueves, 15 de Noviembre 2012 11:29:23
 Asunto: [Python-es] (sin asunto)

 Tengo una aplicacion hecha en python que utiliza una base de datos en SQLite, 
 el problema es que cuando creo el archivo .exe tendria que tener el 
 ejecutable en la misma direccion que el archivo principal por que sino se 
 pierde a la hora de econtrar la direccion del archivo .sqlite, por lo que si 
 copio el .exe en otra maquina u otro directorio ya no me funciona, alguna 
 idea de como resolver este problema.

Si quieres acceder a la misma base de datos desde varios clientes,
mejor cambia a un servidor mysql o postgresql. Otra opción podría ser
mantener el archivo sqlite en un servidor de archivos montado por red
pero puede haber problemas en algunos sistemas [0].

Saludos

[0] http://www.sqlite.org/faq.html#q5
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Comunicación entre Tornado y Javascript

2012-11-14 Por tema Carlos Zuniga
2012/11/14 Diego Uribe Gamez diego.uribe.ga...@gmail.com

 Hola,

 Tengo un problema y es que no logro entender como comunicar la pagina html y 
 el servidor usando Tornado usando Javascript como intermediario, en especial 
 para traer una variable:

 como hago para disparar este código desde el navegador?
 --
 def on_message(self, message):
 print 'message received %s' % message
 --


Por lo que veo en la documentación[0], en el navegador deberías enviar
un mensaje. Intenta colocar esto dentro de tu función onopen:

ws.send('hola');

 y también que me imprima en terminal una variable enviada desde el navegador? 
 o en este caso el message

Con el print que usas debería de imprimirla.

Saludos

[0] http://www.tornadoweb.org/documentation/websocket.html
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 los datos de 'input' en una llamada HTTP POST con SimpleHTTPServer.SimpleHTTPRequestHandler

2012-11-06 Por tema Carlos Zuniga
2012/11/6 Jose Caballero jcaballero@gmail.com:
 Hola,



 como ejercicio puramente didáctico (por ahora) estoy haciendo algunas
 pruebas con las classes SimpleHTTP* que trae python [tiene que ser
 python2.4].
 He conseguido arrancar un servicio httpd, y puedo navegar con un 'browser'
 por los directorios.
 También he averiguado cómo modificar el 'output', escribiendo el contenido
 en self.wfile

 No he sido capaz de averiguar cómo parsear los datos de 'input' en caso de
 una llamada POST.
 He añadido un método do_POST():


 class MySimpleHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
 ...
 def do_POST(self):
 ...
 self.wfile.write( 'mundo\n' )


 Efectivamente, luego puedo hacer

   $ curl -d hola http://www.myserver.net:1234
   mundo
   $

 Sin embargo no he sido capaz de averiguar cómo quedarme con los datos de
 'input' en una variable. En este caso sencillo simplemente 'hola', pero
 podría ser algo más complejo (por ejemplo un diccionario).
 Lo estoy intentando con la clase cgi, pero no lo consigo.
 No sé si el problema está en el comando curl en si mismo, que no está
 completo, o que aún no he encontrado el método de la clase cgi adecuado.

 Cualquier pista que me puedan dar será más que bien recibida.

Los datos que se envía por un formulario POST se encuentran en los
headers del request. Dentro de tu método do_POST deberías poder
acceder a self.headers (que es un objeto del tipo MessageClass) para
ver los datos:
http://docs.python.org/2/library/basehttpserver.html#BaseHTTPServer.BaseHTTPRequestHandler.headers

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 los datos de 'input' en una llamada HTTP POST con SimpleHTTPServer.SimpleHTTPRequestHandler

2012-11-06 Por tema Carlos Zuniga
2012/11/6 Jose Caballero jcaballero@gmail.com:


 El 6 de noviembre de 2012 14:55, Carlos Zuniga carlos@gmail.com
 escribió:

 2012/11/6 Jose Caballero jcaballero@gmail.com:
  Hola,
 
 
 
  como ejercicio puramente didáctico (por ahora) estoy haciendo algunas
  pruebas con las classes SimpleHTTP* que trae python [tiene que ser
  python2.4].
  He conseguido arrancar un servicio httpd, y puedo navegar con un
  'browser'
  por los directorios.
  También he averiguado cómo modificar el 'output', escribiendo el
  contenido
  en self.wfile
 
  No he sido capaz de averiguar cómo parsear los datos de 'input' en
  caso de
  una llamada POST.
  He añadido un método do_POST():
 
 
  class
  MySimpleHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
  ...
  def do_POST(self):
  ...
  self.wfile.write( 'mundo\n' )
 
 
  Efectivamente, luego puedo hacer
 
$ curl -d hola http://www.myserver.net:1234
mundo
$
 
  Sin embargo no he sido capaz de averiguar cómo quedarme con los datos de
  'input' en una variable. En este caso sencillo simplemente 'hola', pero
  podría ser algo más complejo (por ejemplo un diccionario).
  Lo estoy intentando con la clase cgi, pero no lo consigo.
  No sé si el problema está en el comando curl en si mismo, que no está
  completo, o que aún no he encontrado el método de la clase cgi adecuado.
 
  Cualquier pista que me puedan dar será más que bien recibida.

 Los datos que se envía por un formulario POST se encuentran en los
 headers del request. Dentro de tu método do_POST deberías poder
 acceder a self.headers (que es un objeto del tipo MessageClass) para
 ver los datos:

 http://docs.python.org/2/library/basehttpserver.html#BaseHTTPServer.BaseHTTPRequestHandler.headers



 Ya había intentado esa vía. Sin embargo, si hago  print self.headers en
 do_POST(), esto es lo que obtengo:


 User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5
 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
 Host: www.myserver.net:1234
 Pragma: no-cache
 Accept: */*
 Content-Length: 4
 Content-Type: application/x-www-form-urlencoded
 Connection: Keep-Alive
 X-BlueCoat-Via: F7D3AB2CA1943FBA


 No veo el 'input' por ninguna parte.

Ok, parece que toda esa data la tiene en self.rfile, prueba con esto:

def do_POST(self):
l = int(self.headers['Content-Length'])
print self.rfile.read(l)

--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Seguridad en Python

2012-10-30 Por tema Carlos Zuniga
2012/10/29 Dhannier Molina dhann...@gmail.com:
 Hola!! Alguien me puede ayudar, tengo dudas en relacion a la seguridad en
 python.

 Hay alguna forma de impedir que el Bytecode generado al correr un programa
 en python sea decompilado? Es decir, que un intruso pueda generar el archivo
 .PY a partir del .PYC.

 Necesito blindar lo mejor posible mi sistema, que herramientas podría usar?.
 Saludos!!


Creo que es mucho más seguro escribir un programa con la expectativa
de que cualquiera podría tener acceso al código fuente en cualquier
momento. La seguridad por obscuridad solo es aparente.

Si lo que quieres es evitar que puedan modificar el código, eso es un
simple problema de permisos.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Seguridad en Python

2012-10-30 Por tema Carlos Zuniga
2012/10/30 Dhannier Molina dhann...@gmail.com:
 Hola!! A que te refieres con un simple problema de permisos?

A que si no quieres que el usuario modifique el programa, quítale los
permisos de escritura:

chmod -R -w directorio/del/programa

El usuario solo debería ser capaz de leer y ejecutar el programa, nada más.

 Estoy evaluando
 varias alternativas como Cython, PyPy, Pyrex y Ofuscación para proteger lo
 mejor posible mi sistema hecho en Python.

Creo que la pregunta es, protegerlo de qué? si es un sistema web y
quieres protegerlo de ataques de inyección de sql, xss, etc; ofuscarlo
no te ayudará, mejor mira herramientas de tests de penetración como
w3af.

Si es un sistema de escritorio y quieres evitar que el usuario
modifique el programa, los permisos son más que suficiente.

Si quieres evitar que un intruso pueda  modificar tu programa en un
servidor, entonces tienes que proteger al servidor.

 Y evaluar en que lenguaje de programación hacer un modulo de seguridad a
 nivel de usuario y perfiles. (Python u otro lenguaje que pueda ligarlo a
 Python).


Eso ya queda dentro de tu aplicación, es mejor escribir los permisos
de manera que aún asumiendo que el usuario pueda leer el código
fuente, esto no represente un problema de seguridad en tu aplicación.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] recomendacion para comunicacion cliente-servidor, ambos en la misma maquina

2012-10-26 Por tema Carlos Zuniga
2012/10/26 Jose Caballero jcaballero@gmail.com:
 (perdon, he enviado el mensaje a medias por error)



 El 26 de octubre de 2012 12:21, Jose Caballero jcaballero@gmail.com
 escribió:

 Hola,


 tengo un proceso 'daemon' escrito en python. Esta corriendo el 100% del
 tiempo.
 Necesitaria que algunos scripts que se ejecutan desde la linea de
 comandos, tambien escritos en python, sean capaces de enviarle mensajes a
 ese daemon.

 No hay problemas de seguridad ni de autenticacion. Ambos procesos se
 ejecutan en la misma maquina, y se presupone que las etapas de
 autenticacion/autorizacion ya se han hecho antes.
 Por otro lado, al estar en la misma maquina, y por tratarse de mensajes
 muy cortos, no hay problemas de eficiencia.

 Cual es la forma mas sencilla que me recomiendan para implementar la
 comunicacion?
 Una busqueda en google me da dos posibles alternativas (o quizas son la
 misma y a mi me parecen diferentes):


 - usar un servidor http (puede el ser el que trae python) y escuchar
 llamadas hechas por ejemplo con libcurl

 - sockets.

 Ando algo perdido. Cualquier sugerencia (o link donde pueda aprender) es mas
 que bienvenida.


Una opción es utilizar twisted:
http://twistedmatrix.com/trac/

Y una más para que invesgues es usar dbus.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Una pregunta sobre la conversion dot = xdot

2012-10-09 Por tema Carlos Zuniga
2012/10/9 Olemis Lang ole...@gmail.com:
 Hola a tod@s !

 Recientemente necesito convertir unos diagramas en formato .dot para
 obtener la misma representación en formato .xdoc . Busqué una librería
 q permitiera hacer esto sin ejecutar los comandos de Graphviz en un
 proceso o hilo aparte . Finalmente encontré yapgvb [1]_ ... pero el
 siguiente ejemplo no me funciona .

  {{{
  #!py

   from yapgvb import Graph
   from cStringIO import StringIO
   gdot = StringIO(digraph G {Hello-World})
   g = Graph.read(gdot)
  Traceback (most recent call last):
File stdin, line 1, in module
File /usr/lib/python2.6/dist-packages/yapgvb/__init__.py, line 253, in 
 read
  newgraph = cls(input_stream_or_filename)
File /usr/lib/python2.6/dist-packages/yapgvb/__init__.py, line
  551, in __init__
  GraphBase.__init__(self, arg)
File /usr/lib/python2.6/dist-packages/yapgvb/__init__.py, line
  283, in __init__
  CGraph.__init__(self,*args,**keywords)
File /usr/lib/python2.6/dist-packages/yapgvb/__init__.py, line
  187, in cgraph_init_wrapper
  CGraph.__original_init__(self, *a,**b)
  Boost.Python.ArgumentError: Python argument types in
  CGraph.__init__(Graph, cStringIO.StringI)
  did not match C++ signature:
  __init__(_object*, _IO_FILE*)
  __init__(_object*, boost::python::str, agraph_type)
  __init__(_object*, boost::python::str)
  __init__(_object*)

  }}}

 Preguntas

   - ¿Conocen alguna forma de hacer funcionar este ejemplo y
 pasar el código .dot a graphviz utilizando un objeto StringIO o
 equivalente (i.e. sin utilizar el sistema de archivos ;) ?

Parece que su constructor también acepta cadenas de python, has
intentado simplemente:

 gdot = digraph G {Hello-World}
 g = Graph.read(gdot)

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] encapsular llamadas a metodos arbitrarios desde una clase container

2012-10-05 Por tema Carlos Zuniga
2012/10/5 Jose Caballero jcaballero@gmail.com:



 UTF existe, ya no es excusa ;-)



 Vale. Ahora me toca googlear para intentar entender lo que eso significa y,
 sobre todo, como me permite escribir con tildes en un teclado americano y
 sin .Xmodmap.


setxkbmap -layout us(intl)

O en xorg.conf:

Section InputDevice
  ...
  Option XkbLayout us
  Option XkbVariant intl
EndSection

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] encapsular llamadas a metodos arbitrarios desde una clase container

2012-10-05 Por tema Carlos Zuniga
2012/10/5 Jose Caballero jcaballero@gmail.com:
 Hmmm.
 Ahora tengo que investigar qué hacer si quiero que alguno de los métodos
 acepte inputs.
 Por ej:

 container.f(1, 2, 3)

 Tengo que averiguar cómo pasar 1 2 3 a través de foo().
 Imagino que haciendo algo tipo

def foo(*k, **kw):
...
out = getatr(o, atr)(k, kw)

Solo tienes que pasarle la expansión de argumentos a la función:

out = getatr(o, atr)(*k, **kw)


 Jose
 ahora en una máquina con tildes ;)

:)

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Problema de lógica en un if

2012-09-17 Por tema Carlos Zuniga
2012/9/17 Diego Uribe Gamez diego.uribe.ga...@gmail.com

 mira que yo intente:

 if not condicion and not

 lo malo es que pasa sin hacer nada y este es el problema, como apruebo las
 dos en una sola condición?

 fi condicion and condicion

 segun lo descrito podria decir:

 try

 sin if y lo que haría es si hay error no lo hace?

 en la que me comentaste:

 if (str(type(texto[0].split( )))==type 'list') and
 (str(type(texto[1].split(,)))==type 'list'):

 Tendria que provar.

 Uno de los problemas mas frecuentes de esto es que pasa muy raro y si pasa
 y no estoy no tengo como subir de nuevo el demonio, voy a ver en terminal.

 acepto otra idea si la tienen mientras trabajo, gracias.


Todavía no termino de entender que es lo que quieres hacer, pero
puedes usar `cadena.count( )` para asegurarte de que haya espacios
en lugar de intentar usar split (es más, ya que ni siquiera usas el
split luego, creo que es mejor usar count directamente) y no es
necesario convertir el type en string, `type(variable) == list` es
suficiente.

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos de
leer manuales.
___
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] problemas con sqlite

2012-08-26 Por tema Carlos Zuniga
2012/8/26 Miguel Barraza cor...@miguelbarraza.com.ar:
 hola grupo, estoy iniciándome con sqlite en python 2.7 en windows xp.
 pero tengo un drama, no me reconoce las tablas de la base de datos. e
 probado de varias formas pero me dice que la tabla no existe. y esa misma db
 la uso con php y autoit y con esos lenguajes si puedo consultar, pero con
 python dice que las tablas no existen..tengo algún error en el código?...o
 tienen idea porqué será?.
 soy novato en python.

 el código que uso es este:
 import sqlite3
 conn = sqlite3.connect('/base.db')
 c = conn.cursor()
 c.execute(SELECT nombre FROM users Where RowId=1)
 print c.rowcount
 row = c.fetchone()
 print row[0]

 muchas gracias.

Pues no veo ningun problema, seguro que la que tienes en PHP no esta
usando sqlite2?
Que error te sale?

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Chatear con una maquina!

2012-08-14 Por tema Carlos Zuniga
2012/8/14 Diego Uribe Gamez diego.uribe.ga...@gmail.com

 Es interesante la info que me manda, pero la verdad estoy interesado es en
 este proyecto porque como comente anteriormente esto no es un chat
 ordinario, mas bien no es un chat, es mostrar lo que entran por un socket y
 al ver la ip de la maquina que lo manda poder mandarle comandos también, me
 estoy enfocando en este proyecto ya que se comunica al servidor usando
 javascript, jason y el servidor se comunica a la otra maquina usando python.

 La idea es usar este sistema como tal.

En ese caso necesitas utilizar los módulos que sboty utiliza para la
parte de la mensajería, msn_lib o xmpp según sea el caso. Aunque
podrías ver como lo han implementado como ejemplo:
https://bitbucket.org/alfonsodg/sboty/src/master/chatbot_msn_setup.py

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos de
leer manuales.
___
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] Buscando el código de HyperArch.py del Mailman

2012-08-06 Por tema Carlos Zuniga
2012/8/5 Horacio horacio9...@gmail.com:
 Buenas quiero bajar el código que está en el archivo HyperArch.py del
 mailman, sin tener que bajar todo el mailman, pero don google me da
 mucha basura, alguien me facilitaría un link donde pueda bajarlo para
 así saber como mailman hace los threads de temas...

 Saludos y gracias...

Directo del repositorio:
http://mailman.svn.sourceforge.net/viewvc/mailman/trunk/mailman/Mailman/Archiver/HyperArch.py?revision=8239view=markup

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Problemas con py-notify

2012-07-19 Por tema Carlos Zuniga
2012/7/18 José Javier Castro Matamoros el4t...@gmail.com:
 Hola a todos. Tenía un tiempo de no programar en Python; sin embargo, hoy me
 sentía un poco aburrido y me dio por divertirme un rato.

 La cosa es que estaba leyendo blogs y me encontré con py-notify, me gusto y
 di rienda suelta a mi imaginación. Para contextualizar un poco, utilizo
 Debian 6.0 estable, X y OpenBox. La versión de Python instalada es la 2.6 y
 al igual que py-notify se instaló utilizando el Apt. En fin, la cosa es que
 traté de ejecutar el siguiente código:

 import pynotify

 pynotify.init('someName')
 n = pynotify.Notification(Summary, Body)
 n.show()

 Y como consecuencia obtuve el siguiente error:

 glib.GError: Unable to connect to server

 He Googleado el error pero sin recompensa alguna. Mi pregunta es por qué se
 da este error, leí por allí que se requería dbus para que el notify
 funcionara; sin embargo, ya está instalado.

 Podría darme alguien una luz con respecto a este error.

 Saludos y muchas gracias por la ayuda que me puedan brindar.


El servidor al que no se puede conectar en este caso debe ser el
notification-daemon, revisa que lo tienes instalado.

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 resto dos horas? datetime.time

2012-07-06 Por tema Carlos Zuniga
2012/7/6 Diego Uribe Gamez diego.uribe.ga...@gmail.com

 si eso ya me dio, la cuestión es que el código que tengo saca muchas
 relaciones de horas y lo que quiero mostrar es la suma de de esas restas, la
 forma que me mostraste solo resta, mas no suma, como hago para usar
 datetime.timedelta y luego sumarle otro datetime.timedelta si es que no se
 puede + mas sin embargo muestro una forma de hacerlo:

 horas_trabajadas = datetime.datetime.min - datetime.datetime.min
 for elemento in datos:
 inicia = elemento.fecha_servidor
 termina = elemento.fecha_servidor
 tiempo = termina - inicia
 horas_trabajadas = horas_trabajadas + tiempo

 Gracias por los comentarios.


segundos = 0
for elemento in datos:
inicia = elemento.fecha_servidor
termina = elemento.fecha_servidor
tiempo = termina - inicia
segundos += tiempo.seconds

horas_trabajadas = segundos / 3600

Saludos
--
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos de
leer manuales.
___
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] Impresion hojas (+1000) con ovalo de relleno

2012-07-03 Por tema Carlos Zuniga
2012/7/3 Luis Díaz diazluis2...@gmail.com:
 Saludos.
 Sr Chema
 yo soy el que tiene q hacer el lote de impresion en un dia.
 osea personalizar las planillas.



 Gracias sr. Inigo
 ya tengo toda la data.
 mas de 1800 registros, osea planillas por personalizar (osea imprimir
 los ovalos)

 luego voy a explorar su idea..


 se me ocurrio algo mas facil, creo.

 primero visite un sitio web  (q no tengo aqui el enlace :s )
 que me permite crear fuentes online.

 y cree una fuente nueva con la unik diferencia es el  @ que camba por un 
 ovalo.

 ahora hago un script en python que tome los datos de la tabla, separa cada 
 letra
 y en un arreglo por columnas donde estan todas las letras y numero del
 alfabeto, donde el caracter
 coincida, el sistema coloca un @

 ejemplo: para expresar 147

 | 1 | 2|  3 | 4 |  5 | 6 | 7 | 8 | 0 |
 ---
 |@ |   ||@ | ||@ |||


 ahora me voy a plublisher, diagramo la ubicacion de los ovalos.
 y le digo que use mi nueva fuente, que solo tiene de especial que
 cuando escribes @, coloca es un ovalo..

 ahora enlace los datos exportados con el script de python, en plublisher.
 y listo, imprimo como si fuera corresponcia

 bueno.. es una idea, en estos dias, veo q tal, si no resulta.. pruebo
 las sugerencias



Podrías usar una tipografía con caracteres utf y utilizas este
caracter ⬤ en lugar del @.

Por cierto, por lo que entiendo quieres imprimir estas cartillas de tu
base de datos para luego escanearlas y llenar otra base datos? :P por
que no mueves los datos que ya tienes en tu base de datos
directamente?

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Impresion hojas (+1000) con ovalo de relleno

2012-07-03 Por tema Carlos Zuniga
2012/7/3 Luis Díaz diazluis2...@gmail.com:
 gracias por la respuesta.
 comento:

 las cartillas estan en blanco, yo necesito personalizarlas
 osea, que tengan el nombre de las personas que las van a usar.

 cuando las usen, marcando los ovalos correspondientes a lapiz
 (escriban su respuestas)

 yo las leo con un scanner especial (que el que sepa de una empresa que 
 fabrique
 una versión mas moderna, uff que me avise, que le compro varias! :D )

 osea, de digital, a analógico, y luego a digital :S

 aparte, ese carácter no lo conozco... como
 lo puedo imprimir fácil en un archivo de texto o en pantalla (html)
 para luego cortar y pegar
 en excel, para enlazar con publisher?


Que aparezca en el HTML o la hoja de cálculo depende de la tipografía
que utilices, aunque no creo que haya problema con las tipografías más
estándar.
Mientras tu script este marcado como codificado en utf-8, puedes
simplemente pegarlo en el código directamente:

# coding: utf-8
black_circle = u'⬤'

Saludos
-- 
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 ORM

2012-04-24 Por tema Carlos Zuniga
2012/4/23 Quique Porta quiquepo...@gmail.com:
 En principio a la base de datos que tengo que acceder es FireBird


SQLAlchemy soporta FireBird :)
___
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] py2exe no reconoce las tablas de sqlite

2012-03-06 Por tema Carlos Zuniga
2012/3/6 mauricio rodriguez rodriguez.maurici...@gmail.com:
 py2exe sqlite.DatabaseError: no such table

 La base de datos existe y el script funciona correctamente  desde la consola
 o cmd

 he
 revisado http://docs.python.org/distutils/setupscript.html#installing-additional-files
 pero no entiendo su funcionamiento o bien no es la solución al problema.


 he intentado varias configuraciones del setup.py  y nada

 mi actual setup.py

 from distutils.core import setup

 import py2exe

 import glob


 setup(console=[main.py],

       options={py2exe : {includes : [sqlite3],packages:
 [sqlite3]}})


 he probado con package_data , data_files y nada solo me falta dar vueltas
 alrededor de la pc cantando una canción buduu :P

 alguna idea ? donde esta mi error ?

 gracias por leerme


Supongo que al instalar el paquete no está copiando el archivo de la
base de datos. Puedes modificar tu programa para crearlo si no lo
encuentra, o puedes adjuntarlo a tu setup:

http://docs.python.org/distutils/setupscript.html#installing-additional-files

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Problemas con el modulo re

2012-03-05 Por tema Carlos Zuniga
2012/3/1 alito s alit...@gmail.com:
 Hola de nuevo:
 Ya tengo respuesta a mi pequeño dilema.
 Les pongo el código y espero que a alguien le sirva en un futuro.

 match1 = re.compile(r^()(.+)(\n)(UGAGGUAGUAGGUUGUAU)(\w+), re.MULTILINE)
 for match in match1.finditer(myfile):
      sequence = match.group()
      print sequence

 El detalle estaba en que cuando uno quiere buscar en diferentes líneas,
 tiene que utilizar MULTILINE, jeje...
 Si alguien tiene alguna sugerencia, es bienvenida.
 Saludos!

Cuando necesito iterar sobre pares de algo utilizo está función:

def iterpairs(iterable):
it = iter(iterable)
first = next(it)
for second in it:
yield first, second
first = second

Que por ejemplo para 'ABCDE' devuelve AB, BC, CD y DE.
En caso del código en tu primer mensaje quedaría así:

for line1, line2 in iterpairs(myfile):
match1 = re.search(r'()(.*)(\n)', line1)
match2 = re.search(r'(UGAGGUAGUAGGUUGUAU)(\w+)', line2)
if match2:
print match1.group() + \n
print match2.group() + \n


Saludos

-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Código Python protegido

2012-02-24 Por tema Carlos Zuniga
2012/2/24 Alvaro Manrique sanreikaj.fo...@gmail.com:
 MonoBot, la verdad es que py2exe no me sirve por que es sólo para windows

 Oscar, la búsqueda en google la he hecho y créeme que de muchas maneras, he
 visto la gran cantidad de debates que se han abierto sobre el tema pero al
 final no se llega a una solución o metodo.

 Esta inquietud no es nueva tengo mucho tiempo buscando una manera, tanto en
 google como analizando una solución propia, sin embargo sigo leyendo
 cualquier foro sobre el tema y voy a leer la información que me indicas

 Quice exponer el tema nuevamente aquí ya que hay gente nueva integrando la
 lista y quizá alguno tiene alguna idea.

 Sería interesante que si encontramos un buen metodo lo desarrollemos en
 conjunto.

Una opción podría ser que reescribas la parte del programa que te
interesa proteger en cython [0], un lenguaje basado en python que se
compila y luego puedes importar como modulos desde python. Luego
puedes distribuir solo los .so junto con tu programa.

Saludos

[0] cython.org
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] problema de memoria con pywebkitgtk

2012-02-13 Por tema Carlos Zuniga
2012/2/13 Jhonatan Sneider Salguero Villa sney2...@gmail.com:
 hola, que pena la insistencia, luego de buscar métodos para identificar
 fugas de memoria e intentado lo siguiente:

 * usando el modulo gc ver si el numero de objetos referenciados
 aumenta, pero este
 se mantiene estable.

 * luego de experimentar con otras paginas, puede que sea por el
 javascript contenido en la pagina:

     * con poco javascript (menos de 100 lineas) el aumento en memoria
 es apenas notable (2MB) con 100 peticiones.
     * con mucho javascript el aumento es de unos 20MB con apenas 30 
 peticiones.

 por el momento no he encontrado referencias a problemas similares (o
 puede ser mi habilidad de búsqueda)

 si tienen alguno recurso que pueda ser de ayuda les agradecería mucho.

No se si tendrá que ver, pero veo que para procesar cada archivo creas
un nuevo crawler y con el un nuevo webview. Sería mejor si mantuvieras
referencia a un solo crawler y un solo webview.

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] decidir en real time de qué clase heredar

2012-02-12 Por tema Carlos Zuniga
2012/2/12 Jose Caballero jcaballero@gmail.com:


 Efectivamente, como comenra Raúl, lo que nececitas implementas es el
 patrón factory method. Para implemetarlo en python yo suelo hacer uso
 de __new__: http://docs.python.org/reference/datamodel.html#object.__new__




 Hmm.
 No conocia __new__()
 He tenido que googlear un poco para saber de que va...
 Casi lo he conseguido. Si hago esto,


 --
 class fac(object):
     def __new__(cls, x):
     if x == 0:
     return A()
     else:
     return B()

 class A(object):
     def __init__(self):
     print '__init__ en A'
     def f(self):
     print 'f en A'

 class B(object):
     def __init__(self):
     print '__init__ en B'
     def f(self):
     print 'f en B'

 class MyClass(fac):
     pass


 o = MyClass(0)
 o.f()
 --

 obtengo lo siguiente

 __init__ en A
 f en A

 Perfecto.
 Sin embargo, si intento esto:

 --
 class fac(object):
     def __new__(cls, x):
     if x == 0:
     return A()
     else:
     return B()

 class A(object):
     def __init__(self):
     print '__init__ en A'
     def f(self):
     print 'f en A'

 class B(object):
     def __init__(self):
     print '__init__ en B'
     def f(self):
     print 'f en B'

 class MyClass(fac):
     def __init__(self):
     print '__init__ en MyClass'


 o = MyClass(0)
 o.f()
 --

 No parece que __init__() en MyClass sea invocado.
 Alguien me puede dar una pista?

Una pista? ;-)
Prueba hacer esto:

o = MyClass(0)
print o.__class__.__name__

¿Que te devuelve y por qué?

De todas maneras, en tu caso no te sirve subclasear el factory,
simplemente usa `o = fac(0)`. Tal vez si explicas mejor que es lo que
intentas hacer? No entiendo el caso de uso para eso. Tal vez intentas
hacer alguna especie de interfaz? No podrías usar un wrapper?:

class MyClass():
def __init__(self, x):
if x == 0:
self.object = A()
else:
self.object = B()

def f(self):
self.object.f()


Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] extraer cadena dentro de corchetes

2012-02-01 Por tema Carlos Zuniga
2012/2/1 Aldo Martinez Selleras a...@caonao.cu:

 On 02/01/2012 04:28 PM, Kiko wrote:



 El 1 de febrero de 2012 21:52, Aldo Martinez Selleras a...@caonao.cu
 mailto:a...@caonao.cu escribió:


    saludos a todos, soy nuevo en la lista y en el mundo de python,
    entre en el por interes propio, debido a la referencia q tengo de la
    robustez del lenguaje de programacion, y tengo una tarea ahora con
    un archivo que necesito parsear y es el primer proposito que me he
    autoindicado para hacer con python.

    resulta que es un archivo con un estructura determinada, y ya se
    como leer el archivo linea por linea, pero se me trabo el paragua al
    querer sacar una cadena que esta entre dos corchetes, pongo detalles

    la estructura del archivo es esta
    [cadena1]
    attr1 = value1
    attr2 = value2
    attr3 = value3
    attr4 = value4
    attr5 = value5

    [cadena2]
    attr1 = value1
    attr2 = value2
    attr3 = value3
    attr4 = value4
    attr5 = value5

    y ya logre hacer esto, que me gusta como funciona!

    lineas = []

    fichero = open(file.data, r)

    for linea in fichero.readlines():
            if not linea:
                    break
            if linea[0] == '[':
                    lineas.append(linea)
    print lineas
    fichero.close()


    y esto me devuelve
    [cadena1], [cadena2]

 Con lo que tienes hecho puedes hacer (solo he incluido lo que está en
 negrita, el resto es exactamente tu programa):

 lineas = []

 fichero = open(file.data, r)

 for linea in fichero.readlines():
        if not linea:
                break
        if linea[0] == '[':
                lineas.append(linea*[1:-1]*)

 print lineas
 fichero.close()

 Mira en [1] para ver más.

 [1] http://docs.python.org/tutorial/introduction.html#strings


 eso me devuelve el arreglo, pero de esta forma :(

 'cadena1]','cadena2]'

 la verdad en casi todos los intentos q hice, me daba mas problemas con el
 corchete del final, es como q mas conflictivo este


No será que hay espacios después del corchete?

Prueba  con `linea.strip()[1:-1]`

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Signal Click en gtk.ProgressBar

2012-01-31 Por tema Carlos Zuniga
2012/1/31 lesthack lesth...@gmail.com:
 Hola a todos:

 Alguno de ustedes se ha topado con la necesidad de capturar signals de
 un evento click en un progressbar de gtk ?
 Yo he intentado con algunas signals pero no he logrado capturar el
 evento Click en si, algún consejo ?

 Signals que he usado sin éxito:
  button-press-event
  button-release-event

 Saludos !!


Hola, prueba utilizando un eventbox que envuelva a tu progressbar y
manejar ahí los eventos.

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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 desarrollo web

2012-01-14 Por tema Carlos Zuniga
2012/1/14 Elias Torres elt...@gmail.com:
 Buenas soy nuevo en Python aunque tengo muchos años de experiencia en otros 
 lenguajes .

 Mi duda es si se pueden hacer desarrollos web directamente con Python sin 
 usar ningún framework tipo dyjango u otros.  En tal caso cual me recomiendan 
 para empezar??

 Mil gracias.

Puedes usar wsgi de frente si no quieres utilizar alguno de los
frameworks que existen. La mayoría de frameworks corren sobre el
mismo.

http://www.wsgi.org/

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] un poco de Flame

2011-11-26 Por tema Carlos Zuniga
2011/11/25 Anler Hernandez Peral anle...@gmail.com:
 chavales que es una broma lo de la votación, es solo para divertirnos un
 poco, así que no os preocupéis!! ^^ no obstante sí que quiero hacerles el
 switch a python aunque va a ser difícil convencerles, por lo pronto estoy
 tratando de convencer a mi compi de proyecto de hacer la administración con
 Django en lugar de programarla desde cero que a saber cuanto tardamos y con
 cuantos bugs nos topamos, pero aún así él está poniendo pegas tales como
 que si me pasa algo nadie más que yo sabe python y nadie podrá tocar la
 administración vamos que como dice el dicho: No hay peor ciego que el que
 no quiere ver

Pero usar PHP tampoco significa tener que programar la administración
desde cero. También en PHP hay buenos frameworks, ya sabes como dice
el dicho: No hay peor ciego que el que no quiere ver.

Creo que en lugar de intentar convencer que lenguaje usar, deberías
intentar convencer por que utilicen un buen framework y no reinventar
la rueda con cada proyecto.

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Esta majibu conectado con el resto de webs QA ?

2011-11-24 Por tema Carlos Zuniga
On Thu, Nov 24, 2011 at 8:20 PM, Jose Caballero
jcaballero@gmail.com wrote:
 Hola,


 Repasando hoy la lista de webs conectadas a stackoverflow no recuerdo haber 
 visto majibu. ¿Algún problema técnico?


Majibu no le pertenece a StackExchange, es más bien un clon.

Saludos

-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Global Hotkey

2011-10-19 Por tema Carlos Zuniga
2011/10/19 Chema Cortes pych...@gmail.com:
 El día 19 de octubre de 2011 07:17, lesthack lesth...@gmail.com escribió:
 Alguien ha intentado definir un global hotkey desde python ?

 Lo que busco es capturar una combinación de teclas pero general, a
 nivel global, así que googleando he dado con algunas soluciones en
 c/c++ donde usan xlib, quería ver si alguien de ustedes ya ha probado
 algo parecido con python.

 El de hace unos años, pero tal vez te sirva esta receta:

  http://code.activestate.com/recipes/203830/


Creo que esa receta se refiere a la captura de teclas en la terminal,
y lo que el OP quiere es en las X. Para eso existe esta librería, si
están usando Gtk:
http://kaizer.se/wiki/keybinder/

Y aquí un ejemplo:
https://github.com/engla/keybinder/blob/master/examples/example.py

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Consulta

2011-09-25 Por tema Carlos Zuniga
2011/9/25 Nando M ea.nand...@hotmail.com:
 Amigos.
 Estoy tratando de instalar el supervisord pero desde el gestor de synaptic

En debian el paquete se llama supervisor, supongo que Ubuntu utiliza
el mismo nombre

 ni tampoco descargando el archivo para instalarlo puesto que cuando coloco
 en la terminal python setup.py install me da el siguiente error:

 Traceback (most recent call last):
   File setup.py, line 38, in module
     from setuptools import setup, find_packages
 ImportError: No module named setuptools

 Y cuando quiero instalar setuptools mediante sudo su
 setuptools-0.6c11-py2.6.egg (o la versión 2.7) me dice:

 Id desconocido: setuptools-0.6c11-py2.6.egg

 ¿Alguna idea?

sudo su algo va a intentar loguearse con el usuario algo, seguro
que ese es el comando necesitas?

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Icono en bandeja del sistema y ratón del Mac

2011-09-03 Por tema Carlos Zuniga
2011/9/3 alfonso saavedra n4...@yahoo.es:
 Estoy usando Gtk y Python 2. Perdón por no ponerlo

En el objeto evento en el callback hay una propiedad state que
devuelve una mascara de las teclas modificadoras presionadas:

def on_click(widget, event):
if event.state  gtk.gdk.CONTROL_MASK:
print Click con Control

Aquí hay una lista de las teclas:
http://www.pygtk.org/pygtk2tutorial/sec-EventHandling.html

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Icono en bandeja del sistema y ratón del Mac

2011-09-02 Por tema Carlos Zuniga
2011/9/2 alfonso saavedra n4...@yahoo.es:
 Buenas tardes, tengo esta duda.
 Actualmente estoy programando una aplicación para Linux que muestra un icono
 en la bandeja de sistema.
 El icono responde bien con un ratón de dos botones (izquierdo muestra una
 venta con cierta información si la hay y con el derecho muestra el menu)
 pero un amigo usa un ratón del Mac Os, el cual solo tiene un botón.
 E estado buscando alguna solución para que se abra el menu, bien con un
 doble click, bien si al pulsar se detecta que se pulso alguna tecla (Alt o
 Control), pero no e encontrado nada.
 A ver si alguien me puede hechar una mano.
 Gracias de antemano.

Que GUI estas utilizando, GTK, Qt?
___
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] flash en python

2011-08-08 Por tema Carlos Zuniga
2011/8/8 Felix Perez felix.listadeb...@gmail.com:
 El día 8 de agosto de 2011 02:12, Pavel Stephan Muñoz
 minib...@gmail.com escribió:
 Una última cosa: creo que esto te dará alguna pista:
 http://www.rkblog.rk.edu.pl/w/p/webkit-pyqt-rendering-web-pages/
 Muchas pero muchas gracias Pavel, te agradezco tu tiempo y
 comentarios.  Comenzaré a buscar info y leer lo que me has enviado.


Por que no usas phonon con qt o gstreamer con gtk directamente en
lugar de poner el video sobre flash?
A parte de que te ahorras un intermediario, vas a tener una mayor
cantidad de formatos y codecs disponibles y mayor control sobre el
video.

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Problemas con executemany desde python con SQLite

2011-06-08 Por tema Carlos Zuniga
Hola,

2011/6/8 Manuel Enrique González Ramírez maeng...@gmail.com:
 Hola a tod@s,
 Estoy tratando de insertar un archivo desde Python con SQLite.  La primera
 vez funciono sin inconvenientes, pero al vaciar la tabla y correr nuevamente
 el script falla arrojando este error:
 Traceback (most recent call last):
   File /home/manuel/python/diferencias/temp2.py, line 45, in module
     c.executemany('insert into tabla(secuencia) values(?)', secc)
 AttributeError: 'str' object has no attribute 'executemany'

Parece que tu objeto c es una cadena de texto, no un cursor de sqlite


 El fragmento del codigo
 secc= csv.reader(open('datosg.csv'))
 c.executemany('insert into tabla(secuencia) values(?)', secc)
 conexion.commit()


Tal vez te falta c = conexion.cursor() antes de ese fragmento?

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Mapear un 'get_attr' [P]

2011-06-04 Por tema Carlos Zuniga
2011/6/4 Edinson Padron edinson.padro...@gmail.com:

 te refieres a getattr?

     getattr(x, 'att')


 lamentablemente no es a lo que me refiero, recuerdo que es semejante a lo
 siguiente:

 map(funcion('attr'), iterable)

ahh, un closure, tendrías que definir una función así:

def getxattr(attr):
def foo(x):
return getattr(x,attr)
return foo

map(getxattr('attr'), iterable)

No sé si ya existe esa función


     [x.att for x in iterable]


 lo considere, pero como map esta implementado en C, es mucho mas rápido que
 una list comprehension

Estas seguro? un simple test me muestra que la list comprehension es
mucho más rápida:

 import timeit
 timeit.timeit('map(lambda x: x.numerator, a)', 'a=(1,2,3,4)')
2.7023310661315918

 timeit.timeit('map(getxattr, a)', 
a=(1,2,3,4)
def getxattr(x):
return x.numerator
)
2.5119788646697998

 timeit.timeit(map(getxattr('numerator'),a), 
a=(1,2,3,4)
def getxattr(attr):
 def foo(x):
 return getattr(x, attr)
 return foo
)
4.4668419361114502

 timeit.timeit('[x.numerator for x in a]', 'a=(1,2,3,4)')
1.0678210258483887

Esto usando python 2.6

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Mapear un 'get_attr' [P]

2011-06-04 Por tema Carlos Zuniga
2011/6/4 Carlos Zuniga carlos@gmail.com:
 2011/6/4 Edinson Padron edinson.padro...@gmail.com:

 te refieres a getattr?

     getattr(x, 'att')


 lamentablemente no es a lo que me refiero, recuerdo que es semejante a lo
 siguiente:

 map(funcion('attr'), iterable)

 ahh, un closure, tendrías que definir una función así:

    def getxattr(attr):
        def foo(x):
            return getattr(x,attr)
    return foo

    map(getxattr('attr'), iterable)

 No sé si ya existe esa función


     [x.att for x in iterable]


 lo considere, pero como map esta implementado en C, es mucho mas rápido que
 una list comprehension

 Estas seguro? un simple test me muestra que la list comprehension es
 mucho más rápida:

     import timeit
     timeit.timeit('map(lambda x: x.numerator, a)', 'a=(1,2,3,4)')
    2.7023310661315918

     timeit.timeit('map(getxattr, a)', 
    a=(1,2,3,4)
    def getxattr(x):
        return x.numerator
    )
    2.5119788646697998

     timeit.timeit(map(getxattr('numerator'),a), 
    a=(1,2,3,4)
    def getxattr(attr):
         def foo(x):
             return getattr(x, attr)
         return foo
    )
    4.4668419361114502


Ligera modificación para evitar generar la función foo en cada
iteración, pero la velocidad aún queda lejos...

 timeit.timeit('map(bar,a)', 
a=(1,2,3,4)
def getxattr(attr):
def foo(x):
return getattr(x, attr)
return foo
bar=getxattr('numerator')
)
3.4971849918365479
___
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] Mapear un 'get_attr' [P]

2011-06-03 Por tema Carlos Zuniga
2011/6/3 Edinson Padron edinson.padro...@gmail.com:
 Saludos a todos,

 silly question... no logro recordar una función y mucho menos el modulo que
 la contiene, posiblemente la reconozcan si les describo la situación para la
 cual fue desarrollada:

 map(lambda x: x.att, iterable)

 obviamente dicha función cumple el objetivo de esta porción del código
 'lambda x: x.att'


te refieres a getattr?

getattr(x, 'att')

por otro lado, tambien podrias usar esto:

[x.att for x in iterable]

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] saber capacidad de un directorio en especifico

2011-05-24 Por tema Carlos Zuniga
2011/5/21 Yixander de la Paz Milán ydmi...@estudiantes.uci.cu:
 hola comunidad:

 Necesito como saber la capacidad que ocupa en el disco un directorio en 
 específico, por ejemplo /opt/PostgreSQL/9.0, existe alguna librería o alguna 
 forma para ello?


 nota: no soy usuario root por lo que no puedo ejecutar el comando du -sh 
 /opt/PostgreSQL/9.0 por que no tengo permisos...


No hay manera de verificar el tamaño de un directorio al que no tienes acceso.

Añade a tu usuario al grupo al que pertenece ese directorio (verifica
que el grupo tenga permisos de lectura).

Si no quieres/puedes añadir el usuario al grupo (ya que eso le puede
dar acceso a otros directorios), podrías usar acl para darle el
permisos específico de lectura a ese usuario sobre ese directorio.
Algo como `setfacl -R -m user:juanperez:rX /opt/PostgreSQL/9.0`

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Numerar columnas

2011-05-12 Por tema Carlos Zuniga
2011/5/12 Alejandra Zavala alit...@gmail.com:
 Que tal...
 Tengo una duda enorme, alguien sabe como enumerar columnas?
 Tengo lo siguiente en un archivo fulanito.txt:

 M    0.84259    0.90549    0.39297
 A    0.79168    0.83342    0.17866
 S    0.65917    0.79865    0.10998
 W    0.64073    0.67772    0.22135

 Y quiero que el programa me enumere las columnas para que queden de la
 siguiente forma:

 1 M    0.84259    0.90549    0.39297
 2 A    0.79168    0.83342    0.17866
 3 S    0.65917    0.79865    0.10998
 4 W    0.64073    0.67772    0.22135

 Y así sucesivamente hasta que acabe el archivo.
 Alguien tiene alguna idea?
 Saludos!


Si necesitas un programa solo para eso, no reinventes la rueda:

$ nl fulanito.txt

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Recordar órdenes

2011-04-29 Por tema Carlos Zuniga
2011/4/29 Douglas Jiménez doug...@gmail.com:
 ¡Hola a tod@s!

 Estoy tratando de usar Python 3.1 desde el terminal. Mi problema actual es
 que no consigo acceder a las órdenes anteriores mediante el uso de las
 flechas de dirección, sino que tengo que tipearlas de nuevo. En Python 2.6
 podía tener acceso a esas órdenes mediante las flechas arriba y abajo. ¿Hay
 alguna manera de hacerlo en 3.1?

Que distro utilizas?
Es un paquete de sus repositorios o descargado de python.org o de otro lado?

-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Recordar órdenes

2011-04-29 Por tema Carlos Zuniga
2011/4/29 Douglas Jiménez doug...@gmail.com:
 El 29 de abril de 2011 12:41, Carlos Zuniga carlos@gmail.com escribió:

 2011/4/29 Douglas Jiménez doug...@gmail.com:
  ¡Hola a tod@s!
 
  Estoy tratando de usar Python 3.1 desde el terminal. Mi problema actual
  es
  que no consigo acceder a las órdenes anteriores mediante el uso de las
  flechas de dirección, sino que tengo que tipearlas de nuevo. En Python
  2.6
  podía tener acceso a esas órdenes mediante las flechas arriba y abajo.
  ¿Hay
  alguna manera de hacerlo en 3.1?

 Que distro utilizas?
 Es un paquete de sus repositorios o descargado de python.org o de otro
 lado?

 Ahora que me haces la pregunta, caigo en cuenta de que estoy trabajando con
 una instalación que bajé desde python.org. En principio lo hice pues como
 Ubuntu 10.04 me instala automáticamente Python 2.6.5 yo pensé que 3.1 no
 estaba en los repositorios; luego de instalar me di cuenta (mi torpeza, lo
 reconozco) de que sí estaba. Así que hice una instalación con Synaptic,
 pensando que quizás desplazaría la instalación manual anterior, pero no fue
 así.

 Siguiendo una sugerencia que conseguí  en la red, la instalación manual la
 hice abriendo una terminal en el directorio desempaquetado y corriendo las
 órdenes siguientes:

 .\configure
 checkinstall -D make install

 El problema es que ahora no sé como desinstalarlo para proceder a instalar
 la versión de los repositorios.


Si usaste checkinstall estás de suerte, este te genera un archivo deb
del programa instalado para una fácil desinstalación.

Mira con dpkg `dpkg -l python*` para buscar que paquete es el que has
creado y lo desinstalas con un `aptitude purge python...`

Suerte
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Fwd: Lectura de archivos planos tipo logsurfer

2011-03-27 Por tema Carlos Zuniga
2011/3/27 Manuel Enrique González Ramírez maeng...@gmail.com:
 El 27 de marzo de 2011 16:01, Alfonso de la Guarda alfons...@gmail.com
 escribió:

 Hola,

 contenido es un objeto de tipo file, por ende puedes emplear read(),
 readlines() , etc.



 Saludos,

 
 Alfonso de la Guarda
 Centro Open Source(COS)
 http://www.cos-la.net
 http://alfonsodg.net
    Telef. 991935157
 1024D/B23B24A4
 5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4



 2011/3/27 Carlos Herrera Polo carlos.herrerap...@gmail.com:
  -- Forwarded message --
  From: Carlos Herrera Polo carlos.herrerap...@gmail.com
  Date: Sun, 27 Mar 2011 22:58:54 +0200
  Subject: Re: Lectura de archivos planos tipo logsurfer
  To: Alfonso de la Guarda alfons...@gmail.com
 
  Buena idea, no se me habia ocurrido usar tail.
  La variable contenido en el ejemplo que representa ? Una lista ? Un
  texto enorme con el resultado de tail ?
 
  El 27/03/11, Alfonso de la Guarda alfons...@gmail.com escribió:
  Hola,
 
  Pues yo emplearía (tal como lo he hecho antes) popen (aunque desde 2.6
  ya es un método obsoleto)
 
  import os
  contenido = os.popen(tail -n 50 /var/log/syslog)
  print contenido.read()
  if contenido.read() .,.
 
  En tail cambia el 50 por la cantidad de líneas que quieras y
  obviamente metelo en un loop (con pausa) o como una tarea programada
  (cron)

 Y si al tail le agregas un grep para buscar algo en concreto te quedará más
 eficiente

 contenido = os.popen(tail -n 50 /var/log/syslog | grep -i 'error_a_buscar'
 )


 
 
  Saludos,
 
  
  Alfonso de la Guarda
  Centro Open Source(COS)
  http://www.cos-la.net
  http://alfonsodg.net
     Telef. 991935157
  1024D/B23B24A4
  5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4
 
 
 
  2011/3/27 Carlos Herrera Polo carlos.herrerap...@gmail.com:
  Ilustres, quisiera tener su opinion al respecto..
 
  Administro ciertos servidores linux, y consolido la informacion de los
  logs de estos en un unico servidor con el servicio syslog-ng, los logs
  son archivos planos que se almacenan en formato ASCII, un log por cada
  servicio/servicio.
  Quisiera desarrollar un programa simple que me alerte por correo de
  ciertos eventos que ocurren en los logs Existe un programa llamado
  logsurfer, escrito en C que hace esto...
  Mi idea es hacer un logsurfer pero en python, pero no se como trabajar
  la lectura de estos archivos planos que cada uno debe tener varios
  megas de peso, y son escritos cada segundo, ustedes como lo harian ?
  Porque hacer fileread por cada uno y luego irme hasta las ultimas
  filas como que no seria eficiente...
 

Si la preocupación es que sea eficiente, no sería mejor usar solamente
python en lugar de abrir más procesos?

Mira este algoritmo que implementa tail en python, es eficiente por
que comienza a buscar desde atrás, así que no lee el archivo completo
si no es necesario:

http://stackoverflow.com/questions/136168/get-last-n-lines-of-a-file-with-python-similar-to-tail/136368#136368

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
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] Blog sobre web2py

2010-06-12 Por tema Carlos Zuniga
2010/6/11 RadicalEd willian.radica...@gmail.com:
 Muy buena la iniciativa, pero, por qué web2py y no Django???


Ese sería un buen post, cuales son las diferencias, ventajas y
desventajas de web2py frente a django?

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de Prueba y error podrán ahorrarte minutos
de leer manuales.
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


  1   2   >