Re: [Python-es] "framework" web, escrita en python, para organizar conferencias

2010-05-10 Por tema Jordi Funollet
Estuve buscando aplicaciones similares hace un año, esta es una de las pocas 
que encontré:

  https://launchpad.net/django-conference

No puedo decirte si cumple tus requisitos porque no llegué a evaluarlo. 
Comenta en la lista lo que vayas encontrando, sigo interesado en el tema.

También recuerdo que alguien había escrito/adaptado software para la 
organización de las PyCon, pero no recuerdo más al respecto.

-- 
##
### Jordi Funollet
### http://www.terraquis.net
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] "framework" web, escrita en python, para organizar conferencias

2010-05-10 Por tema Mikel Larreategi

ig., 2010.eko mairen 09a 18:43(e)an, Jose Caballero(e)k idatzi zuen:


¿Alguien conoce alguna herramienta escrita en python que cumpla con
estos requisitos? Buscando en google un poco he encontrado varios
productos, pero son todos ellos soluciones comerciales, no "open source".



El CERN tiene una herramienta de este tipo llamada Indico:

http://cdsware.cern.ch/indico/

Está escrita en python pero no sé si utiliza un framework en concreto.

Mikel



--
Mikel Larreategi
[email protected]

CodeSyntax
Azitaingo Industrialdea 3 K
E-20600 Eibar
Tel: (+34) 943 82 17 80
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] "framework" web, escrita en python, para organizar conferencias

2010-05-10 Por tema Jose Caballero



On May 10, 2010, at 6:58, Mikel Larreategi  
 wrote:



ig., 2010.eko mairen 09a 18:43(e)an, Jose Caballero(e)k idatzi zuen:


¿Alguien conoce alguna herramienta escrita en python que cumpla con
estos requisitos? Buscando en google un poco he encontrado varios
productos, pero son todos ellos soluciones comerciales, no "open  
source".




El CERN tiene una herramienta de este tipo llamada Indico:

http://cdsware.cern.ch/indico/




Conozco INDICO desde hace tiempo, y no me gusta nada. Es un infierno  
crear una agenda. Y las búsquedas son muy limitadas. Precisamente lo  
que busco es  una alternativa a INDICO.

Pero gracias de todos modos por la sugerencia.

Jose 
___

Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] exec seguro

2010-05-10 Por tema Oswaldo Hernández

Narcis Garcia - GiLUG escribió:
Quizás pueda establecer un diccionario de funciones y operadores 
admisibles, y antes de ejecutar la expresión analizar si todas las 
palabras de la cadena estan en el diccionario.




No quisiera establecer tanta limitación, quiero dejar que en el codigo a 
ejecutar se puedan crear variables o funciones auxiliares si son necesarias.


Saludos,

--
Oswaldo Hernández
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] exec seguro

2010-05-10 Por tema Oswaldo Hernández

Hernan Foffani escribió:

El 07/05/2010, a las 21:27, Oswaldo Hernández escribió:


Reynaldo Baquerizo escribió:

   En definitiva, ¿Qué es lo que quieres evitar? Hay cosas muy dañinas
   que un usuario tontorrón puede hacer y que son muy difíciles de
   detener ("while 1: pass")
algunas ideas puedes sacar de esta receta
http://code.activestate.com/recipes/496746-restricted-safe-eval/

La he estado viendo y creo que puedo sacar cosas muy interesantes, el exec lo 
realiza en un thread para controlar el timeout, y me llama la atencion 
especialmente el uso que hace de los módulos 'inspect' y 'compiler' para 
analizar el codigo a ejecutar.

Python no deja de sorprenderme :)


Lee los comentarios; verás que hay varias situaciones que no están contempladas. 


Mientras el entorno restringido no sea oficial, es decir, que está bien 
integrado al intérprete y bendecido por GvR y amigos tendrás unos cuantos 
agujeros y lo que es peor, una falsa sensación de seguridad.

Dicho de otro modo, conmigo o van todos desarmados o portando armas de fuego. 
En este último caso, yo me quedo a kilómetros de distancia. El arco y flecha da 
muchos dolores de cabeza: pierdes un montón de tiempo enseñando a los usuarios 
a usarlo, se quejan de que no les sirve para cazar rinocerontes y hagas lo 
hagas terminas recibiendo una flecha en el culo.




Hola,

Despues de trabajar un poco en esto, he sacado las siguientes conclusiones:

- El problema de los bucles infinitos se soluciona con la ejecución en 
un thread con un timeout. En las pruebas realizadas ha funcionado.


- Los problemas de las operaciones matemáticas complejas, como indican 
en los comentarios, y un crash por consumo excesivo de memoria, tienen 
mala solución. Pueden colgar, o aparentar que se cuelga la aplicación. 
Con este tendré que convivir y generar logs para detectar el problema a 
posteriori.


- Sobre el entorno seguro, la verdad es que de seguro no tiene mucho, 
puedes modificar atributos de clase, etc. Pero por lo que he estado 
investigando y probando todo se hace accediendo a las propiedades 
__class__, __file__, etc. de los objetos que se le pasan al entorno. 
Segun esto se puede analizar fácilmente el código antes de ejecutar e 
impedir la ejecución si contiene '__'.



En cuanto a los minilenguajes fué mi primera intención, pero no 
encontré, o no supe buscar, nada que me satisfaciera.


Aunque siempre hablo de "usuario" realmente son personas confiables, es 
una aplicación de escritorio por lo que tampoco hay un acceso 
generalizado, pero siempre puede aparecer in listillo.


Creo que con lo mencionado obtengo un entorno fácil de implementar  y 
razonablemente seguro.


Saludos,

--
Oswaldo Hernández
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] posicionamiento de elementos con wxpython

2010-05-10 Por tema Oswaldo Hernández

[email protected] escribió:

Buenas.

Javier, ¿Te acuerdas que pedí información sobre cómo desarrollar 
software accesible para personas invidentes? Pues bien, yo estoy en ese 
grupo como deficiente visual, por lo que un entorno gráfico va a ser 
casi inaccesible. v. Estudio .net es accesible, porque hay scripts para 
ello, pero no así Glade y otros entornos.




Hola,

Te adjunto un ejemplo de Frame montado con sizers para ajustar los 
controles que envié a la lista hará un mes a otro compañero.


Para que compruebes la facilidad de ajustar la fuente a la totalidad del 
Frame (me imagino que lo de la accesibilidad va por ahi), verás que al 
establecer una fuente al inicio de la declaración todos los objetos que 
crees a partir de ese momento heredan esta fuente.


Saludos,

--
Oswaldo Hernández
#!/usr/bin/env python
#coding=utf-8

import wx

class mFrame(wx.Frame):
def __init__(self, parent, id, *args, **kwds):
wx.Frame.__init__(self, parent, id, *args, **kwds)
self.SetTitle("Ejemplo")

# Asignar Font
f = self.GetFont()
f.SetPointSize(18)
self.SetFont(f)

# Fondo del Frame y Sizer principal
fondo = wx.Panel(self, -1)   
szFondo = wx.BoxSizer(wx.VERTICAL)
fondo.SetSizer(szFondo)

# Cabecera de Frame
cabecera = wx.StaticText(fondo, -1, "Formulario de entrada de datos")
f = cabecera.GetFont()
f.SetWeight(wx.FONTWEIGHT_BOLD)
cabecera.SetFont(f)
szFondo.Add(cabecera, 0, wx.ALL, 3)

# Datos - Sizer
szData = wx.FlexGridSizer(-1, 2, 3, 3)
szData.AddGrowableCol(1)
szFondo.Add(szData, 2, wx.EXPAND|wx.ALL, 3)

# Datos - Controles
szData.Add(wx.StaticText(fondo, -1, "Nombre:"))
self.Nombre = wx.TextCtrl(fondo, -1)
szData.Add(self.Nombre, 0, wx.EXPAND)

szData.Add(wx.StaticText(fondo, -1, "Otros datos:"))
self.OtrosDatos = wx.TextCtrl(fondo, -1, style=wx.TE_MULTILINE)
szData.Add(self.OtrosDatos, 2, wx.EXPAND)
szData.AddGrowableRow(1)

# Botones - Sizer
szBtn = wx.BoxSizer(wx.HORIZONTAL)
szFondo.Add(szBtn, 0, wx.ALIGN_RIGHT)

# Botones - Controles
BtnAceptar = wx.Button(fondo, -1, "Aceptar")
szBtn.Add(BtnAceptar, 0, wx.ALL, 3)

BtnCancelar = wx.Button(fondo, -1, "Cancelar")
szBtn.Add(BtnCancelar, 0, wx.ALL, 3)

# Captura de Eventos
BtnAceptar.Bind(wx.EVT_BUTTON, self.OnAceptar)
BtnCancelar.Bind(wx.EVT_BUTTON, self.OnCancelar)

# MinSize y Layout
self.SetMinSize(wx.Size(400, 300))
self.Fit()
self.Layout()


def OnAceptar(self, evt):
print "Aceptado"
print "Nombre:", self.Nombre.GetValue()
print "Otros Datos:", self.OtrosDatos.GetValue()
self.Close()
evt.Skip()

def OnCancelar(self, evt):
print "Cancelado"
self.Close()
evt.Skip()

# Test
if __name__ == "__main__":
app = wx.PySimpleApp()
f = mFrame(None, -1)
f.Show(True)
app.MainLoop()

___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


[Python-es] Sugerencias para implementar servicio web

2010-05-10 Por tema Erich Córdoba
Que tal, antes que todo un saludo.
Estoy desarrollando una aplicación de punto de venta para un tienda con
varias sucursales. La idea es que desde cada tienda se pueda consultar el
inventario de las demas sucursales. Estoy pensando en concentrar la
informacion de todas las tiendas en un servidor con MySQL donde ya tengo
desarrollada (en parte) una aplicacion en Django para las consultas.

Mi duda es, ¿cual creen que seria la mejor opción para realizar las
consultas al servidor? ¿y en qué formato transmitir los datos? Pensaba en
usar GIO para realizar las consultas, pero no lo he probado, sólo he visto
ejemplos. Y la información no sé si generarla en XML o en otro formato.

Cualquier sugerencia es bien recibida.
De antemano muchas gracias

-- 
Erich Cordoba
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] exec seguro

2010-05-10 Por tema Narcis Garcia - GiLUG
Bueno, puedes obligar a que el nombre de las variables empiecen por un 
prefijo común como "variable_", y así pueden ser la excepción del 
diccionario.




En/na Oswaldo Hernández ha escrit:

Narcis Garcia - GiLUG escribió:
Quizás pueda establecer un diccionario de funciones y operadores 
admisibles, y antes de ejecutar la expresión analizar si todas las 
palabras de la cadena estan en el diccionario.




No quisiera establecer tanta limitación, quiero dejar que en el codigo a 
ejecutar se puedan crear variables o funciones auxiliares si son 
necesarias.


Saludos,


___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] "framework" web, escrita en python, para organizar conferencias

2010-05-10 Por tema Javier Rovegno
2010/5/10 Jordi Funollet :
> También recuerdo que alguien había escrito/adaptado software para la
> organización de las PyCon, pero no recuerdo más al respecto.

Me interesó el tema así que encontré algo sobre PyCon-Tech
https://pycon.coderanger.net/

Una página de ejemplo:
http://ar.pycon.org/

Saludos
-- 
Javier A. Rovegno Campos
http://www.cec.uchile.cl/~jrovegno/
Linux User  #419384 PGP key 1024D/C14716CC 2006-09-02 Ubuntero Ubuntu-cl
Hydraulic Engineering Student - UdeChile - Chile
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] posicionamiento de elementos con wxpython

2010-05-10 Por tema rafaelcantos

No, en absoluto me he molestado, sé que no lo sabías.
Gracias, echaré un vistazo a ver si saco alguna conclusión en claro.

saludos
Rafa


--
From: "Javier Castrillo" 
Sent: Sunday, May 09, 2010 11:03 PM
To: "La lista de python en castellano" 
Subject: Re: [Python-es] posicionamiento de elementos con wxpython


2010/5/9  :


Javier, ¿Te acuerdas que pedí información sobre cómo desarrollar software
accesible para personas invidentes? Pues bien, yo estoy en ese grupo como
deficiente visual, por lo que un entorno gráfico va a ser casi 
inaccesible.

v. Estudio .net es accesible, porque hay scripts para ello, pero no así
Glade y otros entornos.


Obviamente no lo recordaba, y por eso apoyé la respuesta que te dió el
compañero Juan. A lo mejor si hubieras aclarado el porqué de tu
necesidad de escribir el código, mi respuesta hubiera sido otra, como
por ejemplo seguir el tutorial que se encuentra en:

http://www.zetcode.com/wxpython/layout/

O tal vez a algún compañero se programador le agarra la iniciativa de
desarrollar esos mismos scripts que decís que están en VB, pero para
wxGlade.

Saludos, sé que entendés que no fue mala intención de mi parte, si en
algo te he ofendido, te pido disculpas.

--
Javier Castrillo

=
GNU / Linux User #242275

Jabber: [email protected]
Blog:   http://blog.javier.org.ar
Site:http://carapa.com.ar
TCOS: http://argentina.tcosproject.org
=
Usá Software Libre
___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] posicionamiento de elementos con wxpython

2010-05-10 Por tema rafaelcantos

Gracias, estudiaré el código.

Saludos

Rafa


--
From: "Narcis Garcia - GiLUG" 
Sent: Sunday, May 09, 2010 10:05 PM
To: "La lista de python en castellano" 
Subject: Re: [Python-es] posicionamiento de elementos con wxpython

- La disposición de una serie de controles yo la establezco con un bucle 
(for ControlActual in Controles), que vaya incrementando una variable PosX 
o PosY sumándole por ejemplo 10 + la medida del control colocado: 
MiControl.GetSize().GetHeight()


- Para adaptar al tamaño de la ventana supongo que hay que medirla 
(GetSize?) y entonces dividir el espacio entre controles y separaciones de 
margen. Si esto hay que rehacerlo cuando el usuario estira el tamaño de la 
ventana, supongo que hay que interceptar tal evento con el objeto Frame.




En/na [email protected] ha escrit:

Buenas.
 Abajo le hes puesto un código que estoy usando para probar. No consigo 
dar con la clave para lo siguiente:

1. Colocar los controles dentro de un boxSizer en vertical.
2. Que los controles se adapten al tamaño de la ventana
3. que los controles ocupen todo el espacio disponible para ellos
4. Alinear los controles dentro del espacio asignado donde quiera.
 He mirado en la documentación de wxpython y he probado con los valores 
posibles, pero, o no me entero bien, o he sido incapaz de configurarlo, o 
no he entendido bien como funciona el boxSizer.

Les agradecería su ayuda.
 #!/usr/bin/python

try:

import wx

except ImportError:

raise ImportError,"Se requiere el modulo wxPython"

class View(wx.Frame):

def __init__(self, parent, id, title):

wx.Frame.__init__(self, parent, id, title, size=(800, 600))

self.parent = parent

self.Centre()

self.initialize()

self.Show(True)

def initialize(self):

self.panel = wx.Panel(self, -1)

box = wx.BoxSizer(wx.VERTICAL)

self.entrada = wx.TextCtrl(self.panel, -1, value=u"Ingrese un texto:", 
style=wx.TE_PROCESS_ENTER)


box.Add(self.entrada, 0, wx.ADJUST_MINSIZE, 10)

self.boton = wx.Button(self.panel, -1, label="Pulsame ahora mismo!")

box.Add(self.boton, 0, wx.ADJUST_MINSIZE, 10)

box.Fit(self.panel)

 if __name__ == "__main__":

app = wx.App(False)

view = View(None, -1, 'Ventana principal')

app.MainLoop()

 Saludos

 Rafa




___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] posicionamiento de elementos con wxpython

2010-05-10 Por tema rafaelcantos

gracias, lo miraré a ver qué aprendo.
con GTK es más fácil, al menos como sé hacerlo.

saludos

Rafa


--
From: "Oswaldo Hernández" 
Sent: Monday, May 10, 2010 7:34 PM
To: "La lista de python en castellano" 
Subject: Re: [Python-es] posicionamiento de elementos con wxpython


[email protected] escribió:

Buenas.

Javier, ¿Te acuerdas que pedí información sobre cómo desarrollar
software accesible para personas invidentes? Pues bien, yo estoy en ese
grupo como deficiente visual, por lo que un entorno gráfico va a ser
casi inaccesible. v. Estudio .net es accesible, porque hay scripts para
ello, pero no así Glade y otros entornos.



Hola,

Te adjunto un ejemplo de Frame montado con sizers para ajustar los
controles que envié a la lista hará un mes a otro compañero.

Para que compruebes la facilidad de ajustar la fuente a la totalidad del
Frame (me imagino que lo de la accesibilidad va por ahi), verás que al
establecer una fuente al inicio de la declaración todos los objetos que
crees a partir de ese momento heredan esta fuente.

Saludos,

--
Oswaldo Hernández






#!/usr/bin/env python
#coding=utf-8

import wx

class mFrame(wx.Frame):
   def __init__(self, parent, id, *args, **kwds):
   wx.Frame.__init__(self, parent, id, *args, **kwds)
   self.SetTitle("Ejemplo")

   # Asignar Font
   f = self.GetFont()
   f.SetPointSize(18)
   self.SetFont(f)

   # Fondo del Frame y Sizer principal
   fondo = wx.Panel(self, -1)
   szFondo = wx.BoxSizer(wx.VERTICAL)
   fondo.SetSizer(szFondo)

   # Cabecera de Frame
   cabecera = wx.StaticText(fondo, -1, "Formulario de entrada de 
datos")

   f = cabecera.GetFont()
   f.SetWeight(wx.FONTWEIGHT_BOLD)
   cabecera.SetFont(f)
   szFondo.Add(cabecera, 0, wx.ALL, 3)

   # Datos - Sizer
   szData = wx.FlexGridSizer(-1, 2, 3, 3)
   szData.AddGrowableCol(1)
   szFondo.Add(szData, 2, wx.EXPAND|wx.ALL, 3)

   # Datos - Controles
   szData.Add(wx.StaticText(fondo, -1, "Nombre:"))
   self.Nombre = wx.TextCtrl(fondo, -1)
   szData.Add(self.Nombre, 0, wx.EXPAND)

   szData.Add(wx.StaticText(fondo, -1, "Otros datos:"))
   self.OtrosDatos = wx.TextCtrl(fondo, -1, style=wx.TE_MULTILINE)
   szData.Add(self.OtrosDatos, 2, wx.EXPAND)
   szData.AddGrowableRow(1)

   # Botones - Sizer
   szBtn = wx.BoxSizer(wx.HORIZONTAL)
   szFondo.Add(szBtn, 0, wx.ALIGN_RIGHT)

   # Botones - Controles
   BtnAceptar = wx.Button(fondo, -1, "Aceptar")
   szBtn.Add(BtnAceptar, 0, wx.ALL, 3)

   BtnCancelar = wx.Button(fondo, -1, "Cancelar")
   szBtn.Add(BtnCancelar, 0, wx.ALL, 3)

   # Captura de Eventos
   BtnAceptar.Bind(wx.EVT_BUTTON, self.OnAceptar)
   BtnCancelar.Bind(wx.EVT_BUTTON, self.OnCancelar)

   # MinSize y Layout
   self.SetMinSize(wx.Size(400, 300))
   self.Fit()
   self.Layout()


   def OnAceptar(self, evt):
   print "Aceptado"
   print "Nombre:", self.Nombre.GetValue()
   print "Otros Datos:", self.OtrosDatos.GetValue()
   self.Close()
   evt.Skip()

   def OnCancelar(self, evt):
   print "Cancelado"
   self.Close()
   evt.Skip()

# Test
if __name__ == "__main__":
   app = wx.PySimpleApp()
   f = mFrame(None, -1)
   f.Show(True)
   app.MainLoop()







___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


___
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/