Claudio | 25 May 23:51
Picon
Gravatar

Re: Consulta flask+sqlalchemy+tagging

Claudio, gracias por la respuesta

Voy a probar tu sugerencia, cuando lleguen los tags del form los busco en la base de datos y los que no existen los creo. Después los agrego al objeto padre.

Saludos

Claudio

2012/5/25 Claudio Freire <klaussfreire-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012/5/25 Claudio <claudiobidau <at> gmail.com>:
> db.session.add(p2)
> db.session.commit(p2) // explota todo, porque intenta crear el tag "tres"
> que ya existe :S

En vez de crear el tag tres con el constructor, tenés que traerlo de
la base. Sino le estás pidiendo a alchemy que cree otro tag tres, y la
base no te deja, supongo por algún constrint.
_______________________________________________
pyar mailing list pyar-+ZN9ApsXKcFd+7ixHBZSzg@public.gmane.org
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Claudio | 25 May 23:19
Picon
Gravatar

Consulta flask+sqlalchemy+tagging

Hola amigos

Estoy intentando implementar un sistema simple de tags pero se me complica el tema de los "tags duplicados".
Tengo el siguiente modelo (bienvenidas sugerencias de mejoras):

tags = db.Table('tags',
  db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')),
  db.Column('post_id', db.Integer, db.ForeignKey('post.id'))
)

class Post(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  titulo = db.Column(db.String(80))
  cuerpo = db.Column(db.String(120))
  pub_date = db.Column(db.DateTime(), default=datetime.utcnow)

  tags = db.relationship('Tag', secondary=tags, backref=db.backref('posts', lazy='dynamic'))

  def __init__(self, *args, **kwargs):
    super(Post, self).__init__(*args, **kwargs)

  def __repr__(self):
    return self.titulo

  def get_pub_date(self):
    return self.pub_date

class Tag(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.String(100), unique=True, nullable=False)

  def __init__(self, *args, **kwargs):
    super(Tag, self).__init__(*args, **kwargs)

  def __repr__(self):
    return self.name

En la consola:
p = Post(titulo='bla', cuerpo='bla')
p.tags = [Tag(name='uno'), Tag(name='dos')]
db.session.add(p)
db.session.commit(p)

-- hasta acá todo bien, persiste el post, los 2 tags y crea la relación

p2 = Post(titulo='bla2', cuerpo='lorem')
p2.tags = [Tag(name='uno'), Tag(name='tres')]

db.session.add(p2)
db.session.commit(p2) // explota todo, porque intenta crear el tag "tres" que ya existe :S

Leí en la documentación sobre el metodo merge, pero no se como hacerlo funcionar.

Saludos y muchas gracias!

Claudio

PD: es mi primer desarrollo en python :P
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Hernan Lozano | 25 May 02:40
Picon
Gravatar

Re: Al PyCamp desde Cordoba (armemos un convoy)



2012/5/22 Emilio <emilioramirez04-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Fijate si te sirve ir en tren, mi hna viajo de baires a cba y el
servicio era como de colectivo pero 3 veces menos $ y casi igual
tiempo de viaje (12hs por ahi).[1]
Ahora, escapa a mi conocimiento como llegar a veronica de donde te
deje el tren ;)

[1] http://www.sateliteferroviario.com.ar/horarios/cordoba.htm


2012/5/19 Hernan Lozano <hernantz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
> Este thread se podria utilizar para organizar la ida desde Cba,
> saber cuantos van de aca, cuantos dias y como podemos hacer para ir
> en formacion tortuga[0].
>
> Hoy averigue cuanto cuestan los pasajes de Cordoba - La Plata (directo), en
> la
> agencia Gette [1]
>
> Coche cama: $315
> --Empresa: FlechaBus
> --Salida: 21:50hs
> --Llegada: 07:55hs
>
> Semi-cama: $270
> --Empresa: Urquiza
> --Salida 1: 21:05
> --Llegada 1: 07:30hs
> --Salida 2: 21:10hs
> --Llegada 2: 09:30hs
>
> El coche semi-cama (Urquiza) tiene un descuento del 20% para estudiantes.
> Hay que presentar fotocopia del DNI, libreta de estudiantes, y certificado
> de alumno regular.
>
> Ambas empresas salen todas las noches.
>
> [0] http://es.wikipedia.org/wiki/Tortuga_(formaci%C3%B3n)
> [1] www.gettepasajes.com.ar
>
> _______________________________________________
> pyar mailing list pyar-+ZN9ApsXKcFd+7ixHBZSzg@public.gmane.org
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar



--
Emilio H. Ramirez
_______________________________________________
pyar mailing list pyar-+ZN9ApsXKcFd+7ixHBZSzg@public.gmane.org
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Buenas, gracias por el dato. Hay que ir viendo quien mas se suma.

Saludos! 

_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Mariano Reingart | 24 May 17:38
Picon
Gravatar

PyCon Argentina 2012: Importantes Premios para los mejores trabajos y propuestas

Los mejores trabajos y propuestas en PyCon Argentina 2012, además de
diploma e invitación a fiesta/cena, podrían recibir importantes
premios, incluyendo becas para viajes a eventos Python!

Si todavía no enviaste tu propuesta, tenes tiempo en estas semanas
para hacerlo y recibir los comentarios y devoluciones de los
organizadores y revisores, aumentando tus chances de que tu actividad
sea aprobada.

Recordamos que este año el espacio para charlas será limitado, por lo
que también recomendamos enviar posters, tutoriales, sprints, etc.

Para más información ver:

http://ar.pycon.org/2012/conference/proposals

Concurso de Trabajos Estudiantiles:

http://ar.pycon.org/2012/conference/contest

Reconocimientos Especiales:

http://ar.pycon.org/2012/conference/awards

Estamos definiendo los detalles en la lista de organización de la
conferencia, si están interesados los invitamos a participar:

http://groups.google.com/group/pybaires

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Matías Herranz | 24 May 13:15
Picon
Gravatar

Hat symbol: qué hace?

Hola!


Hoy, porque sí, tipeé esto en la consola python:

>>> 12^23

Y dio 27.

Lo cual me llevó inmediatamente a la pregunta: ¿Qué hace el hat-symbol en Python? 

Después de buscar un ratito, encontré que era un bitwise exclusive or (ref: http://docs.python.org/library/operator.html ).

Curiosidad (al menos para mi!) del día!


Abrazo!


M.-

--
Matías Herranz <matiasherranz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Twitter: <at> matiasherranz
CV en LinkedIn: http://www.linkedin.com/in/matiasherranz

"I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image" Stephen Hawking.

_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Mariano Reingart | 23 May 18:42
Picon
Gravatar

web2py application development cookbook y Packt en PyConAR 2012

Estimados

Hemos escrito y publicado un libro sobre desarrollo de aplicaciones para web2py:

http://reingart.blogspot.com.ar/2012/05/web2py-application-development-cookbook.html

Quedan 5 días para que termine la promoción, completando una encuesta
pueden ganar un libro gratuito:

http://web2py.com/cookbook

Si alguno quiere revisarlo y publicar comentarios, avisenme y vemos de
contactarlos con la gente de Packt.

Con el anticipo de la comisiones sobre las ventas hemos armado un
fondo para seguir fomentando el desarrollo de web2py, python y el
software libre.

Proximamente habrá novedades sobre el tema, relacionadas con la
próxima PyCon Argentina 2012!

http://ar.pycon.org/2012/sponsors/index#16

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Picon

Problemas guardando un pickle en un blob de mysql

Hola lista,
Estoy intentando guardar un pickle en un LONGBLOB de MySQL pero segun
el contenido del pickle me falla o no. Por lo que pude descubrir el
tema esta en alguna comilla suelta  adentro del pickle que rompen el
query.

Usando un query parametrizado como este:
  cursor.execute("UPDATE tabla SET campo1=?,campo2=? WHERE
campo2=?",(pickle1,pickle2,valorCampo2))
obtengo el siguiente traceback:
  File "archivo.py", line 54, in storeModel
      cursor.execute("UPDATE tabla SET campo1=?,campo2=? WHERE
campo2=?",(pickle1,pickle2,valorCampo2))
  File "D:\python2.7\lib\site-packages\MySQLdb\cursors.py", line 159, in execute
    query = query % db.literal(args)
TypeError: not all arguments converted during string formatting

Si el query lo hago de esta manera:
   cursor.execute("UPDATE tabla SET campo1='%s',campo2='%s' WHERE
campo2='%s'",(pickle1,pickle2,valorCampo2))
El traceback que me tira es:
  File "archivo.py", line 54, in storeModel
    cursor.execute(queries['storeModel'] , (pickledModel,pickledVectorizer,'2'))
  File "D:\python2.7\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "D:\python2.7\lib\site-packages\MySQLdb\connections.py", line
36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your
SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near
'S\\'x\\\\x9c\\\\xcd]\\\\xfbS\\\\x13\\\\xcb\\\\xb6\\\\xfe=\\\\x7f\\\\x85\\\\xba\\\\x11\\\\xd8\\\\xa8\\\\xd8\\\\x'
at line 1")

Probe usar la funcion QUOTE() de MySQL dentro del query,
MySQLdb.escape_string() aplicado a los parametros, y tambien volver a
encerrar todo entre comillas a mano pero siempre termino con alguno de
los 2 errores que puse arriba. La verdad que ya no se me ocurre nada
mas para probar.
Alguna sugerencia?

Saludos,
Julian
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Pablo M. Mana | 22 May 23:27
Picon
Gravatar

Diccionarios y subconjuntos

Hola:
Tengo un diccionarios con un montón de llaves del tipo:

granconjunto = {"cosa_legible_1": numero_inescrutable_1, ... ,
"cosa_legible_n":numero_inescrutable_n}

Con algunos de los elementos quiero armar subconjuntos por que algunas
cosas tienen propiedades particulares :

subconjunto = (granconjunto["cosa_legible_3"], ......)

Ahora bien ¿como hago para ver si un elemento pertenece al
subconjunto?, si fuera un diccionario usaria has_key() pero si es una
tupla o lista no tengo idea

Gracias
Pablo M. Mana
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Wuelfhis Asuaje | 22 May 15:43
Picon
Favicon

[OT] Carbon y parrila


....
Si tenes un poco de ceniza y algo de alcohol (preferentemente no de quemar
y no en la sangre), podes humedecer la ceniza con alcohol, colocas el
carbon arriba, y encendes. Prefiero usar leña en lugar de carbon, el humo
del carbon es más pesado y a mucha gente le cae "pesado".
Con la ceniza, el alcohol se va quemando de apoco y logra encender el
carbon.
Saludos: Miguel, La Pampa (RA)
....
Ya que tocamos el tema, mi respetos a los únicos que saben mas de parrilla que nosotros los
Venezolanos, los Argentinos !

Particularmente yo hao conos de servilletas de papel con aceite vegetal, hago "volcanes" en medio
del carbon, enciendo estos conos que se queman lento como un mechero, luego sobre la llama y con
cuidado hago una torre de carbones sobre la llama para que se enciendan mas carbones a la vez.
Cuando está listo lo esparso uniformemente, coloco la parrilla para que se caliente un rato y
Listo !!! a poner "pellejo" en la parrila !

Saludos
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
Facundo Batista | 22 May 15:40
Picon

PyCamp, invitación especial para mujeres

Hola!

Tengo el agrado de contarles que la PSF nos asignó dinero para invitar
especialmente a personas de sexo femenino al PyCamp 2012 en Verónica,
del 6 al 9 de Julio [0], una asignación en particular del "Outreach
and Education Committee" [1].

La idea es subvencionarles parte del costo... para ver qué porcentaje,
necesito saber cuantas chicas están interesadas en esto, así que por
favor se contactan conmigo por privado, levantando la mano al grito
"yo, yo", antes del 6 de Junio, y ahí con Ricardo Kirkner tomamos las
decisiones correspondientes y anunciando.

¿Por qué antes del 6 de Junio? Para dar suficiente tiempo luego para
sacar pasajes, etc.

¿A qué se comprometen las mujeres que sean subvencionadas de esta
forma? A nada, realmente. Obvio, tienen que pagar la parte no
subvencionada con anticipación (alrededor de la mitad de Junio), para
"fijar" la parte subvencionada.

Saludos!

[0] http://python.org.ar/pyar/PyCamp/2012
[1] http://grokbase.com/t/python/outreach-and-education/1174842wth/welcome-to-the-outreach-and-education-committee

--

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Francisco Rivera | 22 May 03:27
Picon
Gravatar

Búsqueda masiva de imagenes

Hola gente, como andan? Alguien conoce alguna librería para buscar y descargar imágenes de manera masiva utilizando el motor de google o de algún otro buscador? Por lo que vi de la API de Google, el Search Image esta deprecado (se traduce así?) y tiene bastantes restricciones. Parece ser que se utilizaba de forma indebida, jej. Obviamente lo podría hacer usando urllib2 y parseando los resultados, pero no es la idea :)

_______________________________________________
pyar mailing list pyar@...
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar

Gmane