Re: [Python-es] Duda con distribución de software (d ll MSVCR90 y otras)

2010-05-19 Por tema Boris Perez Canedo


 El d�a 18 de mayo de 2010 20:57, Boris Perez Canedo 

inf200...@ucf.edu.cu escribi�: 
 
 Acabo de
terminar una aplicaci�n en python y al compilarla me pone al final 

un grupo de dlls de las cuales mi sistema depende. Mi pregunta es la 

siguiente:�Puedo�redistribuir las�dlls cuya ruta de acceso est�n
por debajo 
 del directorio de instalaci�n de python, o sea, que no
son del sistema 
 operativo? Me salta esta duda porque hace poco lei un
tutorial de py2exe y 
 en la �ltima secci�n ven�a como
obtener la dll MSVCR90 y�hablaba de los 
 permisos de
distribuci�n, luego encontr� un hilo aqu� que explicaba c�mo

 obtener dicha dll�f�cilmente. Seg�n entend� en
el hilo la MSVCR90 viene por 
 que los binarios de python para Windows se
compilan con Microsoft Visual C++ 
 9 y que pod�a encontrarla en el
directorio de intalaci�n de python si lo 
 instalaba en modo
�solo para este usuario�. 
 Entonces hay o no problemas al incluir
esta o cualquier otra dll que este en 
 el directorio de python e intentar
redistribuir el software? 
 
 La librer�as de Microsoft VC++
que usa python son librer�as 
 redistribuibles bajo ciertas
restricciones. Estas librer�as se 
 instalan en el sistema (no en el
directorio python) y son: 
 
 msvcr90.dll 
 msvcp90.dll 
 msvcm90.dll 
 
 Las restricciones vienen explicadas dentro del
fichero LICENSE.txt. 
 Resumidamente vienen a decir que debes respetar el
copyright de 
 microsoft, que quede claro que tu aplicaci�n no proviene
de microsoft 
 y que no vas a usar estas librer�as para cualquier
ilegalidad :-P 
 
 Pero te dir�a m�s: se
recomienda distribuir estas DLLs junto con el 
 ejecutable
(side-by-side) para evitar as� problemas con otras 

versiones que est�n instaladas en el sistema. Pero ten en cuenta que 

con win2k no funcionar�a, ya que se requiere instalar siempre estas 

DLLs en el sistema (basta con ejecutar el Visual C++ Redistributable 

Package) y que hay tres versiones diferentes seg�n la arquitectura: 
 i686, x64 e ia64.�

Hola y muchas gracias por la aclaraci'on.

Saludos,
Boris


---
Convencion Internacional de Psicologia y Ciencias Sociales y Humanas
Cienfuegos, Cuba, del 19 al 22 de abril del 2011
http://promociondeeventos.sld.cu/hominis2011
___
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] wmi

2010-05-13 Por tema Boris Perez Canedo


style type=text/css
-/style
Tengo que implementar una aplicaci�n que sea capaz de
enviarme informaci�n acerca de los perif�ricos que se tiene en una
determinada posici�n (monitor, impresora, webcam, scanner, etc).

Estuve investigando acerca de la libreria WMI de python y resulta ser muy 
buena, pero
no pude encontrar la forma de saber si el monitor, impresora estan prendidos.

Quizas alguien tenga experiencia trabajando con WMI, o talves exista otra forma 
de
hacerlo.

Saludos;
C�sar

Hola Cesar,

WMI es la implementacion de microsoft del estandar de administracion�WBEM de 
DMTF
solo te sirve, si no me equivoco,�para encuestar maquinas con sistema operativo
Windows. Puedes�encuestar maquinas Windows�desde Linux instalando el paquete
python-wmi o desde Windows instalando WMI y Win32.�

Para encuestar
maquinas con Linux necesitas instalar un servidor CIM, sfcb, pegasus o�OpenWBEM 
en
las maquinas que quieras monitorear ya que desgraciadamente no vienen con este 
servicio
instalado por defecto. Ademas no creo que existan proveedores para las clases
CIM_DesktopMonitor, CIM_Printer esta ultima no se si es asi como se llama. Esos
proeedores tendrias que implementarlos tu. Afortunadamente se pueden incluso 
escribir en
python.

Bueno lo que preguntas:

Si utilizas WMI para encuestar una
maquina con Windows puedes hacer lo siguiente:

import wmi

con =
wmi.WMI(computer = remotecomputer, user = usuario, password =
�secreto)

result = con.query(select�DeviceID from
win32_DesktopMonitor) # o select * from win32_DesktopMonitor si quieres hacer 
una
especie de inventario.

if result == []:
���print No
hay monitor
else:
��print El monitor esta
conectado.

Bueno mas o menos esa es la idea. Puedes perfeccionarla un
poco, manejar las exceptions, etc.

Para los�demas tendrias que ver el
esquema CIM y buscar las clases necesarias y ademas ver si esos proveedores son 
o no
soportados por el servidor CIM que vas a encuestar.

Saludos,
Boris.



---
Convencion Internacional de Psicologia y Ciencias Sociales y Humanas
Cienfuegos, Cuba, del 19 al 22 de abril del 2011
http://promociondeeventos.sld.cu/hominis2011
___
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] Listar las computadoras de un dominio

2010-05-07 Por tema Boris Perez Canedo





El 7 de mayo de 2010 15:17, Boris Perez Canedo inf200...@ucf.edu.cu escribi�:




El 6 de mayo de 2010 20:27, Boris Perez Canedo inf200...@ucf.edu.cu escribi�:

Vale, yo estaba tomando por el caso de soy un usuario est�ndar en una
m�quina sin permisos espec�ficos con el servidor DNS y quiero hacer
esto, que creo que es lo que quiere hacer el compa�ero.

�Quiz�s deber�a aclararnos �l su situaci�n y el
objetivo de la pregunta.



El 6 de mayo de 2010 12:46, Ricardo C�rdenes Medina ricardo.carde...@gmail.com 
escribi�:


2010/5/6 Alberto Curro bertothun...@gmail.com:

 Justo es lo que iba a decir yo :)

 Si est�s hablando
de dominio, a secas, se sobreentiende que hablas de un
 dominio del
directorio Activo o el cl�sico de Windows NT Server/2000.


Ser� cosa del contexto :P Yo ni siquiera hab�a pensado en Windows :)


 Que yo sepa, no hay manera f�cil, o siquiera posible,
de obtener las
 m�quinas gestionadas en un dominio DNS, de forma legal
al menos.


S� se puede, solicitando una transferencia de dominio. Claro que tiene
que
consultarse a un servidor con autoridad y �ste debe permitir
transferencias
hacia el computador que hace la consulta. Ej:


Hola,
Gracias por las respuestas.

Realmente todo lo que quiero es un
listado de las computadoras que est�n en un dominio. Planeo hacer consultas wmi
(windows management instrumentation) a todas.

Me gustar�a que fuese a
trav�s de python y con python, aunque voy a probar lo del net view en
Windows.�

Saludos,
Boris.



� Vale, era lo que yo pensaba...

� Consulta el
m�todo NetServerEnum de la DLL� NetApi32.dll, que te devuelve eso mismo. Yo
lo he usado con C, C++ y Python. Con las extensiones win32 de python no tendr�s
problema en acceder a ese m�todo. 

� http://msdn.microsoft.com/en-us/library/aa370623%28VS.85%29.aspx

�Saludos





�



Muchas gracias.

Acabo de revisarlo, veo que hay un ejemplo
(documentaci�n de python para windows)para eso mismo. En la parte del servidor
supongo que debo poner el servidor DNS. Estoy en lo correcto?

Saludos,
Boris.







Este m�todo no te vale para la parte DNS, que es lo que al final veo que
quieres hacer. NetServerEnum te devuelve LAS MAQUINAS EN UN DOMINIO/ACTIVE 
DIRECTORY DE
WINDOWS, no en un dominio DNS. No acabas de aclarar exactamente de las dos 
opciones,
c�al es la buena para t�.

�Si es para el dominio o
directorio activo windows, s� te valdr�a, y el servername ser�a
NULL (te lo dice en la documentaci�n de la URL que te puse).

�Dinos en palabras lisas y llanas qu� quieres hacer y te podremos ayudar
mejor, o al menos guiarte m�s directamente.

Si mira, disculpa si no me
he explicado bien. Me conviene m�s lo del DNS, olvid� mencionar que
adem�s deseo encuestar m�quinas cuyo sistema operativo no es Windows y por
lo tanto no ser� posible a traves de wmi, en este caso utilizar� el
est�ndar wbem de DMTF. Aunque�es posible integrar una m�quina Linux a
un dominio Windows, en mi entorno esta m�quina Linux que quiero gestionar 
pudiese
no estar integrada y como me explicas arriba no saldr�a con el NetServerEnum.
Entonces�el DNS es, al parecer, la soluci�n que necesito.

Saludos,
Boris.






---
Convencion Internacional de Psicologia y Ciencias Sociales y Humanas
Cienfuegos, Cuba, del 19 al 22 de abril del 2011
http://promociondeeventos.sld.cu/hominis2011
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Listar las computadoras de un dominio

2010-05-05 Por tema Boris Perez Canedo


Hola,

Es posible, utilizando python, obtener un listado de las computadoras
que est�n en un dominio dado?

Saludos,
Boris.


---
Convencion Internacional de Psicologia y Ciencias Sociales y Humanas
Cienfuegos, Cuba, del 19 al 22 de abril del 2011
http://promociondeeventos.sld.cu/hominis2011
___
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] Test de funcionamiento - Ignorar

2010-04-26 Por tema Boris Perez Canedo


 Hola 
 
 Me caus� un poco de gracia al leer este mensaje,
y claro, lo ignor� 
 como dec�a el post, y luego leo otro mensaje

 respuesta al mensaje hehe 
 
 Pasando a algo OT me
llam� la atenci�n eso de: contestaci�n, es 
 correcto? o
ser�a: respuesta. 
 
 Ya no creo que se pueda ignorar ahora el
hilo :) 
 
 El d�a 26 de abril de 2010 11:05, damufo
dam...@gmail.com escribi�: 
 Esta es una contestaci�n
a la prueba. 
 
 En 2010/04/26 15:08, Oswaldo Hern�ndez
escribiu: 
 
 Hola, 
 Este mensaje es
un simple test para verificar el funcionamiento correcto 
 de la lista,
por favor ignorarlo. 
 

___ 
 Python-es mailing list

 Python-es@python.org 

http://mail.python.org/mailman/listinfo/python-es 
 FAQ:
http://python-es-faq.wikidot.com/ 
 
Hola,

Es probable
que�no sea yo el m�s indicado para responder. El pasado guarda hilos
escalofriantes :)� pero� mira esto en google: define:contestacion

contestaci�n: acci�n y efecto de contestar.

Saludos,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Dive Into Python Must Die

2010-04-26 Por tema Boris Perez Canedo


 Ah� est� el quid de la cuesti�n, se aprende Python, pero no a
programar. 
 Las t�cnicas que ense�a son propensas a generar
c�digo estilo Perl en 
 Python (o sea, ilegible xD). 
 
 Un saludo. 
 
 On 26/04/2010 17:33, Douglas Cerna wrote: 
 He visto a algunos inconscientes recomendarlo como libro 
 para aprender Python para gente que part�a de 0. 
 
 Fue con el que yo aprend� Python desde 0 ;) 
 
 Si a alguien le interesa la nueva edici�n est�
disponible aqu�: 
 
 http://diveintopython3.org/ 
 
 Douglas 
 
 ...
all�� es cuando te das cuenta que las cosas malas pueden resultar bastante

 buenas... - Lionel Messi 
�

No se
cu�les puedan ser sus opiniones. Pero encuentro a la ayuda de python muy buena
para aprender desde cero. As� lo hice yo, me parece que combina muy bien la
sencillez y la profundidad de forma general. Como es l�gico la lista me ha
ayudado mucho, y de una manera u otra siempre me ha apuntado a una direcci�n 
para
resolver los problemas.

Es una pena que no conozca en Cuba de algo como lo
que uds. preparan en Espa�a y dem�s pa�ses. Me gustar�a que
algo como lo que uds. organizan por all� pudiese hacerse tambi�n
aqu�, aunque no creo que se est� haciendo. Si hay alg�n cubano o
cubana por all�, o leyendo este mensaje desde aqu�, que conoce de python
en Cuba que me lo haga saber si es que est� de acuerdo en presentarle Cuba a
Python y viceversa. De seguro que se llevan de lo mejor! :)

Saludos,
Boris.




---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] ejecutar una función cada cierto tiemp o.

2010-04-16 Por tema Boris Perez Canedo


 On 15/04/10 18:57, Boris Perez Canedo wrote: 
 
 Necesito
hacer un script que corra constantemente y cada cierto tiempo 
 ejecute una
funci�n: 
 
 Dale un vistazo a este paquete y nos cuentas: 
 
 http://packages.python.org/APScheduler/�

Muchas
Gracias. Voy a revisarlo.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] ejecutar una función cada cierto tiemp o.

2010-04-15 Por tema Boris Perez Canedo


Hola a todos.

Necesito hacer un script que corra constantemente y cada cierto
tiempo ejecute una funci�n:

Se que podr�a utilizar al s.o.
(programar una tarea) pero me interesa hacerlo con python porque es parte de un 
sistema
que estoy haciendo y ha de funcionar en cualquier s.o.

La idea que tengo es
la siguiente:

En un archivo de configuraci�n tengo el d�a de la
semana y la hora en que ha de correrse la funci�n, ser�a algo
as�:

0-08:00:00 � 3600

Con expresiones regulares
separo el d�a de la semana (en este caso 0 es Lunes) y la hora (08:00:00).
Podr�a solo aparecer un n�mero, en este caso significa que la
funci�n se correr� una vez que transcurra ese tiempo en segundos.

Para el segundo caso me resulta sencillo hacerlo y ser�a algo como esto:

def funcion():
�� hacer algo

def
Para2doCaso(conf_file):
� ��� while True:

dia, hora = obtener_config(conf_file)


if hora == :

��
#estamos en el segundo caso (dia contiene los segundos a esperar).
��
funcion() # ejecuto mi funcion
��
time.sleep(int(dia)) # espero

else:
���
# aqui viene la otra forma de configuracion y mi duda.


Pongo dentro del ciclo dia, hora = obtener_config(conf_file) porque aunque es
cierto que en el segundo caso puede llegar a ejecutarse la funci�n cada, por
ejemplo, 1 segundo, no es lo com�n, lo normal es que se ejecute de 30 o 40
minutos en adelante y necesito que sea revisada la configuraci�n ya que puede
llegarse a cambiar en ese tiempo.


Gracias por adelantado.

Saludos,
Boris.
�� 
��� 
�� 




---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Rotar tablas en ReportLab?

2010-04-07 Por tema Boris Perez Canedo


 On Martes 06 Abril 2010 15:25:09 Boris Perez Canedo escribi�: 

 On Viernes 02 Abril 2010 14:33:23 Boris Perez Canedo escribi�: 

 Hola, 
  
  Es posible rotar una
tabla con su 
 
 contenido en reportlab? Sucede que 
  �No 
 
 ser�a preferible cambiar la
orientaci�n a landscape en vez de portrait 
 
  para esas
p�ginas en concreto?� 
 
 �Hola y gracias por 

la respuesta, 
 
 Soy bastante nuevo con reportlab. C�mo hago
para hacer 
 lo que dices arriba? y c�mo puedo determinar si una consulta
me va producir 
 una tabla que se saldr� de los l�mites para entonces
cambiar la 
 orientaci�n para esas p�ginas? 
 


 Saludos, 
 Boris. 
 
 
 --- 
 La mejor vacuna contra el virus A(H1N1) es la higiene
personal 
 
 cuando generes el documento utiliza
pagesize=landscape(A4) 
 A4 si es el tama�o de p�gina que usas.

 Te pego el siguiente c�digo de ejemplo de las listas de reportlab: 
 def go(): 
 doc = SimpleDocTemplate(phello.pdf) 

Story = [Spacer(1,2*inch)] 
 style = styles[Normal] 
 for
i in range(100): 
 bogustext = (This is Paragraph number %s.  % i)
*20 
 p = Paragraph(bogustext, style) 
 Story.append(p) 

Story.append(Spacer(1,0.2*inch)) 
 from reportlab.lib.pagesizes import A4,
LETTER, landscape, portrait 
 doc.pagesize = landscape(A4) 

doc.build(Story, onFirstPage=myFirstPage, onLaterPages=myLaterPages)�

Hola,�
Ya� probe lo del landscape, pero aun asi las tablas se salen del
area, en verdad son muy grandes, lo que hice fue dividirlas en otras tablas 
utilizando
esta funcion:



def split(table, table_style, table_align, availableSpace,tablas = []):

tb = Table(table)
tb.setStyle(table_style)
tb.hAlign = table_align
if
tb.minWidth() = availableSpace:
�
tablas.append(tb)

else:
� indexes = range(len(table[0]))
� indexes.sort(reverse = True)
��for x in indexes:
��� pos = x
newTable = [
y[0:x] for y in table]
��
�tb = Table(newTable)
tb.setStyle(table_style)
��� tb.hAlign =
table_align
if
tb.minWidth() = availableSpace:
��
tablas.append(tb)
���break�
� splitNew = [y[pos:] for y in table]
��split(splitNew, table_style, table_align,
availableSpace, tablas)

Me funciona bastante bien, pero hay que tener cuidado
con los estilos porque si al dividir una tabla resulta una que tiene solo una 
columna y
el estilo general define mas de una columna te da un error de indice.
Tengo un
problema para definir el valor para availableSpace este debe ser igual al por 
ejemplo
A4[0] - 2*margen. C�mo obtengo el margen?

Saludos,
Boris.





---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Rotar tablas en ReportLab?

2010-04-06 Por tema Boris Perez Canedo


 On Viernes 02 Abril 2010 14:33:23 Boris Perez Canedo escribi�: 
 Hola, 
 
 Es posible rotar una tabla con su
contenido en reportlab? Sucede que 
 realizo un reporte cuyas tablas son
muy grandes y ni siquiera disminuyendo 
 el tipo de letra, el padding y
otras cosas logro ajustarlas a la hoja. 
 
 Se que 
 podr�a intentar rotarla por c�digo sin utilizar reportlab pero eso no me 
 rotar�a como tal el contenido de la tabla, es decir, el contenido seguir�a

 horizontal. 
 
 
 Gracias de
antemano, 
 
 Boris. 
 
 �No
ser�a preferible cambiar la orientaci�n a landscape en vez de portrait 
 para esas p�ginas en concreto?�

�Hola y gracias por
la respuesta,

Soy bastante nuevo con reportlab. C�mo hago para hacer
lo que dices arriba? y c�mo puedo determinar si una consulta me va producir una
tabla que se saldr� de los l�mites para entonces cambiar la
orientaci�n para esas p�ginas?


Saludos,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Rotar tablas en ReportLab?

2010-04-06 Por tema Boris Perez Canedo



Hola
Sospecho que tendr�s que cambiar la orientaci�n de la p�gina. A
ver si te vale esto:
http://two.pairlist.net/pipermail/reportlab-users/2005-January/003647.html

te pego la parte relevante:

def _landscape(canv, doc): canv.rotate(90) canv.translate(0,-A4[0])  def
buildDocTemplate(fname, indexer): dt = BaseDocTemplate(fname) sb = 0
 address
= Frame(dt.leftMargin + cm*8, A4[1] - 9.5*cm, 7*cm, 4*cm, 
id='address',showBoundary=sb) 
   additional = Frame(0, A4[1] - 5.6*cm, 7*cm, 1*cm, 
id='additional',showBoundary=sb)   
 summary = Frame(1*cm, 1*cm, A4[1] - 2*cm, A4[0] - 
2*cm,id='summary',showBoundary=sb)   
 bollettini1 = Frame(-0.55*cm, (A4[0] / 2)+0.15*cm, A4[1], A4[0]/2 -
1*cm,id='bollettini1',showBoundary=sb) bollettini2 = Frame(-0.55*cm, 0.2*cm,
A4[1],A4[0]/2 - 1.4*cm,id='bollettini2',showBoundary=sb)
dt.addPageTemplates([PageTemplate(id='address',frames=[additional,address],onPageEnd=indexer.addressPage),

PageTemplate(id='summary',frames=summary,onPage=_landscape,onPageEnd=indexer.summaryPage),

PageTemplate(id='bollettini',frames=[bollettini1,bollettini2],onPage=_landscape,onPageEnd=indexer.ccpPage),
]) return dt 



El 02/04/10 14:33, Boris Perez Canedo escribi�: Hola,

Es posible rotar una tabla con su contenido en reportlab? Sucede que realizo un
reporte cuyas tablas son muy grandes y ni siquiera disminuyendo el tipo de 
letra, el
padding y otras cosas logro ajustarlas a la hoja.

Se que podr�a
intentar rotarla por c�digo sin utilizar reportlab pero eso no me rotar�a
como tal el contenido de la tabla, es decir, el contenido seguir�a horizontal.


Gracias de antemano,

Boris.
Muchas
gracias,

Voy a echarle un vistazo pero la verdad es que no entiendo nada.
Estoy reci�n salido del cascar�n con reportlab.

Saludos,
Boris.








---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Obtener nombre de campos tabla mysql

2010-04-05 Por tema Boris Perez Canedo


 Te refer�s a esto? :mysql describe nombre de la tabla; 
 Un saludo y avisa si te funcion�. 
 -- 
 Machi
Conca.�

Hola, si me funcion�, muchas gracias.

Saludos,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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ómo determinar mi ip?

2010-04-02 Por tema Boris Perez Canedo


 Arnau Sanchez escribi�: 
 On 02/04/10 12:56, Oswaldo
Hern�ndez wrote: 
 
 Tambien puedes utilizar el
m�dulo socket: 
 
  import socket

  socket.gethostbyname_ex(socket.gethostname()) 
 ('oswaldo', [], ['192.168.50.1', '192.168.2.2']) 
 
 En los foros comentan que esta soluci�n -que s� sirve en
seg�n qu� 
 casos- no es muy fiable. Por ejemplo, el
resultado en mi m�quina (con 
 interfaces eth0 y wlan0 levantados)
no es especialmente �til: 
 
 In [2]:import socket 
 
 In [3]:socket.gethostbyname_ex(socket.gethostname()) 
 Out[3]:('localhost', ['latitude'], ['127.0.0.1']) 
 

Raro..., socket.gethostname() te devuelve 'localhost' en vez del nombre 
 de tu
maquina, por eso gethostbyname_ex() te da 127.0.0.1. 
 
 Que resultado
te da si ejecutas: 
 socket.gethostbyname_ex('latitude') 
 


 
Gracias a todos por las respuestas voy a empezar a probar.

Saludos,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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ómo determinar mi ip?

2010-04-02 Por tema Boris Perez Canedo


 Yo prepar� dos funciones para esto: una que me da la ip pas�ndole el

 interfaz de red, y otra que me da la ip pas�ndole una ip a la que 
 quiero acceder. Con lo que si hay un interfaz de red para salir a 

internet y otro para la red local, puedo usar el que necesite. Para 
 salir a
internet, le paso por defecto el valor de uno de los DNS root 
 mundiales, pero
valdr�a cualquier ip que sepas que est� en internet. 
 

def get_ip_inet_address(connection_ip='198.41.0.4'): 

Returns the ip address of the interface used to connect to the given
ip 
 
 198.41.0.4 is a DNS ROOT Server, so it's the default value to

 connect to Internet 
  
 s =
socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
 s.connect((connection_ip,
0)) 
 inet_address= s.getsockname()[0] 
 s.close() 

logging.getLogger().debug(Inet Address: + inet_address) 
 return
inet_address 
 
 
 Si necesitas la que calcula la ip de un
interfaz, d�melo. 
 
Ok, Gracias, me puedes enviar la otra si no te
es molestia :)

Saludos.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Ayuda con py2exe y pywin32 para compilar servicios

2010-04-02 Por tema Boris Perez Canedo


 Boris Perez Canedo escribi�: 
  Boris Perez Canedo
escribi�: 
  ... 
  Acabo de instalar un
ejemplo: serviceEvent.py (serviceEvent.py 
 install), 

 lo puedo ver en la lista de servicios, pero al intentar iniciarlo me 
  dice lo siguiente: El servicio no ha respondido a la petici�n
o inicio 
  del control en un tiempo adecuado. 

 
  A qu� puede deberse eso? Es un demo de python!

  
  
  En mi equipo carga
perfectamente: 
  
 
C:...\Demos\serviceserviceevents.py install 
  
 
Installing service PyServiceEventDemo 
  Service installed 
  
  C:...\Demos\servicenet start PyServiceEventDemo

  
  El servicio de Python Service Event 
 
Demo est� inici�ndose. 
  El servicio de
Python Service Event 
 
Demo se ha iniciado con �xito. 
  
  Y tambien funciona :) , al pinchar una memoira usb
aparece en el Visor 
  de sucesos (Aplicacion): 
 
Origen: PyServiceEventDemo, 
 
Descripci�n: 
 
A device event occurred: 8000 - DEV_BROADCAST_INFO:{'devicetype': 5, 
 
'name': '\\', 'classguid': 
 IID('{A5DCBF10-6530-11D2-901F-00C04FB951ED}')}

  
  La unica diferencia aparente es que me ha
parecido ver que tu tienes 
  python 2.6 y yo python 2.5, pero es raro
que sea debido a eso. 
  
  El mensaje que te aparece
no indica que el servicio haya fallado, sino 
  que no ha respondido en
el tiempo que windows espera. 
  
  �Que
hardware tienes?, Version de Windows? 
  
  -- 
  Oswaldo Hern�ndez 
 
 Reenv�o el
correo, no estoy seguro de que el otro lleg�, 
 laptop Compaq Evo,
pentium 4, Windows XP SP 2. Crees que la versi�n SP 2 
 pueda tener
que ver con este problema? 
 
 
 No, no es problema el
SP2. El equipo no es muy potente, imagino que como 
 mucho solo tiene 512 MB de
memoria, pero deber�a funcionar. 
 
 Echale un vistazo al visor
de sucesos por si hay algun mensaje que te 
 indique algo. Tambi�n
puedes verificar si es un problema de timeout 
 ajustando este par�metro
en el registro de windows: 
 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control 
 
 Agrega la
clave 'ServicesPipeTimeout' (DWORD), el valor se expresa en 
 milisegundos, por
lo que para darle, por ejemplo 60 segundos de espera 
 ponle un valor de 6.
No se si es necesario que reinicies el equipo. 
 
 Mas info en:
http://support.microsoft.com/kb/824344 
 
 OjO, las
modificaciones del registro son delicadas, aseg�rate que lo 
 haces bien
y una vez terminadas las pruebas d�jalo como estaba. 
 
Hice ambas
cosas, cuando intento iniciarlo continua el mensaje, revic� en el visor de
sucesor y es un error (Service Control Manager).





---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] validar accesibilidad a una URL sin hacer download

2010-04-02 Por tema Boris Perez Canedo


Hola,

quisiera poder comprobar que una
determinada URL existe y es accesible, pero sin 'descargar' su contenido, 
simplemente
comprobar que el server est� activo, que el usuario no ha escrito mal la URL 
(sin
'typos'), etc., pero sin tener que descargar su contenido. Podr�a hacer un 
simple
wget the la URL y ver si funciona, pero no me interesa. 

Intuyo que puedo
usar el m�todo HEAD de HTTP que simplemente devuelve la metainformaci�n
contenida en el HEAD. En principio eso seria suficiente. Ejemplo:

$ curl
--head http://www.google.com
HTTP/1.0 200
OK
Date: Fri, 02 Apr 2010 15:00:37 GMT
Expires: -1
Cache-Control:
private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie:
PREF=ID=09c3639ccf643ace:TM=1270220437:LM=1270220437:S=lY6HpKCqZ3lZEW9_; 
expires=Sun,
01-Apr-2012 15:00:37 GMT; path=/; domain=.google.com
Set-Cookie:
NID=33=i_y0e-Tq2pAw8HxXMzD3KeH_H4Lqve81UH1WT_kQAwdJnRd0paMJz4KMZcp2cr1JqY35AkjVwYfK2UbPtlu_-9k4R0nFAuGe93JmxxebhGSdDtAxngWmq-FgfWELdfp0;
expires=Sat, 02-Oct-2010 15:00:37 GMT; path=/; domain=.google.com;
HttpOnly
Server: gws
X-XSS-Protection: 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

$ curl --head http://www.google.comm
HTTP/1.0 503 Service Unavailable
Server: squid/3.0.STABLE8
Mime-Version: 1.0
Date: Fri, 02 Apr 2010 15:08:02
GMT
Content-Type: text/html
Content-Length: 1823
Expires: Fri, 02 Apr
2010 15:08:02 GMT
X-Squid-Error: ERR_DNS_FAIL 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

Pero de esta forma es necesario hacer demasiado
'parsing', y no siempre la primera l�nea contiene OK aunque la URL
sea v�lida. No tengo demasiado claro c�mo puedo validar la URL a partir de
este tipo de resultados. 

He estado mirando un poco las clases urllib y
urllib2, pero no acabo de ver c�mo puedo hacer la validaci�n sin que el
contenido de la URL se descargue cuando existe. Si alguien tiene alg�n 'link' a
un ejemplo de c�mo validar una URL sin necesidad de descargar su contenido,
v�lido para python2.3, estar� eternamente agradecido. 


Muchas gracias. Saludos cordiales,

Jose

Hola Jose,

la
primera linea no siempre contiene OK, pero no puedes obtener el c�digo de
respuesta e interpretarlo?

En el primer caso el c�digo es 200
y
en el segundo 503, utiliza las expresiones regulares.

Ejemplo:
(HTTP/\d\.\d)\s(\d{3})
en el grupo 1 tienes la versi�n del protocolo y en
el grupo 2 el c�digo.

import re
reobj =
re.compile(r(HTTP/\d\.\d)\s(\d{3}))

match =
reobj.search(primera_linea)

if match:
���version = match.group(1)
�� codigo = match.group(2)


Saludos,
Boris.







---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] validar accesibilidad a una URL sin hacer download

2010-04-02 Por tema Boris Perez Canedo





El 2 de abril de 2010 11:45, Boris Perez Canedo inf200...@ucf.edu.cu escribi�:


�
Hola,

quisiera poder comprobar que una determinada URL existe
y es accesible, pero sin 'descargar' su contenido, simplemente comprobar que el 
server
est� activo, que el usuario no ha escrito mal la URL (sin 'typos'), etc., pero
sin tener que descargar su contenido. Podr�a hacer un simple wget the la URL y
ver si funciona, pero no me interesa. 

Intuyo que puedo usar el m�todo
HEAD de HTTP que simplemente devuelve la metainformaci�n contenida en el HEAD. 
En
principio eso seria suficiente. Ejemplo:

$ curl --head http://www.google.com
HTTP/1.0 200 OK
Date: Fri, 02 Apr
2010 15:00:37 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie:
PREF=ID=09c3639ccf643ace:TM=1270220437:LM=1270220437:S=lY6HpKCqZ3lZEW9_; 
expires=Sun,
01-Apr-2012 15:00:37 GMT; path=/; domain=.google.com
Set-Cookie:
NID=33=i_y0e-Tq2pAw8HxXMzD3KeH_H4Lqve81UH1WT_kQAwdJnRd0paMJz4KMZcp2cr1JqY35AkjVwYfK2UbPtlu_-9k4R0nFAuGe93JmxxebhGSdDtAxngWmq-FgfWELdfp0;
expires=Sat, 02-Oct-2010 15:00:37 GMT; path=/; domain=.google.com;
HttpOnly
Server: gws
X-XSS-Protection: 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

$ curl --head http://www.google.comm
HTTP/1.0 503 Service Unavailable
Server: squid/3.0.STABLE8
Mime-Version: 1.0
Date: Fri, 02 Apr 2010 15:08:02
GMT
Content-Type: text/html
Content-Length: 1823
Expires: Fri, 02 Apr
2010 15:08:02 GMT
X-Squid-Error: ERR_DNS_FAIL 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

Pero de esta forma es necesario hacer demasiado
'parsing', y no siempre la primera l�nea contiene OK aunque la URL
sea v�lida. No tengo demasiado claro c�mo puedo validar la URL a partir de
este tipo de resultados. 

He estado mirando un poco las clases urllib y
urllib2, pero no acabo de ver c�mo puedo hacer la validaci�n sin que el
contenido de la URL se descargue cuando existe. Si alguien tiene alg�n 'link' a
un ejemplo de c�mo validar una URL sin necesidad de descargar su contenido,
v�lido para python2.3, estar� eternamente agradecido. 


Muchas gracias. Saludos cordiales,

Jose



Hola Jose,

la primera linea no siempre contiene OK, pero no puedes obtener el
c�digo de respuesta e interpretarlo?

En el primer caso el
c�digo es 200
y en el segundo 503, utiliza las expresiones regulares.

Ejemplo:
(HTTP/\d\.\d)\s(\d{3})
en el grupo 1 tienes la versi�n
del protocolo y en el grupo 2 el c�digo.

import re
reobj =
re.compile(r(HTTP/\d\.\d)\s(\d{3}))

match =
reobj.search(primera_linea)

if match:
���version = match.group(1)
�� codigo = match.group(2)

�



Saludos,
Boris.




�
Hola Boris,

eso podr�a valer. �Es siempre 200
cuando todo va bien? Si es siempre el mismo n�mero, o al menos un conjunto
conocido de n�meros, eso me vale. 


Gracias,
Jose

S� que es un conjunto conocido de n�meros (c'odigos de estado del
protocolo http), no los conozco todos habr�a que investigarlos, pero
s� 200 significa que est� bien, por ejemplo si la memoria no me falla 407
significa que no tienes autorizaci�n, el 503 de tu ejemplo tiene una descripcion
a continua�ci�n Service Unavailable que me parece muy
expl'icita, o sea, la url tiene que estar mal, y es cierto almenos en tu 
ejemplo www.google.comm�

Revisa esta
direcci�n http://en.wikipedia.org/wiki/List_of_HTTP_status_codes,
estoy en la escuela y mi conexi�n es bastante lenta.

Saludos,
Boris.







---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Obtener nombre de campos tabla mysql

2010-04-02 Por tema Boris Perez Canedo


Hola,

Necesito saber qu� consulta realizar para obtener el nombre de
los campos de una tabla (mysql). Si es posible claro!

Saludos y Gracias por
adelantado,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] validar accesibilidad a una URL sin hacer download

2010-04-02 Por tema Boris Perez Canedo





El 2 de abril de 2010 15:06, Jose Caballero jcaballero@gmail.com escribi�:



El 2 de abril de 2010 11:45, Boris Perez Canedo inf200...@ucf.edu.cu escribi�:

�



�
Hola,

quisiera poder comprobar que una determinada URL existe y es
accesible, pero sin 'descargar' su contenido, simplemente comprobar que el 
server
est� activo, que el usuario no ha escrito mal la URL (sin 'typos'), etc., pero
sin tener que descargar su contenido. Podr�a hacer un simple wget the la URL y
ver si funciona, pero no me interesa. 

Intuyo que puedo usar el m�todo
HEAD de HTTP que simplemente devuelve la metainformaci�n contenida en el HEAD. 
En
principio eso seria suficiente. Ejemplo:

$ curl --head http://www.google.com
HTTP/1.0 200 OK
Date: Fri, 02 Apr
2010 15:00:37 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie:
PREF=ID=09c3639ccf643ace:TM=1270220437:LM=1270220437:S=lY6HpKCqZ3lZEW9_; 
expires=Sun,
01-Apr-2012 15:00:37 GMT; path=/; domain=.google.com
Set-Cookie:
NID=33=i_y0e-Tq2pAw8HxXMzD3KeH_H4Lqve81UH1WT_kQAwdJnRd0paMJz4KMZcp2cr1JqY35AkjVwYfK2UbPtlu_-9k4R0nFAuGe93JmxxebhGSdDtAxngWmq-FgfWELdfp0;
expires=Sat, 02-Oct-2010 15:00:37 GMT; path=/; domain=.google.com;
HttpOnly
Server: gws
X-XSS-Protection: 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

$ curl --head http://www.google.comm
HTTP/1.0 503 Service Unavailable
Server: squid/3.0.STABLE8
Mime-Version: 1.0
Date: Fri, 02 Apr 2010 15:08:02
GMT
Content-Type: text/html
Content-Length: 1823
Expires: Fri, 02 Apr
2010 15:08:02 GMT
X-Squid-Error: ERR_DNS_FAIL 0
X-Cache: MISS from
httpproxy4.bnl.vip
X-Cache-Lookup: MISS from httpproxy4.bnl.vip:3128
Proxy-Connection: close

Pero de esta forma es necesario hacer demasiado
'parsing', y no siempre la primera l�nea contiene OK aunque la URL
sea v�lida. No tengo demasiado claro c�mo puedo validar la URL a partir de
este tipo de resultados. 

He estado mirando un poco las clases urllib y
urllib2, pero no acabo de ver c�mo puedo hacer la validaci�n sin que el
contenido de la URL se descargue cuando existe. Si alguien tiene alg�n 'link' a
un ejemplo de c�mo validar una URL sin necesidad de descargar su contenido,
v�lido para python2.3, estar� eternamente agradecido. 


Muchas gracias. Saludos cordiales,

Jose



Hola Jose,

la primera linea no siempre contiene OK, pero no puedes obtener el
c�digo de respuesta e interpretarlo?

En el primer caso el
c�digo es 200
y en el segundo 503, utiliza las expresiones regulares.

Ejemplo:
(HTTP/\d\.\d)\s(\d{3})
en el grupo 1 tienes la versi�n
del protocolo y en el grupo 2 el c�digo.

import re
reobj =
re.compile(r(HTTP/\d\.\d)\s(\d{3}))

match =
reobj.search(primera_linea)

if match:
���version = match.group(1)
�� codigo = match.group(2)

�



Saludos,
Boris.





�
Hola Boris,

eso podr�a valer. �Es siempre 200
cuando todo va bien? Si es siempre el mismo n�mero, o al menos un conjunto
conocido de n�meros, eso me vale. 


Gracias,
Jose






Me respondo yo mismo:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html


Muchas gracias por todo. 
Saludos,
Jose


Ok, fue un placer.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Ayuda con py2exe y pywin32 para compilar servicios

2010-03-31 Por tema Boris Perez Canedo


Hola a todos,

Estoy tratando de convertir mi aplicaci�n en un servicio
de windows uando: win32serviceutil.ServiceFramework y luego utilizo py2exe para
compilar.
Sigo el ejemplo publicado en: 
http://islascruz.org/html/index.php?gadget=StaticPageaction=Pageid=6
La cuestion es que compila y cuando hago myservice.exe -install todo
parece ir bien, chequeo si el servicio aparece en la lista, y est�, pero cuando
intento correrlo me sale un mensaje que dice qlgo asi como que el servicio se
inici� y luego se detuvo.�
Tengo entendido que el sevicio debe estar
corriendo constantemente, incluso sin hacer nada.
Si lo corro en IDE de python
puedo ver que se mantiene corriendo y funciona correctamente, no entiendo por 
qu�
no ocurre lo mismo cuando es compilado, instalado e iniciado.
Este es el
c�digo que intento hacer funcionar:

# fichero RunningAsService.py
import win32serviceutil
import win32service
import win32event
import
os
import sys
import time
from ThreadedXMLRPCServer import
ThreadedXMLRPCServer_BasicAuth, SecureXMLRPCServer, ServerFunction
from
processServerConfig import ReadServerFile
from ProcessAuth import ReadAuthFile
import RunSystem #aqui hay una clase que es la que corre a secure y a server en
diferentes hilos.(tomada del tutorial)

#secure es una instancia de
SecureXMLRPCServer
#server lo es�de ThreadedXMLRPCServer_BasicAuth
# la
configuracion para secure y server la leo de un fichero xml que contiene entre 
otras
cosas�los
#puertos, una lista de ip autorizados, una lista de usuarios
autorizados,..., y el path para los ficheros cert.pem
# y key.pem usados por secure
para ssl
def main():
�
sys.path.insert(0,os.getcwd())# viene en el ejemplo del link, creo es para
poder�detener el servicio
� import RunSystem
� secure = ...#creo
mi�instancia
� server =
...#creo mi�instancia
��service =
RunSystem.RunServers(secure,None,server)# corren en hilos separados

class
XmlRPCService(win32serviceutil.ServiceFramework):
��� _svc_name_ =
'ServiceTest'
��� _scv_display_name_ ='Servicio XML-RPC de
prueba'
��� def __init__(self, args):
���
win32serviceutil.ServiceFramework.__init__(self, args)
��� self.hWaitStop =
win32event.CreateEvent(None, 0, 0, None)
��� def SvcStop(self):
���
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
��� sys.stopservice = true#
seg�n el tutorial es necesario para poder detener el servicio, ya que no hay
foma
���# de accederlo desde aqu�
��� win32event.SetEvent(self.hWaitStop)
��� def SvcDoRun(self):
���
main()

Nota: para correrlo en el IDE de python no utilizo esta clase,
simplemente invoco al main(), que es lo que haria el m�todo SvcDoRun() cuando ya
este compilado el servicio.


del m�dulo
RunSystem.py, para correr los servidores endiferentes hilos
class RunServers:
��� def __init__(self, server1, report_server,server2 = None):
��� self.server1 = server1
��� self.server2 = server2
��� self.report_server = report_server
��� thread.start_new(self.run1, tuple())
��� thread.start_new(self.run2, tuple())
��� thread.start_new(self.run_report_server,
tuple())
��� while True:# se mantiene
corriendo hasta que sea detenido usando herramientas administrativas servicios
��� if
getattr(sys,'stopservice', False):# para detener el servicio(ver def
SvcStop(self)�)
���
sys.exit()
���
time.sleep(0.3)# no entiendo esto para que es
��� def run1(self):
��� if self.server1:
���
self.server1.serve_forever()
��� def run2(self):
��� if self.server1:
���
self.server2.serve_forever()
��� def run_report_server(self):
��� if self.report_server:
���
self.report_server.serve_forever()
��� def
run_date_checker(self):
��� print
Hello#estoy lo voy a utilizar luego para correr otro hilo(por ahora no se
utiliza)
#
## El setup.py que utilizo para compilar el servicio es el
siguiente

setup(name = 'XMLRPCService', version = '1.0.0.0',service =
['RunningAsService'],include = ['win32serviceutil','win32service',
��
'win32event','ThreadedXMLRPCServer',
�
'processServerConfig','ProcessAuth',
��
'RunSystem','os','re','time','sys','base64',
���
'SocketServer','ssl','xmlrpclib','pythoncom','SimpleXMLRPCServer','thread']�)

Tengo mis dudas sobre los par�metros de setup. Tengo entendido que
service debe contener los m�dulos que implementan clases de
servicio(win32serviceutil.ServiceFramework), pero no se si tengo que ponerlas
tambi�n en el include, tampoco me queda claro si por ejemplo, al incluir un
m�dulo que importa, por ejemplo, a�SimpleXMLRPCServer no es necesario ya
poner SimpleXMLRPCServer en la lista include o si todo lo que importe de una 
forma u
otra tiene que aparecer expl�citamente en esta lista.

Disculpen haber
escrito 

Re: [Python-es] programar un servicio

2010-03-29 Por tema Boris Perez Canedo


Hola a todos.

Tengo un servidor xml rpc y
necesito que corra en windows sin necesidad de instalar python y que pueda
ser gestionado con herramientas administrativas servicios.

Ya aqui comentaron
algo sobre py2exe si es que mal no recuerdo, pero la verdad es que estoy en 
cero en este
asunto.

En realidad tengo que hacer que mi aplicacion funcione tanto en
windows con en linux, y aprobecho para preguntar como puedo hacer algo similar 
en linux
, sin la parte de no instalar python claro esta.

gracias de antemano.




�

Ok, disculpen lo de aprovecho, no vayan a pensar que los cubanos escribimos
mal. y lo de las tildes, sobre estas ultimas tengo mi propia opinion al 
respecto,
deberian desaparecerlas del idioma, no se pongan bravos :�)

Saludos.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] sobre los acentos

2010-03-29 Por tema Boris Perez Canedo


 El d�a 29 de marzo de 2010 14:32, Boris Perez Canedo 

inf200...@ucf.edu.cu escribi�: 
 Hola a todos. 


  
 Ok, disculpen lo de
aprovecho, no vayan a pensar que los cubanos escribimos 
 mal. y lo de las
tildes, sobre estas ultimas tengo mi propia opinion al 
 respecto, deberian
desaparecerlas del idioma, no se pongan bravos :�) 
 
 
 Claro ya que toco y toc� son lo mismo �no
es cierto? al igual que 
 te y t�. 
�

No, no son lo mismo, pero tengo entendido que ya se ha
flxibilizado el uso de las tildes en algunas palabras, ejemplo: solo que se 
acentua
cuando viene de solamente pero que ya no es obligatorio hacerlo si por el 
contexto
pueden diferenciarse, asi, por el contexto, muchas palabras no necesitarian 
acento
grafico.
Y no solo hablo de acentos, hay verbos que son de madre para conjugarlos y
que la sabiduria popular ofrece quizas la mejor conjugacion jamas ofrecida
por un catedratico.

Hace algun tiempo lei un trabajo de Gracia Marquez, no
recuerdo el titulo, o era un discurso, bueno la verdad no lo recuerdo, me 
parecio muy
interesante, pero si recuerdo esto: ...simplifiquemos la gramatica antes de que 
la
gramatica termine por simplificarnos a nosotros...� Voy a realizar una busqueda 
a
ver que aparece sobre esto.

Espero, amigo mios, que no lo tomen a mal, si ese
fuere el caso, pues empiezo a acentuarlo todo!!! :)

Saludos,
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] sobre los acentos

2010-03-29 Por tema Boris Perez Canedo


 El d�a 29 de marzo de 2010 14:32, Boris Perez
Canedo 
 escribi�: 
 Hola a todos. 
 
  
 Ok, disculpen lo de
aprovecho, no vayan a pensar que los cubanos escribimos 
 mal. y lo de las
tildes, sobre estas ultimas tengo mi propia opinion al 
 respecto, deberian
desaparecerlas del idioma, no se pongan bravos : ) 
 
 

Claro ya que toco y toc� son lo mismo �no es
cierto? al igual que 
 te y t�. 
 

No, no son lo mismo, pero tengo entendido que ya se ha flxibilizado el uso de
las tildes en algunas palabras, ejemplo: solo que se acentua cuando viene de 
solamente
pero que ya no es obligatorio hacerlo si por el contexto pueden diferenciarse, 
asi, por
el contexto, muchas palabras no necesitarian acento grafico.
Y no solo hablo de
acentos, hay verbos que son de madre para conjugarlos y que la sabiduria
popular ofrece quizas la mejor conjugacion jamas ofrecida por un catedratico.

Hace algun tiempo lei un trabajo de Gracia Marquez, no recuerdo el titulo, o 
era un
discurso, bueno la verdad no lo recuerdo, me parecio muy interesante, pero si 
recuerdo
esto: ...simplifiquemos la gramatica antes de que la gramatica termine por
simplificarnos a nosotros... Voy a realizar una busqueda a ver que aparece sobre
esto.

Espero, amigo mios, que no lo tomen a mal, si ese fuere el caso, pues
empiezo a acentuarlo todo!!! :)




Era un discurso, en el que, obviamente, yo no estaba presente, 
http://www.mundolatino.org/cultura/garciamarquez/ggm6.htm�se
titula: Botella al mar para el dios de las palabras, esta muy interesante y 
recomiendo
lo lean, a continuancion aparece una entrevista dada por el autor respecto a la
repercusion de sus palabras.

Bien, borron y cuenta nueva, no me eliminen las
tildes, pero vamos a hacernos la vida mas facil.

Saludos.
Boris.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] no consigo grabar xml

2010-03-27 Por tema Boris Perez Canedo
×Îù~Ë­­ª{ó®wïôÓ^ößM5Ópersona
	usuario
		datos_pesonales
			nombreBoris/nombre
			primerapellidoP#233;rez/primerapellido
			segundoapellidoCa#241;edo/segundoapellido
			dnisu dni/dni
			direccioncalle 63/direccion
			restodireccion6814A/restodireccion
			codigopostal08001/codigopostal
			poblacionCuba/poblacion
			provinciaCienfuegos/provincia
			telefono5/telefono
		/datos_pesonales
		datosempresa
			nombreempresa0/nombreempresa
			colegio0/colegio
			numerocolegiado1/numerocolegiado
		/datosempresa
	/usuario
	intervinientes
		arquitecto1
			nombrenombre arq1/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoarq1/numerocolegiado
		/arquitecto1
		arquitecto2
			nombrenombre arq2/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoarq2/numerocolegiado
		/arquitecto2
		arquitecto3
			nombrenombre arq3/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoarq3/numerocolegiado
		/arquitecto3
		arquitecto4
			nombrenombre arq4/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoarq4/numerocolegiado
		/arquitecto4
		aparejador1
			nombrenombre apa1/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoapa1/numerocolegiado
		/aparejador1
		aparejador2
			nombrenombre apa2/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoapa2/numerocolegiado
		/aparejador2
		aparejador3
			nombrenombre apa3/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoapa3/numerocolegiado
		/aparejador3
		aparejador4
			nombrenombre apa4/nombre
			primerapellido1apellido arq/primerapellido
			segundoapellido2apellido arq/segundoapellido
			dnisu dni/dni
			direcciondireccion/direccion
			restodireccionrestodireccion/restodireccion
			codigopostal08001/codigopostal
			telefono5/telefono
			numerocolegiadoapa4/numerocolegiado
		/aparejador4
	/intervinientes
/persona___
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 hacer reportes?

2010-03-23 Por tema Boris Perez Canedo


 2010/3/22 Olemis Lang (Simelix) olemis...@gmail.com: 

2010/3/22 Boris Perez Canedo inf200...@ucf.edu.cu: 
 
 El 22 de marzo de 2010 14:18, Olemis Lang (Simelix)
olemis...@gmail.com 
 escribi�: 
 
 2010/3/22 Marcelo Barbero marcelobarb...@arnet.com.ar: 
 
 Nunca lo he usado, pero algunas veces se ha mencionado
en esta misma lista 
 reportlab. 
 

Saben de donde puedo descargar un instalador�para windows? Uso python 2.6, 
 ah y que no sea de sourceforge! 
 
 
 Respuesta obvia : PyPI 
 
 ;o) 
 
 
 http://pypi.python.org/pypi/reportlab/2.4 
 
 -- 
 Regards, 
 
 Olemis. 
Gracias.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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 hacer reportes?

2010-03-22 Por tema Boris Perez Canedo


 2010/3/22 Marcelo Barbero marcelobarb...@arnet.com.ar: 
 
 [...] 
 
 � � � �Hola a todos, 
 
 � � � �Necesito saber como puedo hacer
reportes en python, tengo informacion 
 almacenada en una base de datos y
me gustaria guardar el resultado de una 
 consulta en un formato html y/o
pdf y saber si se pueden incluir resultados 
 graficamente. 


 � � � �Gracias de antemano. 
 �
� � �Boris. 
 
 
 En otra lista,
se sugiri� Geraldo Reports: http://geraldoreports.appspot.com/ 

Espero que te sirva. 
 Marcelo 
 
 

Sospecho que no va ha ser muy �til este enlace porque el remitente del 

mensaje original (juzgando por la direcci�n de correo ;o) est� en Cuba 
 y por tanto Google App Engine est� bloqueado (por Google) [1]_ . 
 
 
De todas formas, si hubiera algo para Python como ( Chrystal
Reports | 
 Rave ) me sumo a la lista de los que quieren saber. 
 
 .. [1] Forbidden country error message (Cuba in this case, but maybe 

others) - msg#01417 

(http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html) 
 
 .. [2]
Re: Forbidden country error message (Cuba in this case, but 
 maybe others) -
msg#01420 
 (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html) 
 
 -- 
 Regards, 
 
 Olemis.�
Gracias Marcelo,

Si, Olemis,�tienes razon, estoy en Cuba, pero ese
problemita del dichoso�bloqueo me lo puedo saltar.�
Hay otros sitios, en
especial sourceforge, que me son muy utiles que tambien estan bloqueados.

Saludos.
Boris.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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 hacer reportes?

2010-03-22 Por tema Boris Perez Canedo





El 22 de marzo de 2010 14:18, Olemis Lang (Simelix) olemis...@gmail.com 
escribi�:
2010/3/22 Marcelo Barbero
marcelobarb...@arnet.com.ar:

[...]


 � � � �Hola a todos,

 � � � �Necesito saber como puedo hacer reportes en python,
tengo informacion
 almacenada en una base de datos y me gustaria guardar el
resultado de una
 consulta en un formato html y/o pdf y saber si se pueden
incluir resultados
 graficamente.

 � � �
�Gracias de antemano.
 � � � �Boris.


 En otra lista, se sugiri� Geraldo Reports: http://geraldoreports.appspot.com/
 Espero que te sirva.
 Marcelo



Sospecho que no va ha ser muy �til este enlace porque el remitente del
mensaje original (juzgando por la direcci�n de correo ;o) est� en
Cuba
y por tanto Google App Engine est� bloqueado (por Google) [1]_ .

De todas formas, si hubiera algo para Python como ( Chrystal Reports |
Rave
) me sumo a la lista de los que quieren saber.

.. [1] Forbidden country error
message (Cuba in this case, but maybe
others) - msg#01417
� � �
� (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01417.html)

.. [2] Re: Forbidden country error message (Cuba in this case, but
maybe others)
- msg#01420
� � � � (http://osdir.com/ml/GoogleAppEngine/2009-09/msg01420.html)




Nunca lo he usado, pero algunas veces se ha mencionado en esta misma
lista reportlab. 

Saludos,
Jose

Saben de donde puedo
descargar un instalador�para windows? Uso python 2.6, ah y que no sea de
sourceforge!

Saludos,
Boris.






---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Socket SSL

2010-03-17 Por tema Boris Perez Canedo


 Hola 
 
 Estoy intentando usar SSL sobre un socket que tengo
establecido entre un 
 cliente y un servidor pero no consigo que me funcione.
Me da un error al 
 inicializar el SSL. 
 
 Comentar que uso
Python 2.5 y uso `socket.ssl()' en vez de 
 `ssl.wrap_socket()'. 
 
 El error que me da es: 
 socket.sslerror: (1, 'error:140770FC:SSL
routines:SSL23_GET_SERVER_HELLO:unknown 
 protocol') 
 
 El
c�digo que ejecuto es: 
 
 # Cliente #

 import socket 
 s = socket.socket(socket.AF_INET,
socket.SOCK_STREAM) 
 s.connect(('localhost', )) 
 ss =
socket.ssl(s) 
 ### 
 

## Servidor ## 
 import socket 
 s =
socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
 s.bind(('', )) 
 s.listen(5) 
 s1, c = s.accept() 
 ss = socket.ssl(s1) 
 ## 
 
 He intentado a usar
`socket.ssl()' en diferentes sitios como antes y 
 depu�s del `accept()'
y del `connect()' pero no consigo solucionarlo. 
 El error me da cuando intento
empezar a utilizar SSL porque ni siquiera 
 llego a hacer un read/write sobre
el `ss'. 
 
 �Alguna pista de que estoy haciendo mal? 
 
 
 Un saludo y gracias de antemano. 
 -- 

Ricardo�

Hola Ricardo
Me parece que no tienes definido el protocolo
ni el certificado que vas a usar usa PROTOCOL_SSLv23 que me parece viene
por defecto para los clientes, almenos eso pasa para xmlrpclib.

Trata
de poner esto en el servidor, a mi me funciono para crear conexiones seguras
entre un servidor xmlrpc y en cliente.

#de la ayuda de python 2.6
import socket,
ssl

bindsocket = socket.socket()
bindsocket.bind(('localhost', 8000))
bindsocket.listen(5)

newsocket,
addr = bindsocket.accept()
sslsocket�=ssl.wrap_socket(newsocket,
���
server_side=True,
���
certfile=el
path�a tu certificado,
���
keyfile=el path a tu
llave privada,
���
ssl_version=ssl.PROTOCOL_SSLv23)

usa ahora sslsocket para lo que quieras hacer.

Para generar el
certificado autofirmado y la llave usa el comando openssl

Saludos,
Boris.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] Socket SSL

2010-03-17 Por tema Boris Perez Canedo


 Estoy intentando usar SSL sobre un socket que tengo establecido entre un 

cliente y un servidor pero no consigo que me funcione. Me da un error al 

inicializar el SSL. 
�

 Comentar que uso Python 2.5 y uso
`socket.ssl()' en vez de 
 `ssl.wrap_socket()'. 

Disculpa me salte
esta parte.
Nunca he utilizado socket.ssl() pero me imagino que deba ser similar, o
sea, pienso que debes crear los ficheros: certificado y llave�privada y que 
tambien
debas especificar la version del ssl como te decia en el comentario anterior.

Lo del error creo que se debe a que no puede hacer el handshake...

Saludos.
Boris.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] obtener diferencias entre elementos de dos listas de listas.

2010-03-05 Por tema Boris Perez Canedo


 2010/3/5 Rolando Espinoza La Fuente dark...@gmail.com: 
 [...] 
 � � � �diff = [] 
 
 �
� � �for j in range(max(len(a), len(b))): 
 � �
� � � �if not getitem(a, j) == getitem(b, j): 
 �
� � � � � � �diff.append(j) 
 

Esto se podr�a simplificar a 
 
 diff = [j for j in
range(max(len(a), len(b))) 
 if not getitem(a, j) == getitem(b, j)] 
�

Muchas gracias Rolando por tu solucion, acabo de descargarla.

Saludos.
Boris.




---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] formato para string y MySQLdb

2010-03-03 Por tema Boris Perez Canedo


 El d�a 3 de marzo de 2010 15:00, Boris Perez Canedo 

inf200...@ucf.edu.cu escribi�: 
 Hola a todos, 
 
 Necesito almacenar en una base de datos (MySQL) cadenas que
contienen el 
 caracter \ , sucede que este es el caracter de escape y si,
por ejemplo, 
 hago lo de abajo�solo me almacena \hola. La cadena que
tengo que almacenar 
 es del tipo unicode. En la tabla los campos son
utf8_unicode_ci 
 
 import MySQLdb 
 
 word�= u'\\hola' 
 
 query = insert into
cadenas (cadena) values ( '%s' ) %(word, ) 
 ... 
 
 como necesito comparar informacion nueva con la almacenada el resultado de

 una consulta select == word me da False cuando yo espero que sea True.

 
 
 
 No hagas nunca eso o un malvado
practicante te meter� una gran inyencci�n SQL.�

uuufff!!!,
Ok.
 http://wiki.python.org/moin/DbApiFaq 
 
 usa: 


 query = insert into cadenas (cadena) values ( '%s' ) 

cursor.execute(query, word) #Nunca jamas: cursor.execute(query % word) 
�
Disculpen mi ignorancia, soy bastante nuevo en esto, acabo de ver el
link.
Gracias Javi.

Saludos,
Boris.




---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] ayuda con scapy

2010-02-24 Por tema Boris Perez Canedo
Óo9~Ë­­ªwÓ¾|÷Nµã^6ÛM5Ó


 import os,re 
 from multiprocessing import Process, Lock 
 
 def ping(lck, host): 
 ��� options
= '-n 1 -w 2 ' 
 ��� f = os.popen('ping ' + options + host)

 ��� data = f.read() 
 ���
match = re.search(r\b(?:\d{1,3}\.){3}\d{1,3}\b(?=.+TTL), data) # 
 machea una direccion ip utilizada 
 ��� if match:

 ��� ip = match.group() 
 ��� lck.acquire() 

��� print ip 

��� lck.release() 
 


 if __name__ == '__main__': 
 ��� lock =
Lock() 
 
 ��� for host in
['10.14.16.5','10.14.19.12']: 
 ���
Process(target=ping, args=(lock, host)).start() 
 
 Que parece
funcionar bien. Pero aqui el problema es como a partir de una 
 direccion
de red (10.14.16.0/22) generar una lista de ip�similar a la que 

utilizo arriba (pero con todos). 
 
 Saludos. 

Boris�
 
 
 Tambi�n puedes usar scapy para eso. En el
propio manual de scapy 
 tienes un ejemplo [1] 
 
 net = IP(dst=10.14.16.0/22) 
 [pkt
for pkt in net] 
 [IP dst=10.14.16.0 |, IP dst=10.14.17.0 |,
IP dst=10.14.18.0 
 |, IP dst=10.14.19.0 |, IP
dst=10.14.16.1 |, IP 
 dst=10.14.17.1 |, IP dst=10.14.18.1
|, IP dst=10.14.19.1 |, IP 
 dst=10.14.16.2 |, IP
dst=10.14.17.2 |, IP dst=10.14.18.2 |, 
 IP dst=10.14.19.2
|,... 
 
 Intenta hacer funcionar scapy porque �l ya
implementa todo lo que 
 puedas necesitar. 
 
 Esto
ser�a m�s o menos lo que buscas. Lista las IP de los host que 

respondan a ping. 
 
 ans, unans =
sr(IP(dst=10.14.18.0/22)/ICMP(), timeout=10) 
 for pkt in ans: 
 print pkt[0].dst 
 
 
 Saludos 
 
Hola,
Ok, eso hare.
El problema es que para el trabajo que tengo que hacer
me gustaria no tener que instalar scapy, digamos que es algo problematico para 
Windows
ya que fue pensado para Linux �y lo que tengo que hacer debe funcionar en 
Windows y
Linux, ademas scapy es un monstruo en el buen sentido de la palabra, yo lo
usaria en un proyecto que realmente explotara sus posibilidades, claro si no me 
queda
otra opcion lo voy a usar.

El script que mostre arriba me funciona y ya
resolvi lo de generar las ip a partir de la direccion de red. Lo que no puedo 
resolver
es que en vez de imprimir en pantalla los ip me los ponga en una lista y la 
devuelva.

Si hago algo asi:

import os,re,�hosts
 from multiprocessing
import Process, Lock�

ipList� = []� #
la lista de ips

def ping(lck, host):
�
...etc, etc


lck.acquire()
ipList.append(ip)� #Cambie
print ip por append(ip)�
 lck.release()

etc,
etc

for host in hosts.GetList():
�
se cuelga.

 import os,re  from multiprocessing import Process, Lock   def ping(lck, host):   options
= '-n 1 -w 2 '   f = os.popen('ping ' + options + host)
  data = ""  
match = re.search(r\b(?:\d{1,3}\.){3}\d{1,3}\b(?=.+TTL), data) #  machea una direccion ip utilizada   if match:
  ip = match.group()   lck.acquire() 
 print ip 
 lck.release()  
 if __name__ == '__main__':   lock =
Lock()for host in
['10.14.16.5','10.14.19.12']:  
Process(target=ping, args=(lock, host)).start()   Que parece
funcionar bien. Pero aqui el problema es como a partir de una  direccion
de red (10.14.16.0/22) generar una lista de ipsimilar a la que 
utilizo arriba (pero con todos).   Saludos. 
Boris   Tambin puedes usar scapy para eso. En el
propio manual de scapy  tienes un ejemplo [1]   net = IP(dst=10.14.16.0/22)  [pkt
for pkt in net]  [IP dst=10.14.16.0 |, IP dst=10.14.17.0 |,
IP dst=10.14.18.0  |, IP dst=10.14.19.0 |, IP
dst=10.14.16.1 |, IP  dst=10.14.17.1 |, IP dst=10.14.18.1
|, IP dst=10.14.19.1 |, IP  dst=10.14.16.2 |, IP
dst=10.14.17.2 |, IP dst=10.14.18.2 |,  IP dst=10.14.19.2
|,...   Intenta hacer funcionar scapy porque l ya
implementa todo lo que  puedas necesitar.   Esto
sera ms o menos lo que buscas. Lista las IP de los host que 
respondan a ping.   ans, unans =
sr(IP(dst=10.14.18.0/22)/ICMP(), timeout=10)  for pkt in ans:  print pkt[0].dstSaludos  Hola,Ok, eso hare.El problema es que para el trabajo que tengo que hacer
me gustaria no tener que instalar scapy, digamos que es algo problematico para Windows
ya que fue pensado para Linux y lo que tengo que hacer debe funcionar en Windows y
Linux, ademas scapy es un monstruo en el buen sentido de la palabra, yo lo
usaria en un proyecto que realmente explotara sus posibilidades, claro si no me queda
otra opcion lo voy a usar.El script que mostre arriba me funciona y ya
resolvi lo de generar las ip a partir de la direccion de red. Lo que no puedo resolver
es que en vez de imprimir en pantalla los ip me los ponga en una lista y la devuelva.Si hago algo asi:import os,re,hosts from multiprocessing
import Process, LockipList = [] #
la lista de ipsdef ping(lck, host):
...etc, etclck.acquire()ipList.append(ip) #Cambie
print ip por append(ip) lck.release()etc,
etcfor host in hosts.GetList():se cuelga.___
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] ayuda con scapy

2010-02-24 Por tema Boris Perez Canedo


Disculpen, parece que meti la pata con el cliente.

Por cierto mientras
trataba de enviar una disculpa me rebotaba el correo diciendo que era spam.


saludos.
Boris


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] ayuda con scapy

2010-02-23 Por tema Boris Perez Canedo


Hola a todos,

Hace pocos dias escribi sobre la instalacion de scapy en
Windows. En ese momento trataba de instalar scapy �usando python2.6. Me daba un
error de sintaxis con la palabra with que es reservada para python2.6 en
adelante y que aparentemente scapy usa como variable. Hice algo que no se si 
esta del
todo bien, borre la variable with que se pasaba como argumento en�dos funciones 
de
la siquiente manera:

tr = map(lambda x: Gnuplot.Data(x,lines),
trt.values())# with = lines

world =
Gnuplot.File(conf.gnuplot_world,lines)# with = lines

donde ahora esta lines antes estuvo with = lines pero esto en
python2.6 da el error ya mencionado.

Todo parecia funcionar bien hasta que
corro este script y me da el siguiente error que me parece no tiene nada que 
ver con lo
que hice ya que el paquete para graficos no lo instale pq�no lo necesitaba.

Obtener todos los ip usados en una subred.
mi subnet mask es
255.255.252.0
mi direccion ip 10.14.19.12
por si me equivoque al determinar la
direccion de red.(10.14.16.0/22)

from scapy import *
ans,unans=srp(Ether(dst=ff:ff:ff:ff:ff:ff)/ARP(pdst=10.14.16.0/22),timeout=2)
ans.summary(lambda (s,r): r.sprintf(%Ether.src% %ARP.psrc%) )

El error:

Begin emission:
Finished to send 1024 packets.(aqui todo
parece bien)

Traceback (most recent call last):
� File
D:\Trabajo\scripts\arping.py, line 2, in module
���
ans,unans=srp(Ether(dst=ff:ff:ff:ff:ff:ff)/ARP(pdst=10.14.16.0/22),timeout=2)
� File C:\Python26\lib\site-packages\scapy.py, line 11295, in srp
��� a,b,c=sndrcv(s ,x,*args,**kargs)
� File
C:\Python26\lib\site-packages\scapy.py, line 3, in sndrcv
��� os.write(1, .)
OSError: [Errno 9] Bad file
descriptor

Uso python2.6 pq necesito el modulo MySQLdb y no lo he encontrado
para python2.5
Existe scapy para python2.6 en Windows o MySQLdb para python2.5, de
tal manera que no tenga que editar ningun script?

Otra cosa probe el script
anterior en Ubuntu con el paquete python-scapy instalado y tampoco funciona, en 
este
caso solo se queda haciendo no se que y sin dar ninguna respuesta.

Saludos,
Boris.



---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] ayuda con scapy

2010-02-23 Por tema Boris Perez Canedo



 El 23 de febrero de 2010 17:38, Boris Perez Canedo 

inf200...@ucf.edu.cu escribi�: 
 
 Hace pocos dias
escribi sobre la instalacion de scapy en Windows. En ese momento 
 trataba
de instalar scapy �usando python2.6. Me daba un error de sintaxis con la 
 palabra with que es reservada para python2.6 en adelante y que
aparentemente scapy 
 usa como variable. Hice algo que no se si esta del
todo bien, borre la variable with 
 que se pasaba como argumento
en�dos funciones de la siquiente manera: 
 
 tr =
map(lambda x: Gnuplot.Data(x,lines), trt.values())# with = lines

 
 world =
Gnuplot.File(conf.gnuplot_world,lines)# with = lines 
 
 donde ahora esta lines antes estuvo with =
lines pero esto en python2.6 da el 
 error ya mencionado. 
 
 Es posible que el truco funcione. 
 
 Hacerte notar
que el fallo est� en Gnuplot, m�s que en scapy. Aunque 
 el
proyecto python-gnuplot hace tiempo que no se actualiza, 
 distribuciones como
ubuntu han sustitu�do en gnuplot 'with' por 
 'with_' (con subrayado),
cambiando la API que usan otros paquetes como 
 scapy: 
 

http://trac.secdev.org/scapy/changeset/852:055a9be0f2d3 
 


 Todo parecia funcionar bien hasta que corro este script y me da el
siguiente error que 
 me parece no tiene nada que ver con lo que hice ya
que el paquete para graficos no lo 
 instale pq�no lo necesitaba. 
 
 Obtener todos los ip usados en una subred. 
 mi
subnet mask es 255.255.252.0 
 mi direccion ip 10.14.19.12 

por si me equivoque al determinar la direccion de red.(10.14.16.0/22) 
 
 from scapy import * 

ans,unans=srp(Ether(dst=ff:ff:ff:ff:ff:ff)/ARP(pdst=10.14.16.0/22),timeout=2)

 ans.summary(lambda (s,r): r.sprintf(%Ether.src% %ARP.psrc%) )

 
 El error: 
 
 Begin emission:

 Finished to send 1024 packets.(aqui todo parece bien) 
 
 Traceback (most recent call last): 
 � File
D:\Trabajo\scripts\arping.py, line 2, in module 

���
ans,unans=srp(Ether(dst=ff:ff:ff:ff:ff:ff)/ARP(pdst=10.14.16.0/22),timeout=2)

 � File C:\Python26\lib\site-packages\scapy.py, line
11295, in srp 
 ��� a,b,c=sndrcv(s ,x,*args,**kargs) 
 � File C:\Python26\lib\site-packages\scapy.py, line 3,
in sndrcv 
 ��� os.write(1, .) 

OSError: [Errno 9] Bad file descriptor 
�
Hola y disculpen haber
tenido que escribir tanto sobre mi problema.�


Acabo de correr el
script en Windows y funciona, lo que sucedia era que antes lo corri desde el 
IDLE de
python2.6 y por eso daba el error, pero cuando lei tu comentario 

 Da
error al intentar escribir en el fichero con id=1, probablemente 
 stdout/stdin
en sistemas linux. 
 

se me ocurrio correrlo desde la consola. Voy a
ver si en Ubuntu obtengo el mismo resultado.

Muchas gracias.

Otra
cosa, estoy utilizando el scapy para obtener entre otras cosas los ips 
utilizados en una
subred dada.

Mientras me rompia la cabeza pensando que era lo que salia mal
con scapy,�pense en hacer algo como esto:

import os,re
from
multiprocessing import Process, Lock

def ping(lck, host):
��� options = '-n 1 -w 2 '
��� f = os.popen('ping ' + options + host)
��� data
= f.read()
��� match =
re.search(r\b(?:\d{1,3}\.){3}\d{1,3}\b(?=.+TTL), data) # machea una
direccion ip utilizada
��� if match:
��� ip = match.group()
��� lck.acquire()
��� print ip
��� lck.release()
��� 

if __name__ == '__main__':
��� lock = Lock()

��� for host in ['10.14.16.5','10.14.19.12']:
��� Process(target=ping, args=(lock,
host)).start()


Que parece funcionar bien. Pero aqui el problema es como a partir de una
direccion de red (10.14.16.0/22) generar una lista de ip�similar a la que 
utilizo
arriba (pero con todos).

Saludos.
Boris

�


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
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] acceder a variable global desde funcion

2010-02-23 Por tema Boris Perez Canedo



 El d�a 22 de febrero de 2010 15:22, punchik punchik 

punch...@yahoo.com escribi�: 
 Hola alguien me puede decir
como se puede acceder a una variable global desde una 
 funcion en python?

 
 por ejemplo si tengo 
 
 def
crea_palabra(): 
 � �global word 
 � �word
= hola 
 
 
 luego no puedo hacer
hacer esto: 
 
 def main(): 
 � �query
= word 
 
 como podria acceder a word desde main? 


 Nunca he visto lo de global, realmente llevo poco tiempo con
python pero hasta donde 
 he estudiado puedes usar la variable retornandola,
pero lo que usaras realmente sera el 
 resultado de la funcion. 
 
 
Deberias hacer algo asi 
 
 def crea_palabra(): 
 word = hola 
 return word 
 
 def main():

 query = creapalabra() 
 
 Como vez cuando llamas a la
funcion devuelve el valor de la variable que quieres 
 utilizar 

Espero que te sirva�

No habia visto lo de global tampoco.
Pero no
entiendo que es lo que no te funciona.
Yo corro este script y me funciona bien, o
sea puedo acceder a word.

def crea_palabra():
��� global
word
��� word = hola
��� print
word
def main():
��� query = word
��� print
query

crea_palabra()
word = como estas?
main()

salida:

hola
como estas?

Saludos.
Boris.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] SimpleXMLRPC obtener ip del cliente.

2010-02-15 Por tema Boris Perez Canedo


Hola y Felicidades,

Trato de montar un servidor rpc con SimpleXMLRPC. Como
puedo obtener una lista de IPs de los clientes que van haciendo peticiones al
sevidor?

Otra cosa, Que tipo de autenticacion usa SimpleXMLRPC (creo que no
soporta digest) y como puedo definir un grupo de usuarios que puedan acceder a 
los
procedimientos?

Gracias.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] obtener el ip de la pc y su sistema operativo (sistemas remotos)

2010-02-12 Por tema Boris Perez Canedo


Hola a todos,

Llevo relativamente poco tiempo usando python y me he
encontrado con varias dificultades, hasta que un amigo me dijo sobre la lista.

Me gustaria saber como realizar un scan de la red y de esta manera obtener los 
ip que
estan siendo utilizados y el sistema operativo asociado.

Se que se puede
ejecutar el comando ping u otros para cosas similares desde python pero hacer 
esto, por
ejemplo con ping, llevaria mucho tiempo, ya que habria que empezar a probar ip 
por ip

y podrian haber 10 maquinas encendidas en 100 posibilidades o mas. Otra cosa 
seria
una especie de ping a la direccion de broadcast de la subred y asi obtener 
respuestas
instantaneas pero desgraciadamente el comando ping no funciona asi. Hay
alguna implementacion del protocolo ICMP en python que permita hacer esto?

Otras posibilidades que no sean con ICMP tambien son bienvenidas.

Gracias.


---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/