[Python-es] Chequear código python

2012-11-17 Por tema Benito Rodríguez Arcos
Hola a todos.

Estoy haciendo una aplicación web donde los usuarios suben un código
python. La he integrado con pylint para chequear la syntaxis. Pero me
gustaría chequear otras propiedades del código, aparte de ésta.

Me explico, quiero que el código de los usuarios sea una clase que herede
de otra y que los usuarios implementen una serie de métodos. Un ejemplo
sería algo así.

import MegaClase

class MyClase(MegaClase):
def megaclase_method1(self):
print pepe

def megaclase_method2(self):
return 1 + 2

def myclase_method(self):
return dooo

¿como prodía chequear que la clase que sube el usuario hereda de MegaClase
e implementa una serie de métodos?

Gracias.

---
*Benito Rodriguez Arcos*
___
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] Chequear código python

2012-11-17 Por tema Quique Porta
Para saber si una clase hereda de otra, lo puedes averiguar con issubclass (
http://docs.python.org/2/library/functions.html#issubclass).

if issubclass(MyClase, MegaClase):
# codigo si se cumple

Y luego para que deban reimplementar los métodos podrias hacer algo así:

class MegaClase(objetc):

def metodo_1(self):
 raise Exception(Debes de re-definir el metodo_1.)

def metodo_2(self):
 raise Exception(Debes de re-definir el metodo_2.)


O importando inspect

y obteniendo el listado de los members

inspect.getmembers(MyClase, predicate=inspect.ismethod)

Te devolverá una lista.

Lo puedes ver aquí:
http://docs.python.org/2/library/inspect.html#inspect.getmembers

Un Saludo.

El 17 de noviembre de 2012 13:57, Benito Rodríguez Arcos
brar...@gmail.comescribió:

 Hola a todos.

 Estoy haciendo una aplicación web donde los usuarios suben un código
 python. La he integrado con pylint para chequear la syntaxis. Pero me
 gustaría chequear otras propiedades del código, aparte de ésta.

 Me explico, quiero que el código de los usuarios sea una clase que herede
 de otra y que los usuarios implementen una serie de métodos. Un ejemplo
 sería algo así.

 import MegaClase

 class MyClase(MegaClase):
 def megaclase_method1(self):
 print pepe

 def megaclase_method2(self):
 return 1 + 2

 def myclase_method(self):
  return dooo

 ¿como prodía chequear que la clase que sube el usuario hereda de MegaClase
 e implementa una serie de métodos?

 Gracias.

 ---
 *Benito Rodriguez Arcos*

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


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


Re: [Python-es] Chequear código python

2012-11-17 Por tema Benito Rodríguez Arcos
El 17/11/2012 14:11, Quique Porta quiquepo...@gmail.com escribió:

 Para saber si una clase hereda de otra, lo puedes averiguar con issubclass
 (http://docs.python.org/2/library/functions.html#issubclass).

 if issubclass(MyClase, MegaClase):
 # codigo si se cumple

 Y luego para que deban reimplementar los métodos podrias hacer algo así:

 class MegaClase(objetc):

 def metodo_1(self):
  raise Exception(Debes de re-definir el metodo_1.)

 def metodo_2(self):
  raise Exception(Debes de re-definir el metodo_2.)

 O importando inspect

 y obteniendo el listado de los members

 inspect.getmembers(MyClase, predicate=inspect.ismethod)

 Te devolverá una lista.

 Lo puedes ver aquí:
 http://docs.python.org/2/library/inspect.html#inspect.getmembers

 Un Saludo.


Supongo que esto valdría, pero tendría que ejecutar el código que suben los
usuarios a la web



 El 17 de noviembre de 2012 13:57, Benito Rodríguez Arcos 
 brar...@gmail.com escribió:

 Hola a todos.

 Estoy haciendo una aplicación web donde los usuarios suben un código
 python. La he integrado con pylint para chequear la syntaxis. Pero me
 gustaría chequear otras propiedades del código, aparte de ésta.

 Me explico, quiero que el código de los usuarios sea una clase que herede
 de otra y que los usuarios implementen una serie de métodos. Un ejemplo
 sería algo así.

 import MegaClase

 class MyClase(MegaClase):
 def megaclase_method1(self):
 print pepe

 def megaclase_method2(self):
 return 1 + 2

 def myclase_method(self):
  return dooo

 ¿como prodía chequear que la clase que sube el usuario hereda de
 MegaClase e implementa una serie de métodos?

 Gracias.

 ---
 *Benito Rodriguez Arcos*

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



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


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


Re: [Python-es] Chequear código python

2012-11-17 Por tema Quique Porta
Hombre, podrías hacer que el objeto fuera serializable.
Mirate esta doc.
http://docs.python.org/2/library/pickle.html

O busca por google articulos sobre python serialization.

;)


El 17 de noviembre de 2012 15:09, Benito Rodríguez Arcos
brar...@gmail.comescribió:

 El 17/11/2012 14:11, Quique Porta quiquepo...@gmail.com escribió:

 Para saber si una clase hereda de otra, lo puedes averiguar con
 issubclass (http://docs.python.org/2/library/functions.html#issubclass).

 if issubclass(MyClase, MegaClase):
 # codigo si se cumple

 Y luego para que deban reimplementar los métodos podrias hacer algo así:

 class MegaClase(objetc):

 def metodo_1(self):
  raise Exception(Debes de re-definir el metodo_1.)

 def metodo_2(self):
  raise Exception(Debes de re-definir el metodo_2.)

 O importando inspect

 y obteniendo el listado de los members

 inspect.getmembers(MyClase, predicate=inspect.ismethod)

 Te devolverá una lista.

 Lo puedes ver aquí:
 http://docs.python.org/2/library/inspect.html#inspect.getmembers

 Un Saludo.


 Supongo que esto valdría, pero tendría que ejecutar el código que suben
 los usuarios a la web



 El 17 de noviembre de 2012 13:57, Benito Rodríguez Arcos 
 brar...@gmail.com escribió:

 Hola a todos.

 Estoy haciendo una aplicación web donde los usuarios suben un código
 python. La he integrado con pylint para chequear la syntaxis. Pero me
 gustaría chequear otras propiedades del código, aparte de ésta.

 Me explico, quiero que el código de los usuarios sea una clase que
 herede de otra y que los usuarios implementen una serie de métodos. Un
 ejemplo sería algo así.

 import MegaClase

 class MyClase(MegaClase):
 def megaclase_method1(self):
 print pepe

 def megaclase_method2(self):
 return 1 + 2

 def myclase_method(self):
  return dooo

 ¿como prodía chequear que la clase que sube el usuario hereda de
 MegaClase e implementa una serie de métodos?

 Gracias.

 ---
 *Benito Rodriguez Arcos*

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



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


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


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


Re: [Python-es] Chequear código python

2012-11-17 Por tema Daπid
2012/11/17 Benito Rodríguez Arcos brar...@gmail.com

 Supongo que esto valdría, pero tendría que ejecutar el código que suben
 los usuarios a la web


Si no quieres ejecutarlo, la opción de las expresiones regulares es la
tuya. Eso sí, tendrías que comprobar que tus usuarios no han sido pérfidos
y la han redefinido en otro sitio.
___
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] Chequear código python

2012-11-17 Por tema Juan Luis Cano Rodríguez
2012/11/17 Daπid davidmen...@gmail.com

 2012/11/17 Benito Rodríguez Arcos brar...@gmail.com

 Supongo que esto valdría, pero tendría que ejecutar el código que suben
 los usuarios a la web


 Si no quieres ejecutarlo, la opción de las expresiones regulares es la
 tuya. Eso sí, tendrías que comprobar que tus usuarios no han sido pérfidos
 y la han redefinido en otro sitio.


Dios, parseando código Python con expresiones regulares, qué dolor de
hígado me está entrando...
___
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] Chequear código python

2012-11-17 Por tema Oswaldo

El 17/11/2012 13:57, Benito Rodríguez Arcos escribió:

Hola a todos.

Estoy haciendo una aplicación web donde los usuarios suben un código
python. La he integrado con pylint para chequear la syntaxis. Pero me
gustaría chequear otras propiedades del código, aparte de ésta.

Me explico, quiero que el código de los usuarios sea una clase que
herede de otra y que los usuarios implementen una serie de métodos. Un
ejemplo sería algo así.

import MegaClase

class MyClase(MegaClase):
def megaclase_method1(self):
print pepe

def megaclase_method2(self):
return 1 + 2

def myclase_method(self):
return dooo

¿como prodía chequear que la clase que sube el usuario hereda de
MegaClase e implementa una serie de métodos?



Dale una miradita al modulo inspect, creo que te puede ayudar bastante 
en lo que quieres.



--
Oswaldo
___
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/