Re: [Python-es] Biblioteca XPATH

2021-02-08 Por tema Ander Garmendia
Hola,

pues yo tengo un proyecto en el que las únicas dependencias son lxml y
cssselect (podría apañarme sin el, pero hace la vida mas cómoda).

Uso urllib de la librería standard para recuperar contenidos y los mentados
lxml y csselect para parsear y extraer datos.

En mi caso utilizo este setup para mantener las cosas lo mas simples
posibles y no hecho de menos ninguna otra biblioteca.

Un saludo!



El dom, 7 feb 2021 a las 23:59, Jesus Cea () escribió:

>
>
> On 7/2/21 20:02, lasizoillo wrote:
> >
> >
> > El dom, 7 feb 2021 a las 18:35, Ander Garmendia ( > <mailto:kelertx...@gmail.com>>) escribió:
> >
> > ¿Has probado con lxml?
> >
> >
> > No se me ocurre nada mejor que eso
> > https://github.com/scrapy/scrapy/blob/master/setup.py#L37
> > <https://github.com/scrapy/scrapy/blob/master/setup.py#L37>
>
> Esto... vale, estoy tonto perdido.
>
> https://lxml.de/xpathxslt.html
>
> Es una pena que beautifulsoup no de acceso a xpath. Ahora me planteo por
> qué usar beautifulsoap con un backend lxml en vez de usar lxml de forma
> nativa.
>
> ¿Opiniones?.
>
> --
> Jesús Cea Avión _/_/  _/_/_/_/_/_/
> j...@jcea.es - https://www.jcea.es/_/_/_/_/  _/_/_/_/  _/_/
> Twitter: @jcea_/_/_/_/  _/_/_/_/_/
> jabber / xmpp:j...@jabber.org  _/_/  _/_/_/_/  _/_/  _/_/
> "Things are not so easy"  _/_/  _/_/_/_/  _/_/_/_/  _/_/
> "My name is Dump, Core Dump"   _/_/_/_/_/_/  _/_/  _/_/
> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Biblioteca XPATH

2021-02-07 Por tema Ander Garmendia
¿Has probado con lxml?

Jesus Cea  igorleak hau idatzi zuen (2021 ots. 7, ig. 16:55):

> ¿Alguien conoce una biblioteca XPATH que no sea cargar con todo scrapy?
>
> Gracias.
>
> --
> Jesús Cea Avión _/_/  _/_/_/_/_/_/
> j...@jcea.es - https://www.jcea.es/_/_/_/_/  _/_/_/_/  _/_/
> Twitter: @jcea_/_/_/_/  _/_/_/_/_/
> jabber / xmpp:j...@jabber.org  _/_/  _/_/_/_/  _/_/  _/_/
> "Things are not so easy"  _/_/  _/_/_/_/  _/_/_/_/  _/_/
> "My name is Dump, Core Dump"   _/_/_/_/_/_/  _/_/  _/_/
> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] problema con "regular expression"

2020-08-17 Por tema Ander Garmendia
Exacto, gracias por la corrección.

Alexis Roda  igorleak hau idatzi zuen
(2020 abu. 17, al. 17:01):

> El ? va junto al * que queremos que no sea codicioso:
>
> pattern = re.compile("^(?P(.*?)): (?P(.*))$")
>
> Ponerlo junto al : hace que ese carácter sea opcional.
>
> In [20]: p = re.compile("^(?P(.*)):? (?P(.*))$")
>
> In [21]: l = "hola mundo"
>
> In [22]: m = p.match(l)
>
> In [23]: m.groupdict()
> Out[23]: {'type': 'hola', 'value': 'mundo'}
>
>
>
>
> Missatge de Ander Garmendia  del dia dl., 17 d’ag.
> 2020 a les 16:43:
>
>> Uuups, te he pegado una expresión que está mal. La correcta es esta:
>>
>> pattern = re.compile("^(?P(.*)):? (?P(.*))$")
>>
>> Perdona las molestias.
>>
>> Jose Caballero  igorleak hau idatzi zuen (2020
>> abu. 17, al. 16:37):
>>
>>> no parece:
>>>
>>> >>> p = re.compile("^(?P(.*)):? (?P([^:]*))$")
>>> >>>
>>> >>> l = "type: word: foo bar"
>>> >>>
>>> >>> m = p.match(l)
>>> >>> print m.groupdict()
>>> {'type': 'type: word: foo', 'value': 'bar'}
>>> >>>
>>>
>>> Pero voy a echar un vistazo a "greedy".
>>> Muchas gracias.
>>>
>>> Jose
>>>
>>> El lun., 17 ago. 2020 a las 15:25, Ander Garmendia
>>> () escribió:
>>> >
>>> > Hola,
>>> >
>>> > Las expresiones tipo(. *) son "greedy", esto es se expanden "a todo lo
>>> que pillen". Si quieres limitar el match al primer grupo, añade un ? al
>>> carácter de corte:
>>> >
>>> >  pattern = re.compile("^(?P(.*)):? (?P([^:]*))$")
>>> >
>>> > Si buscas "greedy" en el apartado de la librería "re" en la
>>> documentacion oficial, lo explican mucho mejor.
>>> >
>>> > Un saludo.
>>> >
>>> > Jose Caballero  igorleak hau idatzi zuen
>>> (2020 abu. 17, al. 15:45):
>>> >>
>>> >> Hola,
>>> >>
>>> >> tengo una serie de lineas, todas con el mismo formato:
>>> >>
>>> >> : 
>>> >>
>>> >> donde  es una sola palabra, y  es una frase.
>>> >> Intentaba "parsearlas" con algo como esto:
>>> >>
>>> >> pattern = re.compile("^(?P(.*)): (?P(.*))$")
>>> >> parse = pattern.match(line)
>>> >> groups = parse.groupdict()
>>> >> print( groups["type"] )
>>> >> print( groups["value"] )
>>> >>
>>> >> Funciona bien, salvo que  incluya el signo de los dos puntos.
>>> >> Por ejemplo, para
>>> >>
>>> >>  one: two: three four
>>> >>
>>> >> Me devuelve type = "one: two" y value "three four", en lugar de "one"
>>> >> y "two: three four" respectivamente.
>>> >>
>>> >> ?Como arreglo ese pattern para que el primer "lookahead" pare en el
>>> primer ":"?
>>> >> [Creo que se nota que tengo poca experiencia con regex]
>>> >>
>>> >> Muchas gracias.
>>> >> Un saludo,
>>> >> Jose
>>> >> ___
>>> >> Python-es mailing list
>>> >> Python-es@python.org
>>> >> https://mail.python.org/mailman/listinfo/python-es
>>> >
>>> > ___
>>> > Python-es mailing list
>>> > Python-es@python.org
>>> > https://mail.python.org/mailman/listinfo/python-es
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] problema con "regular expression"

2020-08-17 Por tema Ander Garmendia
Uuups, te he pegado una expresión que está mal. La correcta es esta:

pattern = re.compile("^(?P(.*)):? (?P(.*))$")

Perdona las molestias.

Jose Caballero  igorleak hau idatzi zuen (2020
abu. 17, al. 16:37):

> no parece:
>
> >>> p = re.compile("^(?P(.*)):? (?P([^:]*))$")
> >>>
> >>> l = "type: word: foo bar"
> >>>
> >>> m = p.match(l)
> >>> print m.groupdict()
> {'type': 'type: word: foo', 'value': 'bar'}
> >>>
>
> Pero voy a echar un vistazo a "greedy".
> Muchas gracias.
>
> Jose
>
> El lun., 17 ago. 2020 a las 15:25, Ander Garmendia
> () escribió:
> >
> > Hola,
> >
> > Las expresiones tipo(. *) son "greedy", esto es se expanden "a todo lo
> que pillen". Si quieres limitar el match al primer grupo, añade un ? al
> carácter de corte:
> >
> >  pattern = re.compile("^(?P(.*)):? (?P([^:]*))$")
> >
> > Si buscas "greedy" en el apartado de la librería "re" en la
> documentacion oficial, lo explican mucho mejor.
> >
> > Un saludo.
> >
> > Jose Caballero  igorleak hau idatzi zuen
> (2020 abu. 17, al. 15:45):
> >>
> >> Hola,
> >>
> >> tengo una serie de lineas, todas con el mismo formato:
> >>
> >> : 
> >>
> >> donde  es una sola palabra, y  es una frase.
> >> Intentaba "parsearlas" con algo como esto:
> >>
> >> pattern = re.compile("^(?P(.*)): (?P(.*))$")
> >> parse = pattern.match(line)
> >> groups = parse.groupdict()
> >> print( groups["type"] )
> >> print( groups["value"] )
> >>
> >> Funciona bien, salvo que  incluya el signo de los dos puntos.
> >> Por ejemplo, para
> >>
> >>  one: two: three four
> >>
> >> Me devuelve type = "one: two" y value "three four", en lugar de "one"
> >> y "two: three four" respectivamente.
> >>
> >> ?Como arreglo ese pattern para que el primer "lookahead" pare en el
> primer ":"?
> >> [Creo que se nota que tengo poca experiencia con regex]
> >>
> >> Muchas gracias.
> >> Un saludo,
> >> Jose
> >> ___
> >> Python-es mailing list
> >> Python-es@python.org
> >> https://mail.python.org/mailman/listinfo/python-es
> >
> > ___
> > Python-es mailing list
> > Python-es@python.org
> > https://mail.python.org/mailman/listinfo/python-es
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] problema con "regular expression"

2020-08-17 Por tema Ander Garmendia
Hola,

Las expresiones tipo(. *) son "greedy", esto es se expanden "a todo lo que
pillen". Si quieres limitar el match al primer grupo, añade un ? al
carácter de corte:

 pattern = re.compile("^(?P(.*)):? (?P([^:]*))$")

Si buscas "greedy" en el apartado de la librería "re" en la documentacion
oficial, lo explican mucho mejor.

Un saludo.

Jose Caballero  igorleak hau idatzi zuen (2020
abu. 17, al. 15:45):

> Hola,
>
> tengo una serie de lineas, todas con el mismo formato:
>
> : 
>
> donde  es una sola palabra, y  es una frase.
> Intentaba "parsearlas" con algo como esto:
>
> pattern = re.compile("^(?P(.*)): (?P(.*))$")
> parse = pattern.match(line)
> groups = parse.groupdict()
> print( groups["type"] )
> print( groups["value"] )
>
> Funciona bien, salvo que  incluya el signo de los dos puntos.
> Por ejemplo, para
>
>  one: two: three four
>
> Me devuelve type = "one: two" y value "three four", en lugar de "one"
> y "two: three four" respectivamente.
>
> ?Como arreglo ese pattern para que el primer "lookahead" pare en el primer
> ":"?
> [Creo que se nota que tengo poca experiencia con regex]
>
> Muchas gracias.
> Un saludo,
> Jose
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Controladores couchd para python

2019-10-24 Por tema Ander Garmendia
Hola,

yo utilizo couchdb-python para un proyecto personal y funciona bien para
las operaciones básicas, que son las que yo utilizo: CRUD sobre documentos,
consultas sobre views y replicaciones.

Acabo de ver que el mantenedor de la librería ya no la soporta, por lo que
puede que no te encaje.

Siempre puedes utilizar la API REST, y dejarte de utilizar librerías de
terceros.

Un saludo.

Oswall Verny Arguedas C.  igorleak hau idatzi zuen
(2019 urr. 24, og. 02:35):

> Saludos listeros de python
> Estoy revizando los controladores para utilizar CouchDB de Apache para
> python.
> Quiero utilizar una base de datos documental o de objetos para un proyecto.
> Debe trabajar también en raspberrypi.
> He visto varias librerias para trabajar en python con CouchDB, sin embargo
> observo que la última revisión de casi todas está con 1, 2 o más años sin
> tener nuevas versiones.
> Alguno ha trabajado con estas librerias?.  Cual me recomiendan?
> Gracias de antemano
> Oswall
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Desplegar desarrollos en distintos servidores

2019-03-22 Por tema Ander Garmendia
Échale un vistazo a Ansible.

El vie., 22 mar. 2019 11:12, Pixu Kideak  escribió:

> Buenos días,
>
> Estoy aprendiendo Python, he realizado algún script que utiliza algunas
> librerias de terceros que los he puesto en marcha con PIP y tengo
> funcionando el programa en un servidor.
> Me gustaría saber cual es la mejor manera para poder hacer funcionar el
> desarrollo en otros servidores con distintas arquitecturas (x32, x64) y
> distintos sistemas operativos.
>
> En un principio he pensado que podría instalar Python y las librerias en
> los distintos servidores y después copiar los scripts; pero quiero pensar
> que existe alguna manera de automatizar este proceso o realizarlo de manera
> más elegante.
>
> Un saludo y muchas gracias por vuestra ayuda ;-)
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Distintos Encodings en Python

2018-11-01 Por tema Ander Garmendia
Hola,

tiene pinta de que al scrapear la página no estás ulizando el codec
adecuado (creo que pusiste cp1251) y por lo tanto el programa no es capaz
de interpretar el texto.

Primero, cerciorarte del encoding que están ulizando esas páginas web y
utiliza ese encoding en BeautifulSoup para obtener el contenido ( no
conozco la librería, por lo que no te puedo decir mas, pero seguro que hay
alguna manera de definir el encoding).

Una vez que tienes el contenido bien descodificado, puedes trabajar con el
tranquilamente, ya que Python3 trabaja con bytes.

Para terminar si quieres guardar el contenido tendrás que volver a
codificarlo, preferiblemente en UTF8, y como te han comentado en los
ejemplos que te han enviado anteriormente.

Un saludo.



El jue., 1 nov. 2018 11:59, Pixu Kideak  escribió:

> Hola,
>
> En la prueba que estoy realizando, utilizo BeautifulSoup [
> https://www.crummy.com/software/BeautifulSoup/bs4/doc/] con Python 3.7.
>
> Mi objetivo es mediante BeautifulSoup tener todo el código de la página y
> por ejemplo almacenar el título de ésta en un fichero CSV. (En realidad se
> tratan de más datos de la web que lo realiza mediante un búcle recorriendo
> las distintas webs existentes; pero creo que es suficiente si consigo
> almacenar el título de la web que tiene letras del alfabeto cirílico en el
> fichero CSV).
>
> Primeramente quiero verlo todo en consola, así soy capaz de obtener el
> título de la web y pintarlo en la consola; pero a la hora de mostrarlo, no
> me muestra los caracteres cirílicos  sino "" es por eso que enfocaba el
> problema cómo si se tratara de un problema de encoding.
>
> Un saludo,
>
> On Thu, 1 Nov 2018 at 08:11, Angel Lis  wrote:
>
>> Hola,
>> en Python3 todo texto es unicode por defecto y el encoding del source es
>> siempre unicode.
>> En este pagina te lo explica:
>>
>> https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
>>
>> Un saludo.
>>
>> El mié., 31 oct. 2018 a las 14:24, Sergio Fernández ()
>> escribió:
>>
>>> Primero, definiendo en la cabecera de tus ficheros
>>> https://docs.python.org/2.3/whatsnew/section-encodings.html
>>>
>>> #!/usr/bin/env python
>>> # -*- coding: UTF-8 -*-
>>>
>>> Segundo, defiendo explicitamente el encoding cuando abres ficheros para
>>> lectura/escritura:
>>>
>>> open('some.csv', encoding='utf-8')
>>>
>>>
>>>
>>>
>>>
>>> On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak 
>>> wrote:
>>>
 Gracias por el consejo Sergio.

 ¿Cómo podría forzar a que el script / app  fuera obligado a utilizar
 Unicode?

 Saludos ;-)

 On Wed, 31 Oct 2018 at 13:44, Sergio Fernández 
 wrote:

> Utiliza siempre un encoding independiente de la plataforma que soporte
> el juego de caracteres que necesitas. Unicode es tu amigo ;-)
>
> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak 
> wrote:
>
>> Hola,
>>
>> Estoy trabajando en un entorno Windows con Python 3.7 y según veo en
>> el encoding utilizo cp1252 - windows -1252 Western Europe.
>>
>> Quiero obtener información de una web con caracteres rusos y guardar
>> la información en un fichero CSV.
>>
>> Según he visto el encoding necesario es cp1251 - windows - 1251 -
>> Bulgarian, Byelorussian, Macedonian, Russian, Serbian.
>>
>> Pero no sé cómo puedo usarlo desde Python o qué debo hacer para poder
>> grabar la información correctamente en el fichero CSV.
>>
>> ¿Alguien me podría mostrar algo de luz?
>>
>> Un saludo ;-)
>>
>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>
>
> --
> Sergio Fernández
> http://www.wikier.org
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es

>>>
>>>
>>> --
>>> Sergio Fernández
>>> http://www.wikier.org
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>>
>>
>>
>> --
>> --
>> Àngel Lis.
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] PySS el 12 de Octubre en Donostia-San Sebastian

2018-09-07 Por tema Ander Garmendia
Buenas,

Ya que hay actividad en la lista y ningún organizador ha posteado por aquí,
les dejo el link de PySS: http://pyss18.pyss.org

En esta edición cumplen 5 años y cambian de ubicación.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Formularios y Platillas en Flask

2017-12-06 Por tema Ander Garmendia
Lo mas probable es que estés utilizando python3 ya que `iteritems()`
se eliminó en esa versión.

Prueba con `items()` y seguramente te funcionará.

El día 6 de diciembre de 2017, 21:12, Horacio  escribió:
> Estoy siguiendo uno de los miles de ejemplos en internet para crear un
> formulario que tome datos y que presente resultados sin el uso el
> WTF_Flask!. Donde los resultados están en un diccionario. Ahora bien
> tengo este código python (soy muy principiante en Flask!! así que
> perdón por las barbaridades)
>
> from flask import Flask, render_template
> app = Flask(__name__)
>
> @app.route('/result')
> def result():
>dict = {'phy':50,'che':60,'maths':70}
>return render_template('table.html', result = dict)
>
> if __name__ == '__main__':
>app.run(debug = True, port=8000)
>
> que va a presentar los valores del dicionario por medio de la platilla
> table.html, la cual es:
>
> 
> 
>
>
>   
>  {% for key, value in result.iteritems() %}
>
> 
> {{ key }} 
> {{ value }} 
> 
>
>  {% endfor %}
>   
>
>
> 
>
> cuando por medio del navegador hago http://localhost:8000/result ,,,
> me da este error,,,
>
>  File 
> "/home/hcaste/virtual/flask/flask_experimentos/Plantillas/templates/table.html",
> line 6, in top-level template code
> {% for key, value in result.iteritems() %}
> jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'iteritems'
>
> Alguien me puede dar una mano en como corregir el código para salvar este 
> error?
>
> Saludos.
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿cómo anunciar un proyecto para que la comunidad participe en su desarrollo?

2017-06-24 Por tema Ander Garmendia
Buenas,

no creo que haya ningún protocolo para liberar un proyecto open source.

En tu caso, yo lo primero que haría sería colgar los proyectos en Github,
como ya te han dicho antes. Después tocaría dar un poco de publicidad a
esos proyectos, bien sea vía Twitter u otra red social, escribiendo algunos
post en blogs describiendo el proyecto y sus objetivos y finalmente pedir
ayuda para mantenerlos.

Si participas en alguna comunidad de desarrolladores, dala a conocer para
saber si hay alguien interesado en colaborar en el proyecto o en su defecto
conocen a un tercero que quizás esté interesado.

Resumiendo describe bien el objetivo y después dale 'publicidad'.

Mucho ánimo y buena suerte!

El sáb., 24 jun. 2017 10:02, Pepe  escribió:

> Hola Jose,
>
> Yo creo que lo más sencillo y lo que actualmente se suele hacer para
> liberar un proyecto es ponerlo en Github.
>
> Saludos.
>
>
> El 24/6/2017 4:37 a. m., "Jose Caballero" 
> escribió:
>
> Hola,
>
>
> imagino que casi todos los miembros de esta lista han leído "the cathedral
> and the bazaar" de Eric Raymond.
>
> Tengo dos o tres proyectos en mente que me gustaría desarrollar, de tamaño
> relativamente pequeño.
> Están inspirados por mi trabajo, pero no relacionafos directamente, motivo
> por el que no puedo dedicarles parte de mi tiempo laboral.
> Tendría que ser en mi tiempo libre. Pero después del trabajo lo último que
> me apetece es seguir programando.
>
> Así que pienso que tal vez la única forma de ver esos proyectitos salir
> adelante sería "liberarlos" y dejar que la comunidad se encargue de ellos,
> si así lo considerase oportuno (quizás no sean tan interesantes como a mí
> me lo pueden parecer).
>
> En cualquier caso, ¿se suele hacer de alguna forma más o menos canónica?
> ¿Existe algún tipo de protocolo para anunciar un proyecto Open Source en
> python y pedir ayuda a la comunidad? ¿Alguna regla no escrita, o escrita,
> sobre esto?
>
>
> Muchas gracias por adelantado.
> Un saludo,
> Jose
>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Problema en string

2014-08-13 Por tema Ander Garmendia
¿Que librería / driver estás utilizando para conectarte a la  base de datos?

Mira la documentación para ver si la librería te ofrece un método con
binding de parámetros y olvídate tu de formatear el string a ejecutar.
 El 13/08/2014 23:06, Jean Carlos Rodrìguez
jeancarlosr...@yahoo.com.dmarc.invalid escribió:

 Obtengo el famoso error 1064, error de sintaxis


   El Miércoles, 13 de agosto, 2014 3:52 P.M., Daπid davidmen...@gmail.com
 escribió:



 2014-08-13 19:08 GMT+02:00 Jean Carlos Rodrìguez 
 jeancarlosr...@yahoo.com.dmarc.invalid:


 query_exec(INSERT INTO table (id, desc) VALUES  ({0},{1})
 .format(1,desc))

 pero cuando lee el caracter  de pulgadas lo cierra y me da error, ya he
 tratado haciendo para combinaciones y nada, si alguie ha tenido un error
 asi, o hay una manera de resolverlo mas facil, y no rebentarme la cabeza se
 lo agradeceria.


 Python puede parsear esa expresión sin problemas. Las triples comillas
 hacen que cuando sólo hay una, sea ignorada. El problema está en la base de
 datos. Mi primera idea sería averiguar si esos caracteres están soportados,
 y si lo están, cómo se escapan.

 ¿Cuál es el mensaje de error? Ayuda mucho, siempre conviene ponerlo.


 /David.




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


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


[Python-es] ¿ Injección de código con decoradores o herencia ?

2013-10-21 Por tema Ander Garmendia
Buenas,

estoy 'jugando' con decoradores y haciendo diferentes pruebas y tengo
una duda que quizá alguien me pueda aclarar.

Digamos que tenemos una clase ( llamemosla B ) a la que queremos
añadir una funcionalidad (llamemosla F). El método clásico sería
heredar desde la clase base ( B ) y crear una nueva clase ( llamemosla
C ) que implementase nuestra funcionalidad ( F ). Hasta aquí todo
normal y corriente.

Ahora llega python y nos ofrece los decoradores, por lo tanto, podemos
crear una clase decoradora ( llamemosla D ) que implemente la
funcionalidad ( F ) y que decorando una clase ( volvamos a la clase B
), añade la funcionalidad F en la clase B sin necesidad de herencias
de ningún tipo.

Visto así, todo parece muy cómodo, se escribe menos código, hay menos
clases implicadas, etc.
Y como todo parece muy bonito, aquí surge mi duda: ¿Está esta practica
extendida al escribir código en python ( es pythonico y aceptable ) ?
¿ o es mas una prueba conceptual ?

Gracias de antemano y un saludo.

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


Re: [Python-es] Moderación en la lista

2013-09-28 Por tema Ander Garmendia
100% de acuerdo!

Esperemos q este toque de atención sirva de algo.

Un saludo.
On 2013 ira 28 13:50, Juan Luis Cano juanlu...@gmail.com wrote:

  Hola a todos:

 (Resumen: Email largo, con algunas sugerencias para mejorar la calidad de
 la lista)

 Me gustaría hablar del tema de la moderación en esta lista. Esta mañana he
 leído dos mensajes seguidos con asuntos del tipo Ayuda o Ayuda con esto
 y con contenido lleno de súplicas y frases de desesperación.

 Me voy a ahorrar los eufemismos: esta situación no es nada seria. Lo he
 hablado con muchas personas y hay gente muy buena que no está suscrita a la
 lista por puro aburrimiento y hartazgo de leer preguntas estúpidas, mal
 formuladas o que demuestran que la persona que pregunta no ha hecho los
 deberes.

 Las pautas y consejos para hacer preguntas de manera inteligente se
 conocen ya desde hace más de una década y están traducidos al español:

 http://www.sindominio.net/ayuda/preguntas-inteligentes.html

 Podríamos ponernos a hablar sobre qué temas discutir aquí y qué temas
 redirigir a otros sitios (Python Majibu, entredesarrolladores, listas
 locales), pero eso daría para mucho, y por tanto voy a hacer una serie de
 sugerencias concretas que podemos comentar entre todos y empezar a aplicar
 enseguida:

 1. No aceptar títulos vacíos o ambiguos.

 Ayuda con este error *no vale para nada* como asunto de un email. Cuando
 alguien envíe un mensaje de esas características, se cambia el asunto y se
 le dice que intente hacerlo mejor la próxima vez. Lo de ser más o menos
 educado ya va en gustos, yo preferiría que se le dijese con buena educación
 y seguidamente se contestase a su pregunta.

 Se le puede enlazar esto:

 http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN103

 2. No aceptar pedazos de código gigantes.

 Cuando alguien te pega un programa de 100 líneas (o más) para que le digas
 dónde está el error, el problema es que esa persona no ha trabajado para
 intentar aislar el fallo y entender más o menos dónde se encuentra. Ese
 tema también evitarse: otra vez, se le dice a la persona que intente aislar
 el problema, sobre todo para que sea más fácil para los demás ayudarle. De
 forma educada a poder ser.

 Pero por otro lado, si alguien por lo que sea sí que tiene que pegar mucho
 código, que por favor no lo haga en un mensaje porque es incomodísimo.
 Cuando alguien haga eso, se le dice educadamente que use gist.github.com,
 o el servicio que a cada cual le parezca bien.

 3. Pedir que se especifique el trabajo previo

 Es una pérdida de tiempo muy irritante que alguien mande una pregunta y
 haya que sacarle con sacacorchos cuál es su sistema, qué versión de Python
 usa, qué ha intentado antes... no somos robots, creo que no hace falta dar
 una plantilla, pero si alguien no da este tipo de detalles se le podría
 decir educadamente que para la próxima vez los escriba a la primera.

 Se le puede enlazar esto:

 http://www.sindominio.net/ayuda/preguntas-inteligentes.html#AEN117


-

Describe los síntomas de tu problema o error con cuidado y claramente.
 -

Describe el entorno en el que ocurre (máquina, S.O., aplicación,
loquesea).
 -

Describe la investigación que llevaste a cabo para acotar una posible
respuesta al problema antes de hacer la pregunta.
 -

Describe los pasos de diagnóstico que llevaste a cabo e intenta
solucionar el problema tú mismo antes de formular la cuestión.
 -

Describe cualquier cambio reciente en tu ordenador o combinación de
software que pueda resultar relevante.


 4. Ser un poco estrictos

 Creo que todo el mundo tiene derecho a aprender y usar Python.

 Creo que todo el mundo tiene derecho a que le ayuden a aprender a usar
 Python.

 Pero no creo que todos los flojos del planeta tengan derecho a aprender
 Python gracias a que gente en su tiempo libre les soluciona preguntas mal
 formuladas en una lista de correo.

 Si alguien pone ayuda por favor se le podría decir educadamente que
 todos los que escriben a la lista requieren ayuda y que por poner ese tipo
 de cosas no va a obtener prioridad. Si alguien necesita ayuda urgente
 siempre puede *pagar* $$$ a un profesional.

 Hay gente que necesita un RTFM por respuesta. Esto es una opinión
 puramente personal pero sólidamente fundamentada.

 ---

 Y con esto termino. Esta lista no tiene un tráfico, digamos, inmanejable,
 pero si mejoramos las condiciones tal vez consigamos atraer a más gente *y
 dar una impresión de seriedad*.

 Estoy muy cansado de ver problemas tan básicos en Python-es, las
 comunidades de Google Plus, los foros y en todas partes. Creo que los
 podemos solucionar.

 Un saludo

 Juan Luis Cano

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


___
Python-es mailing list
Python-es@python.org

Re: [Python-es] Insertar datos mysql

2013-08-07 Por tema Ander Garmendia
Échale un vistazo a la documentación de MySQLdb:
http://mysql-python.sourceforge.net/MySQLdb.html

Básicamente deberias cambiar la sentencia SQL y pasar los parametros
con una tupla en el método execute. Algo así:

sql = INSERT INTO clientes(cedula) VALUES (%s)

cursor.execute(sql, (dtcedula,))

El día 7 de agosto de 2013 12:39, G V nada...@gmail.com escribió:
 Creo que la solución que buscas está en
 https://github.com/farcepest/MySQLdb1/blob/master/doc/user_guide.rst#some-examples

 pero a grandes rasgos estas intentando hacer la sustitucion a mano dentro
 del propio string


 2013/8/6 Alfredo Riguetti alfredo.rigue...@ptravel.com.uy

 Hola a Todos
 Necesito que alguien me ayude con esto. tengo que ingresar unos datos del
 cliente a una base y si les pongo los datos a mano en el insert lo hace
 perfecto pero si lo quiero hacer con variabnles no lo hace alguien me puede
 ayudar copio el codigo, seguro algo esta mal escrito o algo asi.

 ahora deje solo los datos para la cedula para probar pero nada ...

 def OnClickAceptar(self,event):

 dtcedula = self.TextoCedulaCli.GetValue()
 nombres = self.TextoNombresCli.GetValue()
 apellidos = self.TextoApellidosCli.GetValue()
 direccion = self.TextoDireccionCli.GetValue()
 email = self.TextoCorreo.GetValue()
 telefonocelular = self.TextoTelefonoCeluar.GetValue()
 telefonoparticular = self.TextoTelefonoParticular.GetValue()



 # Open database connection
 db =
 MySQLdb.connect(localhost,root,miyaguiAdminaya2010,cambio)

 # prepare a cursor object using cursor() method
 cursor = db.cursor()

 # Prepare SQL query to INSERT a record into the database.

 print dtcedula
 sql = INSERT INTO clientes(cedula) VALUES ('%s') % dtcedula


 try:
  # Execute the SQL command
  cursor.execute(sql)
  # Commit your changes in the database
  db.commit()
 except:
  #Rollback in case there is any error
  db.rollback()

  # disconnect from server
  db.close()

 ___
 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] Quick Python Book de la editorial Manning al 50% por un breve espacio de tiempo

2013-04-12 Por tema Ander Garmendia
Hola,

no se si te has dado cuenta, pero la edición es del año 99. Un dato a tener
muy en cuenta. Por lo demás parece q tiene buena crítica.

Un saludo.


2013/4/12 G V nada...@gmail.com

 en general tiene buena critica, o eso parece:
 http://www.amazon.com/Quick-Python-Book-Second-Edition/product-reviews/193518220X/ref=cm_cr_dp_see_all_summary?ie=UTF8showViewpoints=1


 On Fri, Apr 12, 2013 at 10:03 AM, Kiko kikocorre...@gmail.com wrote:

 *The Quick Python Book is Manning’s Deal of the Day April 12!*
 * *

 *That’s right, starting at midnight EDT, April 12, my book, The Quick
 Python Book, 2nd ed will be Manning’s Deal of the Day. What does that mean?
 It means that if you click on the link at the right and buy the book or
 ebook using the code dotd0412au, it will be half price. This deal will
 only last for a day or two, but it’s a good chance to pick it up a really
 good price! *

 Por si a alguien le pudiera interesar y no lo ha visto por ahí. Se puede
 comprar este libro http://www.manning.com/harms/ al 50% parece que solo
 hoy. En la compra habría que introducir el código *dotd0412au.*

 Si alguien conoce el libro y puede dar información sobre el mismo (es
 para novatos, es muy bueno, es muy malo,...) quizá sería útil para posibles
 compradores.

 Saludos.

 PD: enlace original donde lo he visto (blog del autor del libro),
 http://learnpython.wordpress.com/2013/04/11/quick-python-book-is-mannings-deal-of-the-day-april-12/

 ___
 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] Oferta de trabajo Programador Python y PHP

2013-02-26 Por tema Ander Garmendia
joe, esto parece barrapunto ;)

Buenas noches...

El 26 de febrero de 2013 13:38, Narcis Garcia - GiLUG informat...@actiu.net
 escribió:

 Creo que alguna palabra usada por J. Javier Maestro quizás fuera
 inadecuada, pero las críticas tambien deberían ser bienvenidas.

 Francesc, esta no es una lista «de libre mercado» sinó de Python. Sinó,
 «en un sistema de libre expresión como el que estamos» tambien valdría
 todo.

 Python tiene más relación con el software libre (de libertad) que con el
 mercado libre (de despido). Aunque he visto ofertas con más problemas
 que la de Martin Maqueira (como mencionar sólo lo que se pide y no lo
 que se ofrece) tambien me fastidia ver por listas de correo cómo se
 aprieta las tuercas a la gente que busca un trabajo, o un trabajo más
 digno.

 La titulación que se pide ya merece el sueldo que se ofrece. La
 experiencia mencionada debería hacer pasar a más de 30.000 euros
 anuales, pero de largo.


 Al 26/02/13 13:01, En/na J. Javier Maestro ha escrit:
  2013/2/26 Francesc Alted fal...@gmail.com mailto:fal...@gmail.com
 
  On 2/26/13 3:44 AM, J. Javier Maestro wrote:
 
  2013/2/25 Martin Maqueira martinmaque...@gmail.com
  mailto:martinmaque...@gmail.com
  mailto:martinmaqueira@gmail.__com
  mailto:martinmaque...@gmail.com
 
 
 
Buenos Dias a todos,
 
 
   Queria extender una oferta de trabajo que detallo abajo. El
  rango
  salarial es de 24.000 a 30.000 brutos anuales.
 
  Si os interesa podeis mandarme curriculum al email.
 
  Gracias y saludos
 
 
  Martin Maqueira
 
 
Programador PYTHON y PHP / ERP (barcelona)
 
  Buscamos un *Ingeniero en Informática* / *Analista de
 Sistemas
  titulado *con experiencia en desarrollo WEB y ERP.
 Necesitamos
 
  alguien con iniciativa y capacidad de adaptación a entornos
  cambiantes y dinámicos.
 
  Sus tareas serán desarrollar un ERP desde cero y algunas
  funcionalidades web integradas con el CMS. Luego se dedicará
 a
  labores de mantenimiento , optimización , desarrollos de
 nuevas
  funcionalidad e integración con distintos sistemas.
 
  Para esto*requerimos experiencia en Programación en Python y
 PHP
  con frameworks MVC* (Zend o u otro) , Wordpress, MySql ,
  Python .
 
  Ofrecemos un buen ambiente de trabajo.
 
  Experiencia mínima: (excluyente)
 
  (Por favor , ABSTENERSE si no se cumplen rigurosamente estos
  requisitos ya que desestimaremos automaticamente las
  candidaturas).
 
 
  Habría que empezar a pedir Salarios mínimos y POR FAVOR
  ABSTENERSE DE MANDAR OFERTAS ABSURDAS. Sobre todo, si no se dice
  para qué empresa es (porque así, al menos, apunto la empresa a
  mi lista de favoritas XXD)
 
 
  24K-30K por una persona con titulación, 8 años de experiencia
  combinada, unos 5 reales (pongamos, 2 de Python, 2 de PHP y 1 de
  HTML/CSS/JS, etc), y encima full-stack (Frontend + Backend)? Y,
  por si además la persona pudiera, tener experiencia en
  Wordpress, administración de sistemas LAMP... para que haga
  horas extra administrando la infraestructura?
 
  Pero... estamos de coña?  o.0
 
  Y, por curiosidad, un manager normal de la empresa, con,
  pongamos, unos 6-7 años de experiencia... cuánto cobra? Mmmm...
  veamos, así a ojo, yo digo que unos 40-45K. No sé, me gustaría
  equivocarme.
 
 
  jj: Esta es una lista de Python, y las ofertas de trabajo
  relacionadas con este lenguaje son bienvenidas.  Ademas, en un
  sistema de libre mercado como el que estamos, cada uno es libre de
  enviar las ofertas que crea oportunas, asi como cada cual es libre
  de aceptarlas o no.
 
  Y si crees que la oferta es una OFERTA ABSURDA, agradeceriamos que
  al menos expreses tus opiniones de manera mas educada.
 
 
  Las mayúsculas estaban usadas igual que su ABSTENERSE. Respecto  a la
  educación, siento que te haya parecido maleducada mi contestación. A mi
  me pareció una oferta de mal gusto, pedir semejante burrada de años de
  experiencia. Culpa mía por pensar que serían de verdad y no computado
  todo en plan rápido y de en dos añitos te metes HTML, CSS, JS, PHP y
  Python.
 
  Pero vamos, que tienes razón, que para gustos, colores. Con no leer las
  ofertas, basta. Pero luego nos sorprendemos de que las cosas vayan como
 van.
 
 
  En fin, que siento si he ofendido a alguien, pero que el nivel de
  ofertas que veo en estas listas (y en otras) es nivel te insulto
  educadamente. Pero repito, que seguramente, y visto lo visto, esa será
  mi percepción de mala persona con pensamiento retorcido.
 
  Saludos,
 
  --
  jj
 
 
  

Re: [Python-es] Pythoniano y c niano

2012-12-26 Por tema Ander Garmendia
Buenas,
soy nuevo en el universo python y llevo un tiempo en esta lista y esta
pregunta me ha llamado la atención.
¿ Hay un modo pythonico de hacer las cosas ?
Viendo las soluciones solo veo algoritmos adaptados a las estructuras de
control de python.
¿ Es cosa mía o se me esta pasando algo ?

Saludos y feliz navidad!
 El 26/12/2012 14:21, Daπid davidmen...@gmail.com escribió:

 Por otro lado, el algoritmo se puede mejorar un poco. Hay métodos muy
 optimizados para calcular números primos, pero sin irnos a matemáticas
 superiores, podemos mejorar tu proceso. Un número es primo si y sólo
 si no es divisible exactamente por todos los números menores que él
 (sin contar el 1), y por tanto  si no es divisible exactamente por
 todos los primos menores que él (sin contar el 1). Por tanto, basta
 con que comprobemos sólo los números primos (que ya has calculado).
 Además, sabemos que los números pares no son primos, por lo que
 también nos los podemos saltar.

 Calculando todos los primos desde 2 hasta n tenemos (spoiler):

 http://pastebin.com/fMRH5xKK

 Este programa tarda 0.3 s en calcular los primos hasta 15 000, y 13 s
 en encontrar los 13 843 primos menores que 150 000. Tu versión tarda
 unos 3 segundos para el primer caso.

 El proceso se puede encapsular más. Podemos echar mano de la
 programación funcional y hacer que isprime devuelva por defecto True,
 salvo cuando vea que el número es compuesto, en cuyo caso devolverá
 False.

 http://pastebin.com/gnFrcpYC

 Con esto, hemos reducido el tiempo de cálculo a la mitad.

 He probado a considerar sólo los primos menores que la raíz cuadrada
 del número, pero en el cálculo de la raíz se tarda más que en lo que
 se ahorraría en divisiones. Este programa es un poco más rápido que el
 de MonoBOT.

 2012/12/26 kausdiv kaus...@gmail.com:
  Hola.
  Estoy aprendiendo Python (me gusta muchisimo).
  El problema que todo lo que escribo lo hago al estilo ceniano.  Es decir
  tipo C o java, y quiero adentrarme al estilo pythoniano.
  Por ejemplo este programita que busca los números primos entre 2 números
  dados.
  ---
  def fprimos(n,x):
  l=[]
  for i in range(n,x):
  isprime=1
  for k in range(2,i):
  if i % k ==0 and ik:
  isprime=0
  break
  if isprime==1:
  l.append(i)
  return l
 
  def main():
  ok=1
  while ok==1:
  print  imprime numeros primos desde hasta.
  print  0 = Salir 
  n1=raw_input(Valor inicial )
  n2=raw_input(Valor Final )
  n1=int(n1)
  n2=int(n2)
  if n1==0 or n2==0:
  ok=0
  else:
  print fprimos(n1,n2)
 
  main()
 
  ---
  ¿ como sería el mismo programa pasado a estilo python ?
 
  Gracias amigos.
  P.D.
  No tengo ni idea de ingles como para leer la documentación. :-(
  ___
  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/