From diego.uribe.gamez en gmail.com Sat Jan 4 18:31:58 2014 From: diego.uribe.gamez en gmail.com (DiegoUG) Date: Sat, 4 Jan 2014 12:31:58 -0500 Subject: [Python-es] Como encuentro el path del archivo usando python? Message-ID: Tengo una duda y es como encuentro el path donde esta ,i archivo python: /carpeta_uno/ archivo.py /carpeta_dos/ __init__.py modulo.py quiero importar desde archivo.py el modulo.py pero no se como? -- *Diego Alonso Uribe Gamez* ------------------------------ *Desarrollador web* Twitter: @DiegoUG Google+: +DiegoAlonsoUribeGamez ------------------------------ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Sat Jan 4 18:39:27 2014 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Sat, 4 Jan 2014 11:39:27 -0600 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: from ..carpeta_dos.modulo import some_func Lee sobre imports relativos . El 4 de enero de 2014, 11:31, DiegoUG escribió: > Tengo una duda y es como encuentro el path donde esta ,i archivo python: > > /carpeta_uno/ > archivo.py > /carpeta_dos/ > __init__.py > modulo.py > > quiero importar desde archivo.py el modulo.py pero no se como? > > -- > *Diego Alonso Uribe Gamez* > ------------------------------ > > *Desarrollador web* > > Twitter: @DiegoUG > > Google+: +DiegoAlonsoUribeGamez > ------------------------------ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From diego.uribe.gamez en gmail.com Sat Jan 4 19:09:09 2014 From: diego.uribe.gamez en gmail.com (DiegoUG) Date: Sat, 4 Jan 2014 13:09:09 -0500 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el path en un string con os de ese directorio, la idea es que así este en un mac como en un linux pueda obtener el path completo en un string. El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel escribió: > from ..carpeta_dos.modulo import some_func > > Lee sobre imports relativos > . > > > El 4 de enero de 2014, 11:31, DiegoUG escribió: > >> Tengo una duda y es como encuentro el path donde esta ,i archivo python: >> >> /carpeta_uno/ >> archivo.py >> /carpeta_dos/ >> __init__.py >> modulo.py >> >> quiero importar desde archivo.py el modulo.py pero no se como? >> >> -- >> *Diego Alonso Uribe Gamez* >> ------------------------------ >> >> *Desarrollador web* >> >> Twitter: @DiegoUG >> >> Google+: +DiegoAlonsoUribeGamez >> ------------------------------ >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Diego Alonso Uribe Gamez* ------------------------------ *Desarrollador web* Twitter: @DiegoUG Google+: +DiegoAlonsoUribeGamez ------------------------------ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nachoel01 en gmail.com Sat Jan 4 19:16:05 2014 From: nachoel01 en gmail.com (=?UTF-8?Q?Ignacio_Rodr=C3=ADguez?=) Date: Sat, 4 Jan 2014 16:16:05 -0200 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: No te entiendo mucho, ¿querés importar 'modulo' desde archivo? Porqué no haces: import sys path = "/home/usuario/programa/carpeta_dos/" sys.path.append(path) import modulo El 4/1/14, DiegoUG escribió: > ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el path > en un string con os de ese directorio, la idea es que así este en un mac > como en un linux pueda obtener el path completo en un string. > > > El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel > > escribió: > >> from ..carpeta_dos.modulo import some_func >> >> Lee sobre imports >> relativos >> . >> >> >> El 4 de enero de 2014, 11:31, DiegoUG >> escribió: >> >>> Tengo una duda y es como encuentro el path donde esta ,i archivo >>> python: >>> >>> /carpeta_uno/ >>> archivo.py >>> /carpeta_dos/ >>> __init__.py >>> modulo.py >>> >>> quiero importar desde archivo.py el modulo.py pero no se como? >>> >>> -- >>> *Diego Alonso Uribe Gamez* >>> ------------------------------ >>> >>> *Desarrollador web* >>> >>> Twitter: @DiegoUG >>> >>> Google+: >>> +DiegoAlonsoUribeGamez >>> ------------------------------ >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *Diego Alonso Uribe Gamez* > ------------------------------ > > *Desarrollador web* > > Twitter: @DiegoUG > > Google+: > +DiegoAlonsoUribeGamez > ------------------------------ > -- Saludos. Ignacio Rodríguez From monobot.soft en gmail.com Sat Jan 4 20:48:51 2014 From: monobot.soft en gmail.com (monoBOT) Date: Sat, 4 Jan 2014 19:48:51 +0000 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: import os os.path.realpath(__file__) El 4 de enero de 2014, 18:16, Ignacio Rodríguez escribió: > No te entiendo mucho, ¿querés importar 'modulo' desde archivo? > > Porqué no haces: > import sys > path = "/home/usuario/programa/carpeta_dos/" > sys.path.append(path) > > import modulo > > El 4/1/14, DiegoUG escribió: > > ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el > path > > en un string con os de ese directorio, la idea es que así este en un mac > > como en un linux pueda obtener el path completo en un string. > > > > > > El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel > > >> escribió: > > > >> from ..carpeta_dos.modulo import some_func > >> > >> Lee sobre imports > >> relativos< > http://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports> > >> . > >> > >> > >> El 4 de enero de 2014, 11:31, DiegoUG > >> escribió: > >> > >>> Tengo una duda y es como encuentro el path donde esta ,i archivo > >>> python: > >>> > >>> /carpeta_uno/ > >>> archivo.py > >>> /carpeta_dos/ > >>> __init__.py > >>> modulo.py > >>> > >>> quiero importar desde archivo.py el modulo.py pero no se como? > >>> > >>> -- > >>> *Diego Alonso Uribe Gamez* > >>> ------------------------------ > >>> > >>> *Desarrollador web* > >>> > >>> Twitter: @DiegoUG > >>> > >>> Google+: > >>> +DiegoAlonsoUribeGamez > >>> ------------------------------ > >>> > >>> > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es en python.org > >>> https://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >>> > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> https://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > >> > > > > > > -- > > *Diego Alonso Uribe Gamez* > > ------------------------------ > > > > *Desarrollador web* > > > > Twitter: @DiegoUG > > > > Google+: > > +DiegoAlonsoUribeGamez > > ------------------------------ > > > > > -- > Saludos. > Ignacio Rodríguez > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From diego.uribe.gamez en gmail.com Sat Jan 4 21:03:37 2014 From: diego.uribe.gamez en gmail.com (DiegoUG) Date: Sat, 4 Jan 2014 15:03:37 -0500 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: esto es, gracias. El 4 de enero de 2014, 14:48, monoBOT escribió: > import os > > os.path.realpath(__file__) > > > > El 4 de enero de 2014, 18:16, Ignacio Rodríguez escribió: > > No te entiendo mucho, ¿querés importar 'modulo' desde archivo? >> >> Porqué no haces: >> import sys >> path = "/home/usuario/programa/carpeta_dos/" >> sys.path.append(path) >> >> import modulo >> >> El 4/1/14, DiegoUG escribió: >> > ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el >> path >> > en un string con os de ese directorio, la idea es que así este en un mac >> > como en un linux pueda obtener el path completo en un string. >> > >> > >> > El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel >> > > >> escribió: >> > >> >> from ..carpeta_dos.modulo import some_func >> >> >> >> Lee sobre imports >> >> relativos< >> http://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports> >> >> . >> >> >> >> >> >> El 4 de enero de 2014, 11:31, DiegoUG >> >> escribió: >> >> >> >>> Tengo una duda y es como encuentro el path donde esta ,i archivo >> >>> python: >> >>> >> >>> /carpeta_uno/ >> >>> archivo.py >> >>> /carpeta_dos/ >> >>> __init__.py >> >>> modulo.py >> >>> >> >>> quiero importar desde archivo.py el modulo.py pero no se como? >> >>> >> >>> -- >> >>> *Diego Alonso Uribe Gamez* >> >>> ------------------------------ >> >>> >> >>> *Desarrollador web* >> >>> >> >>> Twitter: @DiegoUG >> >>> >> >>> Google+: >> >>> +DiegoAlonsoUribeGamez> > >> >>> ------------------------------ >> >>> >> >>> >> >>> _______________________________________________ >> >>> Python-es mailing list >> >>> Python-es en python.org >> >>> https://mail.python.org/mailman/listinfo/python-es >> >>> FAQ: http://python-es-faq.wikidot.com/ >> >>> >> >>> >> >> >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> https://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> > >> > >> > -- >> > *Diego Alonso Uribe Gamez* >> > ------------------------------ >> > >> > *Desarrollador web* >> > >> > Twitter: @DiegoUG >> > >> > Google+: >> > +DiegoAlonsoUribeGamez >> > ------------------------------ >> > >> >> >> -- >> Saludos. >> Ignacio Rodríguez >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Diego Alonso Uribe Gamez* ------------------------------ *Desarrollador web* Twitter: @DiegoUG Google+: +DiegoAlonsoUribeGamez ------------------------------ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Sat Jan 4 21:24:30 2014 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Sat, 4 Jan 2014 14:24:30 -0600 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: Ok, creo que ya entiendo. Lo que quieres hacer es hacer algo estilo importlib que django implementa por default. https://github.com/django/django/blob/master/django/utils/importlib.py En ese caso de usar importlib no importas directamente con el path. Si no con modulos. Mas o menos asi. > my_module = import_module('myapp.subapp.module') # django style De esta manera funciona en windows, linux y mac os x El 4 de enero de 2014, 14:03, DiegoUG escribió: > esto es, gracias. > > > El 4 de enero de 2014, 14:48, monoBOT escribió: > > import os >> >> os.path.realpath(__file__) >> >> >> >> El 4 de enero de 2014, 18:16, Ignacio Rodríguez escribió: >> >> No te entiendo mucho, ¿querés importar 'modulo' desde archivo? >>> >>> Porqué no haces: >>> import sys >>> path = "/home/usuario/programa/carpeta_dos/" >>> sys.path.append(path) >>> >>> import modulo >>> >>> El 4/1/14, DiegoUG escribió: >>> > ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el >>> path >>> > en un string con os de ese directorio, la idea es que así este en un >>> mac >>> > como en un linux pueda obtener el path completo en un string. >>> > >>> > >>> > El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel >>> > >> >> escribió: >>> > >>> >> from ..carpeta_dos.modulo import some_func >>> >> >>> >> Lee sobre imports >>> >> relativos< >>> http://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports> >>> >> . >>> >> >>> >> >>> >> El 4 de enero de 2014, 11:31, DiegoUG >>> >> escribió: >>> >> >>> >>> Tengo una duda y es como encuentro el path donde esta ,i archivo >>> >>> python: >>> >>> >>> >>> /carpeta_uno/ >>> >>> archivo.py >>> >>> /carpeta_dos/ >>> >>> __init__.py >>> >>> modulo.py >>> >>> >>> >>> quiero importar desde archivo.py el modulo.py pero no se como? >>> >>> >>> >>> -- >>> >>> *Diego Alonso Uribe Gamez* >>> >>> ------------------------------ >>> >>> >>> >>> *Desarrollador web* >>> >>> >>> >>> Twitter: @DiegoUG >>> >>> >>> >>> Google+: >>> >>> +DiegoAlonsoUribeGamez< >>> https://plus.google.com/+DiegoAlonsoUribeGamez> >>> >>> ------------------------------ >>> >>> >>> >>> >>> >>> _______________________________________________ >>> >>> Python-es mailing list >>> >>> Python-es en python.org >>> >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >>> >>> >> >>> >> _______________________________________________ >>> >> Python-es mailing list >>> >> Python-es en python.org >>> >> https://mail.python.org/mailman/listinfo/python-es >>> >> FAQ: http://python-es-faq.wikidot.com/ >>> >> >>> >> >>> > >>> > >>> > -- >>> > *Diego Alonso Uribe Gamez* >>> > ------------------------------ >>> > >>> > *Desarrollador web* >>> > >>> > Twitter: @DiegoUG >>> > >>> > Google+: >>> > +DiegoAlonsoUribeGamez >>> > ------------------------------ >>> > >>> >>> >>> -- >>> Saludos. >>> Ignacio Rodríguez >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> >> -- >> *monoBOT* >> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *Diego Alonso Uribe Gamez* > ------------------------------ > > *Desarrollador web* > > Twitter: @DiegoUG > > Google+: +DiegoAlonsoUribeGamez > ------------------------------ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jbc.develop en gmail.com Sun Jan 5 04:24:13 2014 From: jbc.develop en gmail.com (Juan BC) Date: Sun, 5 Jan 2014 01:24:13 -0200 Subject: [Python-es] Como encuentro el path del archivo usando python? In-Reply-To: References: Message-ID: import lib ya esta disponible en py2.7 y 3.2 en adelante (en 3.3 es lo que usa el import por defecto) El 4 de enero de 2014, 17:24, Ricardo Azpeitia Pimentel escribió: > Ok, creo que ya entiendo. Lo que quieres hacer es hacer algo estilo > importlib que django implementa por default. > > https://github.com/django/django/blob/master/django/utils/importlib.py > > En ese caso de usar importlib no importas directamente con el path. Si no > con modulos. Mas o menos asi. > > > my_module = import_module('myapp.subapp.module') # django style > > De esta manera funciona en windows, linux y mac os x > > > El 4 de enero de 2014, 14:03, DiegoUG escribió: > > esto es, gracias. >> >> >> El 4 de enero de 2014, 14:48, monoBOT escribió: >> >> import os >>> >>> os.path.realpath(__file__) >>> >>> >>> >>> El 4 de enero de 2014, 18:16, Ignacio Rodríguez escribió: >>> >>> No te entiendo mucho, ¿querés importar 'modulo' desde archivo? >>>> >>>> Porqué no haces: >>>> import sys >>>> path = "/home/usuario/programa/carpeta_dos/" >>>> sys.path.append(path) >>>> >>>> import modulo >>>> >>>> El 4/1/14, DiegoUG escribió: >>>> > ok discúlpame, estaba pensando otra cosa, lo que quiero es obtener el >>>> path >>>> > en un string con os de ese directorio, la idea es que así este en un >>>> mac >>>> > como en un linux pueda obtener el path completo en un string. >>>> > >>>> > >>>> > El 4 de enero de 2014, 12:39, Ricardo Azpeitia Pimentel >>>> > >>> >> escribió: >>>> > >>>> >> from ..carpeta_dos.modulo import some_func >>>> >> >>>> >> Lee sobre imports >>>> >> relativos< >>>> http://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports >>>> > >>>> >> . >>>> >> >>>> >> >>>> >> El 4 de enero de 2014, 11:31, DiegoUG >>>> >> escribió: >>>> >> >>>> >>> Tengo una duda y es como encuentro el path donde esta ,i archivo >>>> >>> python: >>>> >>> >>>> >>> /carpeta_uno/ >>>> >>> archivo.py >>>> >>> /carpeta_dos/ >>>> >>> __init__.py >>>> >>> modulo.py >>>> >>> >>>> >>> quiero importar desde archivo.py el modulo.py pero no se como? >>>> >>> >>>> >>> -- >>>> >>> *Diego Alonso Uribe Gamez* >>>> >>> ------------------------------ >>>> >>> >>>> >>> *Desarrollador web* >>>> >>> >>>> >>> Twitter: @DiegoUG >>>> >>> >>>> >>> Google+: >>>> >>> +DiegoAlonsoUribeGamez< >>>> https://plus.google.com/+DiegoAlonsoUribeGamez> >>>> >>> ------------------------------ >>>> >>> >>>> >>> >>>> >>> _______________________________________________ >>>> >>> Python-es mailing list >>>> >>> Python-es en python.org >>>> >>> https://mail.python.org/mailman/listinfo/python-es >>>> >>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>> >>>> >>> >>>> >> >>>> >> _______________________________________________ >>>> >> Python-es mailing list >>>> >> Python-es en python.org >>>> >> https://mail.python.org/mailman/listinfo/python-es >>>> >> FAQ: http://python-es-faq.wikidot.com/ >>>> >> >>>> >> >>>> > >>>> > >>>> > -- >>>> > *Diego Alonso Uribe Gamez* >>>> > ------------------------------ >>>> > >>>> > *Desarrollador web* >>>> > >>>> > Twitter: @DiegoUG >>>> > >>>> > Google+: >>>> > +DiegoAlonsoUribeGamez>>> > >>>> > ------------------------------ >>>> > >>>> >>>> >>>> -- >>>> Saludos. >>>> Ignacio Rodríguez >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>> >>> >>> >>> -- >>> *monoBOT* >>> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> *Diego Alonso Uribe Gamez* >> ------------------------------ >> >> *Desarrollador web* >> >> Twitter: @DiegoUG >> >> Google+: +DiegoAlonsoUribeGamez >> ------------------------------ >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Juan B Cabral ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From niwi en niwi.be Sun Jan 5 15:08:26 2014 From: niwi en niwi.be (Andrey Antukh) Date: Sun, 5 Jan 2014 15:08:26 +0100 Subject: [Python-es] =?utf-8?q?=C2=BFAlg=C3=BAn_recurso_sobre_trucos_pr?= =?utf-8?q?=C3=A1cticos_y_ejemplos_realistas_de_testing=3F?= In-Reply-To: <52C2891F.803@jcea.es> References: <52C2891F.803@jcea.es> Message-ID: El 31 de diciembre de 2013, 10:06, Jesus Cea escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Una cosa que he ido descubriendo con los años es que para poder hacer > buenos tests es conveniente que lo que estés probando se preste a > ello. Tienes que programar de forma que lo que haces sea fácilmente > testable. > > El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es > utilizar inyección de dependencias. De hecho hubo una época en la que > di la lata un poco para incluir inyección de dependencias en Python, > pero la respuesta masiva fue que eso era antipitónico y que el futuro > eran los mocks y similares. > > Pero me encuentro que para probar una rutina de 20 lineas escribo 200 > lineas de tests más complejos que la propia rutina a comprobar, el > desarrollo es lento y no puedo evitar pensar que estoy haciendo algo > mal :-). > > Así que, ¿alguien conoce recursos online con consejos prácticos y > ejemplos realistas?. Porque hacer un chequeo mínimamente completo de > esta rutina está siendo un infierno. > > Esta rutina genera una clave al azar e intenta registrarla en un > servidor, que devuelve un 401 mientras un administrador no ha admitido > el registro (y en ese caso devuelve un 200). Una vez que tenemos el > 200, nos guardamos ese usuario y clave en disco y no necesitamos > repetir la operación. > > """ > def consigue_autenticacion() : > # Creamos el fichero si es preciso > open("/tmp/heartbeat", "w").close() > #os.utime("/tmp/heartbeat") > > try : > with open("/local/auth", "r") as f : > token = f.read().strip() > if " " in token : > return # Ya tenemos usuario y clave > except FileNotFoundError : > with open("/dev/urandom", "rb") as f : > token = f.read(4096) > if len(token) != 4096 : > raise RuntimeError("Lectura parcial de entropía") > token = md5(token).hexdigest() > with open("/local/auth", "w") as f : > f.write(token+"\n") > > usuario = "XXXXXX" > clave = "XXXXXXXX" # Confidencial, pero no crítico > auth = requests.auth.HTTPBasicAuth(usuario, clave) > > addr = netifaces.ifaddresses("eth0") > ip_addr = addr[netifaces.AF_INET][0]["addr"] > mac_addr = addr[netifaces.AF_LINK][0]["addr"] > mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \ > mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17] > > factor = 1*60 > while True : > t = time.time() > respuesta = requests.get("https://XXXXXX.jcea.es/registro?" > "ip_addr=%s&mac_addr=%s&ts=%.0f" \ > %(ip_addr, mac_addr, time.time()), > auth = auth, > verify = "XXXXXXXXX.jcea.es.cert", > timeout = 1*60, > headers = {"clave": token}) > os.utime("/tmp/heartbeat") > if respuesta.status_code == 401 : > t = t + factor > factor = factor * 3 > if factor > 3600 : > factor = 3600 > while time.time() < t : > time.sleep(10) > os.utime("/tmp/heartbeat") > continue # Volvemos a intentarlo > elif respuesta.status_code == 200 : > with open("/local/auth", "w") as f : > f.write(mac_addr+" "+token+"\n") > return > else : > raise RuntimeError("El servidor nos devuelve un status %s" \ > %respuesta.status_code) > """ > > El código de testeo de esta rutina es complicado de cojones, feo, > frágil. Uso Mocks para comprobar que las llamadas se realizan en el > orden y con los parámetros correctos, tiro excepciones, simulo > ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido > costosísimo. > > ¿Consejos?. > > Se admiten recomendaciones de libros. > > - -- > Jesús Cea Avión _/_/ _/_/_/ _/_/_/ > jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ > Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ > jabber / xmpp:jcea en 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 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.15 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQCVAwUBUsKJG5lgi5GaxT1NAQLu7wQAlG+qzPwUIZWi0wLtgXBg44WWMbODuqZd > SQrsSxFxEL5GHhyWiW2RCJ7cG5B9Sgtbfg2Sez0o9PiAwFxMku42DxTJwS/tPTpK > 15I9WUuvN2lylAOvMPvn5CuUsuis2wQ0R2hv5jgXPJ39Kl/e2ncwuiZB83J1APvd > 5jZXkbYoTz8= > =9H+8 > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Hola. La rutina que presentas, es obviamente muy complicada de testear, pero por que? veamos: * Demasiada logica, la funcion es demasiado grande y hace demasiadas cosas de bajo nivel * * La logica de generar token tiene que ser otra funcion, que puda ser mockeada (con un mock tonto de una lambda que devuelve un token dymmy) * * http, tiene que ser otro metodo que abstraiga de http, tu funcion no tiene que saber de http, tiene que saber solo de lo que hace, autenticar. * * la parte de netinterfaces tambien tiene que ser abstraida. Si te fijas, en esta rutina tienes 0 de abstraccion, usas todas las bibliotecas tal cual con toda la logica adicional que eso implica, moquear eso es un infierno, pero si ocultas diferentes partes de la logica con una responsabilidad unica en distintas funciones, probar la logica concreta de esa rutina (que es seguir unos pasos concretos llamando a otras rutinas) seria crear 4 mocks llamables de una sola linea. La idea final es desacoplar. Espero haberme explicado. Si ves que entenderás mejor con un ejemplo de como haria esta rutina, puedo hacerte un ejemplo! Un saludo. Andrey -- Andrey Antukh - ?????? ????? - http://www.niwi.be/about.html http://www.kaleidos.net/A5694F/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity" ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lasizoillo en gmail.com Mon Jan 6 03:01:28 2014 From: lasizoillo en gmail.com (lasizoillo) Date: Mon, 6 Jan 2014 03:01:28 +0100 Subject: [Python-es] =?utf-8?q?=C2=BFAlg=C3=BAn_recurso_sobre_trucos_pr?= =?utf-8?q?=C3=A1cticos_y_ejemplos_realistas_de_testing=3F?= In-Reply-To: <52C2891F.803@jcea.es> References: <52C2891F.803@jcea.es> Message-ID: DISCLAIMER: Hago muchisimo menos testing del que debería. El 31 de diciembre de 2013, 10:06, Jesus Cea escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Una cosa que he ido descubriendo con los años es que para poder hacer > buenos tests es conveniente que lo que estés probando se preste a > ello. Tienes que programar de forma que lo que haces sea fácilmente > testable. > Creo que la respuesta de andrey va en esa linea y me parece genial ;-) > > El enfoque habitual en otros lenguajes, y mi tendencia en el pasado es > utilizar inyección de dependencias. De hecho hubo una época en la que > di la lata un poco para incluir inyección de dependencias en Python, > pero la respuesta masiva fue que eso era antipitónico y que el futuro > eran los mocks y similares. > Un sistema monolítico es difícil de depurar, pero un sistema demasiado modularizado es difícil de configurar (en algún lado tiene que estar cuales son las dependencias a inyectar o la implementación de los plugins a usar o ...). Con un sistema muy modular terminas necesitando pruebas de integración para probar la configuración. Aparte de eso, el código que se inyecta en las pruebas también hay que programarlo. Con los mocks solo programas una parte específica en plan reactivo, que es mucho más simple que definir una interfaz común y hacer diferentes implementaciones. En django, por ejemplo, algunos módulos tienen versiones orientadas al desarrollo para que puedas testear más fácil o evites tener que configurar entornos completos en las máquinas de desarrollo. Por ejemplo con el envio de correo https://docs.djangoproject.com/en/dev/topics/email/ Al final esto es todo muy budista y la solución está en el camino del medio. > Pero me encuentro que para probar una rutina de 20 lineas escribo 200 > lineas de tests más complejos que la propia rutina a comprobar, el > desarrollo es lento y no puedo evitar pensar que estoy haciendo algo > mal :-). > > Como chascarrillo fácil: reescribiendo el código para que sea más fácil de probar vas a tener 200 líneas de código y 20 líneas de test. Así que igual no es el mejor de los indicadores para saber si estas haciendo algo bien o mal ;-) ¿Cuál es el objetivo del test? Si es encontrar todos los posibles errores que puede tener una parte del programa es normal que el test sea muy largo. No bastaría con una cobertura de código del 100%, habría que ir más a por una cobertura de branches del 100%. Y tener mucha imaginación (¿que pasaría si tu programa se ejecuta en un freebsd con las interfaces em0 y ath0 y ninguna eth0?) Otro enfoque más optimista es definir un contrato mínimo del código a probar y cuando surjan bugs ir añadiendo esos casos y tener los tests para evitar problemas de regresión. Un caso extremo es no hacer testing porque somos extremadamente optimistas con que todo vaya a ir bien. Otro enfoque es que ayuda a desarrollar más rápido. En vez escribir a lo loco y luego ver dónde y por qué falla (nunca funciona a la primera) se van haciendo los test para avanzar despacito, pero seguro. Este enfoque falla cuando las especificaciones cambian, porque hay que tocar el código y el test a la vez. A veces pienso que dar con el enfoque correcto tiene mucha parte de suerte o del caso concreto :-( > Así que, ¿alguien conoce recursos online con consejos prácticos y > ejemplos realistas?. Porque hacer un chequeo mínimamente completo de > esta rutina está siendo un infierno. > El enfoque realista para hacer pruebas creo que consiste en prueba y error :-) Los consejos de andrey de separar me parecen la clave. Otra aproximación es delegar todo lo posible en código que ya este probado, cuanto menos se escriba menos posibilidades de cometer errores hay. > > Esta rutina genera una clave al azar e intenta registrarla en un > servidor, que devuelve un 401 mientras un administrador no ha admitido > el registro (y en ese caso devuelve un 200). Una vez que tenemos el > 200, nos guardamos ese usuario y clave en disco y no necesitamos > repetir la operación. > Voy a poner comentarios en el código con preguntas y alguna respuesta prefijados con "# lasi:" > > """ > def consigue_autenticacion() : > # Creamos el fichero si es preciso > open("/tmp/heartbeat", "w").close() > # lasi: Qué pasa si otro programa usa el mismo fichero puesto a fuego. Debería llevar el pid el nombre de este fichero? Se debería usar el modulo tempfile? > #os.utime("/tmp/heartbeat") > > try : > with open("/local/auth", "r") as f : > # lasi: Qué pasa si no se puede usar ese nombre de fichero porque no existe /local o no se tienen permisos? > token = f.read().strip() > if " " in token : > # lasi: Asumimos que nadie va a tocar a mano y joder el formato? > return # Ya tenemos usuario y clave > except FileNotFoundError : > with open("/dev/urandom", "rb") as f : > # lasi: asumimos que pasamos de windows. http://docs.python.org/dev/library/os.html#os.urandom > token = f.read(4096) > if len(token) != 4096 : > raise RuntimeError("Lectura parcial de entropía") > token = md5(token).hexdigest() > with open("/local/auth", "w") as f : > f.write(token+"\n") > # lasi: para que escribir una información inválida que no se va a usar? # lasi: Es para forzar un fallo si no se puede escribir el fichero? Tendria sentido pero necesita comentario para evitar tentaciones de borrar esas dos lineas. > > usuario = "XXXXXX" > clave = "XXXXXXXX" # Confidencial, pero no crítico > auth = requests.auth.HTTPBasicAuth(usuario, clave) > > addr = netifaces.ifaddresses("eth0") > ip_addr = addr[netifaces.AF_INET][0]["addr"] > mac_addr = addr[netifaces.AF_LINK][0]["addr"] > mac_addr = mac_addr[0:2]+mac_addr[3:5]+mac_addr[6:8]+ \ > mac_addr[9:11]+mac_addr[12:14]+mac_addr[15:17] > # lasi: Posiblemente más seguro http://docs.python.org/dev/library/uuid.html#uuid.getnode # lasi: Para que las pruebas sean realmente unitarias mejor separar en una "unidad" distinta y mejor para elegir la mejor implementación (si es que eso existe) ;-) > > factor = 1*60 > while True : > """ lasi: Testear posibles bucles infinitos puede alargarse mucho :-( Se puede generalizar: class FunctionalException(Exception): pass def reintentar(func): # No tan facil de probar def inner(*args, **kwargs): retry = True while retry: try: return func(*args, **kwargs) except FunctionalException: # Ejecutar código de espera y demás historias ... continue except Exception as e: raise e return inner def _consigue_autenticacion(): # Facil de probar ... # codigo de arriba result = autenticar(fulanito, menganito) if result == OK: return if result == NOT_AUTH: raise FunctionaException("No autenticado") raise RuntimeError("bla, bla, bla") consigue_autenticacion = reintentar(_consigue_autenticacion) """ > t = time.time() > respuesta = requests.get("https://XXXXXX.jcea.es/registro?" > "ip_addr=%s&mac_addr=%s&ts=%.0f" \ > %(ip_addr, mac_addr, time.time()), > auth = auth, > verify = "XXXXXXXXX.jcea.es.cert", > timeout = 1*60, > headers = {"clave": token}) > os.utime("/tmp/heartbeat") > if respuesta.status_code == 401 : > t = t + factor > factor = factor * 3 > if factor > 3600 : > factor = 3600 > while time.time() < t : > time.sleep(10) > os.utime("/tmp/heartbeat") > continue # Volvemos a intentarlo > elif respuesta.status_code == 200 : > with open("/local/auth", "w") as f : > f.write(mac_addr+" "+token+"\n") > return > else : > raise RuntimeError("El servidor nos devuelve un status %s" \ > %respuesta.status_code) > """ > > El código de testeo de esta rutina es complicado de cojones, feo, > frágil. Uso Mocks para comprobar que las llamadas se realizan en el > orden y con los parámetros correctos, tiro excepciones, simulo > ficheros, etc. La pruebo a fondo. Pero desarrollar el test ha sido > costosísimo. Sería interesante que subieras a un gist.github.com o a pastebin.com el código del test también. Fijo que contiene cosas muy curiosas. > > ¿Consejos?. > Peer review siempre que se pueda. Muchos fallos de programación vienen de corner cases que no se han tenido en cuenta a la hora de programar y que no se vuelven a tener en cuenta a la hora de programar el test. Tener mala baba haciendo pruebas. ¿A quién se le podría ocurrir probar si un unicode se va a comportar como un número http://en.wikipedia.org/wiki/Numerals_in_Unicode? Creo que solo el que ha visto alguna vez un bug de ese tipo. Y así todo el rato: meter secuencias de escape, signos usados en formatos, tamaños muy grandes o muy pequeños, ... Separar siempre que se pueda para que los tests sean unitarios. Y luego un test de integración para probarlos en su conjunto. Es mucho más fácil probar por separado y refactorizar una función que se llama _get_mac() que unas lineas incrustadas en la función consigue_autorizacion() Hacer implementaciones dummy de cosas que acceden a sistemas externos que no puedas tener montadas en el entorno de desarrollo (sobre todo si te gusta programar en aburridos viajes de autobús por la meseta castellana sin internet). Ya sean usados mediante inyección de dependencias, sistema de plugins o lo que sea. Valorar costes/beneficios de los diferentes tests (chema apuntaba varias herramientas) y dentro de cada uno. A veces algo como behave[1] te viene bien para probar las cosas y de paso tener documentación funcional actualizada del proyecto, a veces unittest es más apropiado porque realmente haces cosas unitarias y es más directo, ... Bajar al detalle esta muy bien, pero nadie prueba el que va a pasar si al sumar dos cadenas se produce un MemoryError, en algún lado hay que parar. [1] https://pypi.python.org/pypi/behave/1.2.3 Un saludo y espero que esto de como para un buen rato de charla y cañas :-) Javi > Se admiten recomendaciones de libros. > > - -- > Jesús Cea Avión _/_/ _/_/_/ _/_/_/ > jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ > Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ > jabber / xmpp:jcea en 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 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.15 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQCVAwUBUsKJG5lgi5GaxT1NAQLu7wQAlG+qzPwUIZWi0wLtgXBg44WWMbODuqZd > SQrsSxFxEL5GHhyWiW2RCJ7cG5B9Sgtbfg2Sez0o9PiAwFxMku42DxTJwS/tPTpK > 15I9WUuvN2lylAOvMPvn5CuUsuis2wQ0R2hv5jgXPJ39Kl/e2ncwuiZB83J1APvd > 5jZXkbYoTz8= > =9H+8 > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nachoel01 en gmail.com Mon Jan 6 16:43:16 2014 From: nachoel01 en gmail.com (=?UTF-8?Q?Ignacio_Rodr=C3=ADguez?=) Date: Mon, 6 Jan 2014 13:43:16 -0200 Subject: [Python-es] Error importando zbar (local) Message-ID: Hola, estoy tratando de hacer un Qr Reader, funciona todo, menos usando las librerías que yo les paso.. El tema es el siguiente: En mi programa si o si tengo que empacar las librerías, las tengo pero de todas formas obtengo: ImportError: libzbar.so.0: cannot open shared object file: No such file or directory Vale aclarar que ya use LD_LIBRARY_PATH, sys.append.. Y nada Por si le sirve de algo, aca está el código (y las librerías) https://github.com/ignaciouy/qr-reader saludos. From pych3m4 en gmail.com Wed Jan 8 13:33:34 2014 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 8 Jan 2014 13:33:34 +0100 Subject: [Python-es] =?iso-8859-1?q?=BFAlg=FAn_recurso_sobre_trucos_pr=E1c?= =?iso-8859-1?q?ticos_y_ejemplos_realistas_de_testing=3F?= In-Reply-To: <52C2891F.803@jcea.es> References: <52C2891F.803@jcea.es> Message-ID: No creo que te vaya a ayudar mucho más, pero acabo de ver este artículo sobre "mocking" en python: http://www.toptal.com/python/an-introduction-to-mocking-in-python From plobarinas en jcea.es Fri Jan 10 20:40:51 2014 From: plobarinas en jcea.es (=?ISO-8859-1?Q?Pablo_Lobari=F1as?=) Date: Fri, 10 Jan 2014 20:40:51 +0100 Subject: [Python-es] Convocatoria Reunion enero 2014 Python-Madrid Message-ID: <52D04CC3.9020900@jcea.es> Hola a todos: En este nuevo año que comienza seguimos con las reuniones de Python-Madrid, los detalles para los interesados en la web: http://www.python-madrid.es/post/reunion-enero-2014-python-madrid/ Un saludo y feliz año 2014 From alejandrorivadeneira en yahoo.com Mon Jan 13 15:38:04 2014 From: alejandrorivadeneira en yahoo.com (Alejandro Rivadeneira) Date: Mon, 13 Jan 2014 06:38:04 -0800 (PST) Subject: [Python-es] =?utf-8?q?Lista_de_libros_de_programaci=C3=B3n_libres?= =?utf-8?q?/gratuitos?= In-Reply-To: <526255DB.4080104@gmail.com> References: <526255DB.4080104@gmail.com> Message-ID: <1389623884.98927.YahooMailNeo@web164804.mail.gq1.yahoo.com> Juan Luis Muchisimas gracias por tu link a la biblioteca. Alejandro Chile. El Sábado, 19 de octubre, 2013 6:50:56, Juan Luis Cano escribió: On 10/17/2013 12:47 AM, Carlos Zuniga wrote: > Siempre hay quienes vienen a la lista buscando libros para leer online > o descargar, aquí hay una recopilación de todos ellos: > > https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#python > > Si conocen otros, no duden en mandar su pull-request ;) > > > Saludos Aquí tienen una lista con descripciones, filtros por idiomas, categorías, valoraciones de los usuarios y más: http://www.etnassoft.com/biblioteca/?search_term=python&books_category=all&books_criteria=post_date_DESC?=spanish&since=all Si no conocían aún Openlibra, se la presento :) _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rggg88 en hotmail.com Wed Jan 15 13:12:22 2014 From: rggg88 en hotmail.com (Rafael Gomes) Date: Wed, 15 Jan 2014 12:12:22 +0000 Subject: [Python-es] Duda sobre pyOCNI Message-ID: Buenas tardes a todos, Disculpen molestar, pero era para saber si alguien de la lista ha trabajado con pyOCNI. Es que estoy siguiendo el siguiente tutorial: https://github.com/jordan-developer/PyOCNIY estoy teniendo algunos problemas. Si alguien sabe agradezco desde ya su ayuda. Sino pido disculpas por molestar. Saludos, Rafael. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Fri Jan 17 13:40:33 2014 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Fri, 17 Jan 2014 13:40:33 +0100 Subject: [Python-es] =?iso-8859-1?q?=BFqueue=2Eput_bloquea=3F?= Message-ID: Hola: Tengo una aplicación que genera datos en un pool de ocho trabajadores (joblib.Parallel) que son almacenados en una base de datos (Pytables) por un proceso paralelo (multiprocessing.Process). Los datos son transferidos a través de una cola. Ahora bien: el bucle que genera los datos es muy rápido, hay datos nuevos cada milésima de segundo. Mi pregunta es, cuando intento escribir en la cola, ¿se produce un bloqueo? ¿El resto de trabajadores tiene que esperar para escribir sus resultados? Al haber tantos procesos leyendo y escribiendo en la cola con tanta frecuencia, puede ser un factor importante. El objeto que pongo en la cola es: [(etiqueta1, etiqueta2), [tiempo_a, valor1_a, valor2_a, valor3_a, (i1_a, i2_a)], [tiempo_b, valor1_b, valor2_b, valor3_b, (i1_b, i2_b)] ...] donde el número de listas es variable (~10) y el proceso que guarda desempaqueta los valores para guardarlos en la tabla etiqueta1, etiqueta2, tiempo_a, valor1_a, valor2_a, valor3_a, i1_a, i2_a etiqueta1, etiqueta2, tiempo_b, valor1_b, valor2_b, valor3_b, i1_b, i2_b ... ¿Hay alguna forma más eficiente de hacer esta transferencia? Las etiquetas serán guardadas como enteros sin sign de 32 bits, valores y tiempo floats de 32 bits e i1 e i2, float64. /David. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Fri Jan 17 19:15:55 2014 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Fri, 17 Jan 2014 12:15:55 -0600 Subject: [Python-es] =?iso-8859-1?q?=BFqueue=2Eput_bloquea=3F?= In-Reply-To: References: Message-ID: En la documentación viene explicado: http://docs.python.org/2/library/queue.html queue.put se bloquea cuando el queue alcanza el numero máximo de slots disponibles. También existe queue.put_nowait que no se bloquea pero lanzara una excepción si el queue supera el limite. No creo que una cola sea un problema, si quieres acelerar lo que sea que estés haciendo te recomiendo primero hacer profiling, ver cual o cuales son tus cuellos de botella y mejorar esos puntos. El 17 de enero de 2014, 6:40, Da?id escribió: > Hola: > > Tengo una aplicación que genera datos en un pool de ocho trabajadores > (joblib.Parallel) que son almacenados en una base de datos (Pytables) por > un proceso paralelo (multiprocessing.Process). Los datos son transferidos a > través de una cola. > > Ahora bien: el bucle que genera los datos es muy rápido, hay datos nuevos > cada milésima de segundo. Mi pregunta es, cuando intento escribir en la > cola, ¿se produce un bloqueo? ¿El resto de trabajadores tiene que esperar > para escribir sus resultados? Al haber tantos procesos leyendo y > escribiendo en la cola con tanta frecuencia, puede ser un factor importante. > > El objeto que pongo en la cola es: > > [(etiqueta1, etiqueta2), [tiempo_a, valor1_a, valor2_a, valor3_a, (i1_a, > i2_a)], [tiempo_b, valor1_b, valor2_b, valor3_b, (i1_b, i2_b)] ...] > > donde el número de listas es variable (~10) y el proceso que guarda > desempaqueta los valores para guardarlos en la tabla > > etiqueta1, etiqueta2, tiempo_a, valor1_a, valor2_a, valor3_a, i1_a, i2_a > etiqueta1, etiqueta2, tiempo_b, valor1_b, valor2_b, valor3_b, i1_b, i2_b > ... > > ¿Hay alguna forma más eficiente de hacer esta transferencia? Las etiquetas > serán guardadas como enteros sin sign de 32 bits, valores y tiempo floats > de 32 bits e i1 e i2, float64. > > > /David. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From py en ch3m4.org Sat Jan 18 19:06:24 2014 From: py en ch3m4.org (Chema Cortes) Date: Sat, 18 Jan 2014 19:06:24 +0100 Subject: [Python-es] =?utf-8?q?=C2=BFqueue=2Eput_bloquea=3F?= In-Reply-To: References: Message-ID: <52DAC2A0.2020804@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 17/01/14 13:40, Da?id escribió: > Hola: > > Tengo una aplicación que genera datos en un pool de ocho > trabajadores (joblib.Parallel) que son almacenados en una base de > datos (Pytables) por un proceso paralelo (multiprocessing.Process). > Los datos son transferidos a través de una cola. > > Ahora bien: el bucle que genera los datos es muy rápido, hay datos > nuevos cada milésima de segundo. Mi pregunta es, cuando intento > escribir en la cola, ¿se produce un bloqueo? ¿El resto de > trabajadores tiene que esperar para escribir sus resultados? Al > haber tantos procesos leyendo y escribiendo en la cola con tanta > frecuencia, puede ser un factor importante. Este relato es habitual en la programación concurrente. Queue se utiliza para "sincronismo" entre workers. El sincronismo requiere establecer bloqueos, que aumentan en número geométricamente al aumentar el número de workers, haciendo el programa mucho más lento. Si no necesitas "sincronismo", o sea, si no necesitas que los datos se encolen en el mismo orden que se generan (el orden lo podrías recomponer después usando las marcas temporales), usa mejor collections.deque cuyas operaciones son "atómicas" (no bloqueantes). Ojo con lo que puede llegar a crecer si no eres capaz de sacar datos al mismo ritmo que se meten. > > El objeto que pongo en la cola es: > > [(etiqueta1, etiqueta2), [tiempo_a, valor1_a, valor2_a, valor3_a, > (i1_a, i2_a)], [tiempo_b, valor1_b, valor2_b, valor3_b, (i1_b, > i2_b)] ...] > > donde el número de listas es variable (~10) y el proceso que > guarda desempaqueta los valores para guardarlos en la tabla > > etiqueta1, etiqueta2, tiempo_a, valor1_a, valor2_a, valor3_a, i1_a, > i2_a etiqueta1, etiqueta2, tiempo_b, valor1_b, valor2_b, valor3_b, > i1_b, i2_b ... > > ¿Hay alguna forma más eficiente de hacer esta transferencia? Las > etiquetas serán guardadas como enteros sin sign de 32 bits, valores > y tiempo floats de 32 bits e i1 e i2, float64. > > > /David. > > > _______________________________________________ Python-es mailing > list Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es FAQ: > http://python-es-faq.wikidot.com/ > - -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJS2sKZAAoJEFdWyBWwhL4FxIwH/iqhtitcaS4mXG48Sf2CG7Yk 0vVGY3GnID+q0pkUEQR0wVvwsbD/pKErwzosp7jbsubbAjHDMsnjXUKun29+4hud oi9p5BPSaf/6eSQiTBkDoPF2RGOf7kBr+p99zKShtx4sUwbUR03xD3MG2HjGpiEj u6WzsKwlqP892O71u4NXUckqR2V8F16LFkHAmfhjOIhr9tJy2ESkCjwf6QdZo48C NgHYt5ZQfbLQLLCJJyZv7pZJpCP0fcNSe7b2oRVexs5yT1NELWk1vmmM7TdTaPT9 5/6Hdkz/6guY5ougIxbl0BzD+wlsH7FyXsjCJPKXb882mR9Hm3qV1EBYEE/nRG4= =GSFa -----END PGP SIGNATURE----- From davidmenhur en gmail.com Mon Jan 20 15:23:09 2014 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Mon, 20 Jan 2014 15:23:09 +0100 Subject: [Python-es] =?iso-8859-1?q?=BFqueue=2Eput_bloquea=3F?= In-Reply-To: <52DAC2A0.2020804@ch3m4.org> References: <52DAC2A0.2020804@ch3m4.org> Message-ID: 2014/1/18 Chema Cortes > Este relato es habitual en la programación concurrente. > > Queue se utiliza para "sincronismo" entre workers. El sincronismo > requiere establecer bloqueos, que aumentan en número geométricamente > al aumentar el número de workers, haciendo el programa mucho más lento. > > Si no necesitas "sincronismo", o sea, si no necesitas que los datos se > encolen en el mismo orden que se generan (el orden lo podrías > recomponer después usando las marcas temporales), usa mejor > collections.deque cuyas operaciones son "atómicas" (no bloqueantes). > Ojo con lo que puede llegar a crecer si no eres capaz de sacar datos > al mismo ritmo que se meten. > El orden en el que se ejecuten es completamente irrelevante. deque parece una opción muy buena, pero, desafortunadamente, no parece ser compatible con multiprocessing. Aquí está el esqueleto de mi programa: https://gist.github.com/Dapid/8520567 Si uso deque, el proceso siempre ve la misma cola vacía. Si lo convierto en un Thread, puede leer los datos del programa principal, pero no los datos generados desde un multiprocessing.pool. ¿Hay alguna otra alternativa? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Tue Jan 21 16:20:32 2014 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 21 Jan 2014 16:20:32 +0100 Subject: [Python-es] =?iso-8859-1?q?=BFqueue=2Eput_bloquea=3F?= In-Reply-To: References: <52DAC2A0.2020804@ch3m4.org> Message-ID: El día 20 de enero de 2014, 15:23, Da?id escribió: > > 2014/1/18 Chema Cortes >> >> Este relato es habitual en la programación concurrente. >> >> Queue se utiliza para "sincronismo" entre workers. El sincronismo >> requiere establecer bloqueos, que aumentan en número geométricamente >> al aumentar el número de workers, haciendo el programa mucho más lento. >> >> Si no necesitas "sincronismo", o sea, si no necesitas que los datos se >> encolen en el mismo orden que se generan (el orden lo podrías >> recomponer después usando las marcas temporales), usa mejor >> collections.deque cuyas operaciones son "atómicas" (no bloqueantes). >> Ojo con lo que puede llegar a crecer si no eres capaz de sacar datos >> al mismo ritmo que se meten. > > > > El orden en el que se ejecuten es completamente irrelevante. deque parece > una opción muy buena, pero, desafortunadamente, no parece ser compatible con > multiprocessing. Tienes razón, con multiproceso funciona de otro modo. La cuestión sería emplear los métodos async, algo así: import time from random import random from collections import deque from multiprocessing import Pool, freeze_support from functools import partial from pprint import pprint def do_insert(i): time.sleep(random()/10) return (i, i*i, -i*100) def do_callback(q, res): q.append(res) if __name__ == "__main__": freeze_support() q = deque() mp = Pool() # núm. se autoajusta según número de cores callback = partial(do_callback,q) results = [ mp.apply_async(do_insert, (i,), callback=callback) for i in range(100) ] while not all(res.ready() for res in results): print ".", time.sleep(0.1) pprint(q) En do_insert se haría el procesado de cada dato (he introducido un retardo aleatorio para que comprobar que el orden final no depende del orden en que se introducen los datos). En do_callback se iría añadiendo los datos a la cola deque. Paso la cola como argumento implícito en una función parcial. También se podría haber usado como variable global, pero se debe evitar en multiproceso. El "cuello de botella" se produce al introducir los datos en la cola. Si es necesario, se pueden incrementar el número de workers en el pool. No hay lecturas de la cola, por lo que no se producen bloqueos de lectura. > > Aquí está el esqueleto de mi programa: > > https://gist.github.com/Dapid/8520567 > > Si uso deque, el proceso siempre ve la misma cola vacía. Si lo convierto en > un Thread, puede leer los datos del programa principal, pero no los datos > generados desde un multiprocessing.pool. > > ¿Hay alguna otra alternativa? Depende de para qué, podrías mirarte alguna implementación de "mapreduce" a ver si te sirve para esta problema: De más sencillo a más potente: Octopy: http://code.google.com/p/octopy/ Mincemeat: https://github.com/michaelfairley/mincemeatpy MrJob: http://pythonhosted.org/mrjob Spark: http://spark.incubator.apache.org/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From okelet en gmail.com Tue Jan 21 12:27:36 2014 From: okelet en gmail.com (=?UTF-8?Q?Juan_Asensio_S=C3=A1nchez?=) Date: Tue, 21 Jan 2014 12:27:36 +0100 Subject: [Python-es] =?utf-8?q?Unicidad=2C_nombres_de_sets=2C_inicializaci?= =?utf-8?q?=C3=B3n_con_set_y_b=C3=BAsqueda_en_un_set_de_un_modelo?= Message-ID: Hola Estoy empezando en esto del desarrollo con Django. Vengo de Java y esto es muy distinto... Bueno, tengo estas dos clases (bueno, es más grande, pero en resumen...): class Host(models.Model): slug = models.SlugField() class HostIp(models.Model): host = models.ForeignKey(Host) ip = models.IPAddressField(unique=True) Lo primero, a partir de una IP como cadena de texto (no un objeto), ¿cómo puedo saber a qué host pertenece? He probado con Host.objects.get(hostip_set__ip="1.2.3.4") y variantes, pero no he dado con la tecla. Por otro lado, ¿cómo puedo cambiar el nombre de las propiedades que son sets? Por ejemplo, en lugar de referenciar la lista de IPs de un host como "hostip_set", llamarlo "ips". Otro más, ¿cómo puedo crear un objeto directamente pasando la lista de IPs? He probado con Host.objects.create(hostip_set=[HostIp(ip="10.10.10.10")]), pero me da error de que el host no tiene id, supongo que porque intenta guardar las IPs antes que el host. Aparte, y relacionado, ¿cómo puedo forzar que la lista de IPs tenga al menos un valor? Y por último, estoy creando hosts ahora mismo manualmente, de este modo: host = Host.objects.create(description="Host creado de forma automática el XXXXX") host.hostip_set.add(HostIp(ip=remote_ip)) host.save() Si esto lo hago varias veces con la misma IP, no me da error, cuando en la definición del campo para la IP le he dicho que se único. ¿Alguien sabe por qué? Un saludo y muchas gracias por adelantado. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From azotillo en gmail.com Tue Jan 21 18:00:34 2014 From: azotillo en gmail.com (Diego pascual lopez) Date: Tue, 21 Jan 2014 18:00:34 +0100 Subject: [Python-es] =?iso-8859-1?q?Unicidad=2C_nombres_de_sets=2C_inicial?= =?iso-8859-1?q?izaci=F3n_con_set_y_b=FAsqueda_en_un_set_de_un_mode?= =?iso-8859-1?q?lo?= In-Reply-To: References: Message-ID: Buenas Juan, 2014/1/21 Juan Asensio Sánchez > Hola > > Estoy empezando en esto del desarrollo con Django. Vengo de Java y esto es > muy distinto... Bueno, tengo estas dos clases (bueno, es más grande, pero > en resumen...): > > > class Host(models.Model): > slug = models.SlugField() > > class HostIp(models.Model): > host = models.ForeignKey(Host) > ip = models.IPAddressField(unique=True) > > Lo primero, a partir de una IP como cadena de texto (no un objeto), ¿cómo > puedo saber a qué host pertenece? He probado con > Host.objects.get(hostip_set__ip="1.2.3.4") y variantes, pero no he dado con > la tecla. > prueba sin el set, Host.objects.get(hostip__ip="1.2.3.4") > > Por otro lado, ¿cómo puedo cambiar el nombre de las propiedades que son > sets? Por ejemplo, en lugar de referenciar la lista de IPs de un host como > "hostip_set", llamarlo "ips". > creo que buscas esto https://docs.djangoproject.com/en/1.6/ref/models/fields/#django.db.models.ForeignKey.related_name > Otro más, ¿cómo puedo crear un objeto directamente pasando la lista de > IPs? He probado con > Host.objects.create(hostip_set=[HostIp(ip="10.10.10.10")]), pero me da > error de que el host no tiene id, supongo que porque intenta guardar las > IPs antes que el host. > > Aparte, y relacionado, ¿cómo puedo forzar que la lista de IPs tenga al > menos un valor? > Puedes usar post_save para añadir una al crear el host https://docs.djangoproject.com/en/dev/ref/signals/#post-save > Y por último, estoy creando hosts ahora mismo manualmente, de este modo: > > host = Host.objects.create(description="Host creado de forma automática el > XXXXX") > host.hostip_set.add(HostIp(ip=remote_ip)) > host.save() > Crea el host y luego puedes usar bulk_create https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.bulk_create > > Si esto lo hago varias veces con la misma IP, no me da error, cuando en la > definición del campo para la IP le he dicho que se único. ¿Alguien sabe por > qué? > Esto se me escapa.... > > Un saludo y muchas gracias por adelantado. > > Un saludo. > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kurokysan en gmail.com Wed Jan 22 20:10:47 2014 From: kurokysan en gmail.com (Kennedy Sanchez) Date: Wed, 22 Jan 2014 14:40:47 -0430 Subject: [Python-es] Utilizar script python a traves de Django Message-ID: Buenas tardes amigos, estoy escribiendo porque estoy realizando una app web en Django y quiero a traves de un clic en el boton poder conectarme via ssh y transferir unos archivos. Actualmente lo hago a traves de script en python, pero me gustaria integrarlo con Django. Algo como lo siguiente: import paramiko import os from sys import stdin srv = '' prt = 22 usr = '' clv = '' cnx = paramiko.Transport((srv, prt)) cnx.connect(username = usr, password = clv) canal = cnx.open_session() canal.exec_command('mkdir /mnt/sdcard/0b1/ && cat /proc/cpuinfo >/mnt/sdcard/0b1/cpuinfo.txt && uptime >/mnt/sdcard/0b1/uptime.txt && du -h >/mnt/0b1/du.txt && df -h >/mnt/sdcard/0b1/df.txt && netstat -al >/mnt/sdcard/0b1/nstat.txt && su && /mnt/sdcard/bt/ && startbt && bt && reboot') cnx.close() -- Saludos, ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lgmerino en yahoo.com Wed Jan 22 20:29:18 2014 From: lgmerino en yahoo.com (Luis Garcia Merino) Date: Wed, 22 Jan 2014 19:29:18 +0000 (GMT) Subject: [Python-es] Utilizar script python a traves de Django In-Reply-To: References: Message-ID: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> Buenas, quizás esto te sirva: [https://docs.djangoproject.com/en/dev/howto/custom-management-commands/] un saludo ________________________________ De: Kennedy Sanchez Para: django-es en googlegroups.com; La lista de python en castellano Enviado: Miércoles 22 de enero de 2014 20:10 Asunto: [Python-es] Utilizar script python a traves de Django Buenas tardes amigos, estoy escribiendo porque estoy realizando una app web en Django y quiero a traves de un clic en el boton poder conectarme via ssh y transferir unos archivos. Actualmente lo hago a traves de script en python, pero me gustaria integrarlo con Django. Algo como lo siguiente: import paramiko import os from sys import stdin srv = '' prt  = 22 usr = '' clv = '' cnx = paramiko.Transport((srv, prt)) cnx.connect(username = usr, password = clv) canal = cnx.open_session() canal.exec_command('mkdir /mnt/sdcard/0b1/ && cat /proc/cpuinfo >/mnt/sdcard/0b1/cpuinfo.txt && uptime >/mnt/sdcard/0b1/uptime.txt && du -h >/mnt/0b1/du.txt && df -h >/mnt/sdcard/0b1/df.txt && netstat -al >/mnt/sdcard/0b1/nstat.txt && su && /mnt/sdcard/bt/ && startbt && bt && reboot') cnx.close() -- Saludos, _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lastvnm en gmail.com Wed Jan 22 23:10:47 2014 From: lastvnm en gmail.com (Hiko hitokiri) Date: Wed, 22 Jan 2014 16:10:47 -0600 Subject: [Python-es] Utilizar script python a traves de Django In-Reply-To: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> References: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> Message-ID: pues no le veo problema agregarlo a una vista y hacerlo que lo corra cuando reciba el post ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kurokysan en gmail.com Thu Jan 23 05:01:28 2014 From: kurokysan en gmail.com (Kennedy Sanchez) Date: Thu, 23 Jan 2014 00:01:28 -0400 Subject: [Python-es] Utilizar script python a traves de Django In-Reply-To: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> References: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> Message-ID: Gracias, hechare un vistazo. El 22 de enero de 2014, 15:29, Luis Garcia Merino escribió: > Buenas, > > quizás esto te sirva: [ > https://docs.djangoproject.com/en/dev/howto/custom-management-commands/] > > un saludo > > ------------------------------ > *De:* Kennedy Sanchez > *Para:* django-es en googlegroups.com; La lista de python en castellano < > python-es en python.org> > *Enviado:* Miércoles 22 de enero de 2014 20:10 > *Asunto:* [Python-es] Utilizar script python a traves de Django > > Buenas tardes amigos, estoy escribiendo porque estoy realizando una app > web en Django y quiero a traves de un clic en el boton poder conectarme via > ssh y transferir unos archivos. Actualmente lo hago a traves de script en > python, pero me gustaria integrarlo con Django. > > Algo como lo siguiente: > > import paramiko > import os > from sys import stdin > > srv = '' > prt = 22 > usr = '' > clv = '' > > > cnx = paramiko.Transport((srv, prt)) > cnx.connect(username = usr, password = clv) > > canal = cnx.open_session() > > canal.exec_command('mkdir /mnt/sdcard/0b1/ && cat /proc/cpuinfo > >/mnt/sdcard/0b1/cpuinfo.txt && uptime >/mnt/sdcard/0b1/uptime.txt && du -h > >/mnt/0b1/du.txt && df -h >/mnt/sdcard/0b1/df.txt && netstat -al > >/mnt/sdcard/0b1/nstat.txt && su && /mnt/sdcard/bt/ && startbt && bt && > reboot') > > cnx.close() > -- > Saludos, > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lastvnm en gmail.com Thu Jan 23 05:44:57 2014 From: lastvnm en gmail.com (Hiko hitokiri) Date: Wed, 22 Jan 2014 22:44:57 -0600 Subject: [Python-es] Utilizar script python a traves de Django In-Reply-To: References: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> Message-ID: lo unico es que si vas a crear vos el script y no usar otra cosa create una tabla para configurar la pass el user y esas cosas y las llames como variables para digamos un poco mas de seguridad ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From clatorre11 en gmail.com Thu Jan 23 12:17:11 2014 From: clatorre11 en gmail.com (Carme Prats) Date: Thu, 23 Jan 2014 12:17:11 +0100 Subject: [Python-es] OT - Entregar fuentes Open Source Message-ID: Antes de nada, perdonar por el off topic. Mi modelo de negocio es una aplicación en Python, Open Source, por la que cobro por el asesoramiento y las modificaciones que solicitan los clientes. Los clientes tienen acceso al código fuente tal como van abonando mis servicios. Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar por las modificaciones realizadas y me exige que le entregue el código fuente de todo lo desarrollado. Con el condicionante de que este cliente está en concurso de acreedores y además no se me reconoce toda la deuda. Aún así el administrador concursal me reclama todo el código fuente. ¿Estoy obligado a entregarlo? Hay algún sitio dónde pueda obtener información sobre este tema. ¿A alguien le a pasado algo parecido? Gracias de antemano, ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jbc.develop en gmail.com Thu Jan 23 20:08:10 2014 From: jbc.develop en gmail.com (Juan BC) Date: Thu, 23 Jan 2014 17:08:10 -0200 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: depende lo que diga tu contrato, depende si ya le emitiste un documento de conformidad de pago y depende de tu legislación local osea: preguntale a un abogado El día 23 de enero de 2014, 8:17, Carme Prats escribió: > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la que > cobro por el asesoramiento y las modificaciones que solicitan los clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar por > las modificaciones realizadas y me exige que le entregue el código fuente de > todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de acreedores y > además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? > > Gracias de antemano, > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Juan B Cabral From pych3m4 en gmail.com Thu Jan 23 20:42:11 2014 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 23 Jan 2014 20:42:11 +0100 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: El día 23 de enero de 2014, 12:17, Carme Prats escribió: > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la que > cobro por el asesoramiento y las modificaciones que solicitan los clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar por > las modificaciones realizadas y me exige que le entregue el código fuente de > todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de acreedores y > además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? Mi recomendación empieza por consultar con los expertos: http://www.bufetalmeida.com/ Depende del contrato hayas firmado con el cliente. No entiendo bien qué es éso de "entregar código (opensource) a medida que se abonan los servicios". Si es un "contrato de servicios", el "opensource" (sin entrar en detalle con las licencias) te obliga a entregar el código fuente de la aplicación que ya tenga el cliente. Si es 100% python, se entiende que el cliente ya tiene el código fuente. Si estamos hablando de un "contrato de desarrollo", cuyo objeto es crear el código y tiene estipulado que tienes que entregar el código fuente, el no hacerlo puede ser motivo de incumplimiento por tu parte, por lo que no recibirías ninguna compensación e, incluso, sufrir alguna penalización. Entregando el código, al menos, podrías cobrar una parte del total adeudado. Tú decides qué te conviene más. De todos modos, es mejor que consultes con algún experto ya siempre hay puntualizaciones que se nos escapan. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From zodman en gmail.com Thu Jan 23 20:55:48 2014 From: zodman en gmail.com (Andres Vargas - zodman) Date: Thu, 23 Jan 2014 13:55:48 -0600 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: Eso me suena a que agarraste un django y le hiciste unas apps Al final de cuentas no te pagaron y ya hiciste el desarrollo. Ahora si la situación es que tu tienes el acceso al 100% al sistema. Puedes hacer 2 cosas Si no te pagan no entregas nada. O Llega a un acuerdo, si estan de brabucones y no te quieren reconocer nada. Pues ponte de brabucona y tampoco entregues nada. Apaga el sitio ejecuta rm -rf / como root Ahora si ellos tienen el control y el hosting y acceso al codigo fuente. Si no te reconocen tu pago entonces libera todo y ponlo en un repo. Ofrecelo la implementacion a otras compañias. A final de cuentas no te pagaron. El 23 de enero de 2014, 5:17, Carme Prats escribió: > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la que > cobro por el asesoramiento y las modificaciones que solicitan los clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar > por las modificaciones realizadas y me exige que le entregue el código > fuente de todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de acreedores y > además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? > > Gracias de antemano, > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Andres Vargas www.zodman.com.mx ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From zodman en gmail.com Thu Jan 23 20:56:26 2014 From: zodman en gmail.com (Andres Vargas - zodman) Date: Thu, 23 Jan 2014 13:56:26 -0600 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: como es python puedes entregar el sistema funcionando y al 100% con solo los pyc El 23 de enero de 2014, 5:17, Carme Prats escribió: > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la que > cobro por el asesoramiento y las modificaciones que solicitan los clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar > por las modificaciones realizadas y me exige que le entregue el código > fuente de todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de acreedores y > además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? > > Gracias de antemano, > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Andres Vargas www.zodman.com.mx ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From mlacunza en gmail.com Thu Jan 23 19:57:34 2014 From: mlacunza en gmail.com (Mario Lacunza) Date: Thu, 23 Jan 2014 13:57:34 -0500 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: <52E1661E.4030809@gmail.com> A ver desde q tu app es opensource debes entregar los fuentes si o si. Lo segundo q no mencionas es con cual tipo de licencia has liberado tu codigo dependiendo de eso se tendria q ver como liberas las modificaciones, pero el base debes liberarlo. Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Mascotas Perdidas:: http://mascotas-perdidas.com/ Google Talk / Y! messenger / Skype: mlacunzav El 23/01/14 06:17, Carme Prats escribió: > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la > que cobro por el asesoramiento y las modificaciones que solicitan los > clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin > pagar por las modificaciones realizadas y me exige que le entregue el > código fuente de todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de > acreedores y además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? > > Gracias de antemano, > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alberto en toscat.net Thu Jan 23 22:02:45 2014 From: alberto en toscat.net (Alberto Valverde) Date: Thu, 23 Jan 2014 22:02:45 +0100 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: El pyc poco hace para ocultar las fuentes. Con herramientas como https://pypi.python.org/pypi/meta es trivial decompilarlos a fuentes que hasta conservan los nombres de los símbolos. On Thursday, January 23, 2014, Andres Vargas - zodman wrote: > como es python puedes entregar el sistema funcionando y al 100% con solo > los pyc > > > El 23 de enero de 2014, 5:17, Carme Prats > > escribió: > >> Antes de nada, perdonar por el off topic. >> >> Mi modelo de negocio es una aplicación en Python, Open Source, por la que >> cobro por el asesoramiento y las modificaciones que solicitan los clientes. >> >> Los clientes tienen acceso al código fuente tal como van abonando mis >> servicios. >> >> Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar >> por las modificaciones realizadas y me exige que le entregue el código >> fuente de todo lo desarrollado. >> Con el condicionante de que este cliente está en concurso de acreedores y >> además no se me reconoce toda la deuda. >> Aún así el administrador concursal me reclama todo el código fuente. >> >> ¿Estoy obligado a entregarlo? >> >> Hay algún sitio dónde pueda obtener información sobre este tema. >> ¿A alguien le a pasado algo parecido? >> >> Gracias de antemano, >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Andres Vargas > www.zodman.com.mx > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kurokysan en gmail.com Thu Jan 23 22:08:00 2014 From: kurokysan en gmail.com (Kennedy Sanchez) Date: Thu, 23 Jan 2014 16:38:00 -0430 Subject: [Python-es] Utilizar script python a traves de Django In-Reply-To: References: <1390418958.3287.YahooMailNeo@web172103.mail.ir2.yahoo.com> Message-ID: De acuerdo iko. Gracias. El 23 de enero de 2014, 0:14, Hiko hitokiri escribió: > lo unico es que si vas a crear vos el script y no usar otra cosa create > una tabla para configurar la pass el user y esas cosas y las llames como > variables para digamos un poco mas de seguridad > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Fri Jan 24 09:45:04 2014 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Fri, 24 Jan 2014 09:45:04 +0100 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: 2014/1/23 Andres Vargas - zodman > ejecuta > rm -rf / > como root > Eso es una muy mala idea. Puede ser considerado destrucción de propiedad, y desde luego pueden cargarte daños y perjuicios por el tiempo que la aplicación esté muerta. Hay formas mucho mejores de ser BOFH [1]. Si, consultados los expertos, el único recurso que te queda es el de pataleo y quieres ofuscar el código fuente, un simple reemplazo de variables por cadenas aleatorias o compilarlo con Cython son suficientes [2]. Pero cuidado, según los términos del contrato (y la legislación aplicable), puede ser violación del contrato; y entonces tú tienes problemas. Hagas lo que hagas, asegúrate antes de que es legal. Aunque tengas buenas intenciones y el sentido común de tu parte, especialmente si tu cliente está desperado o a malas. [1] http://mundowdg.com/blog/ [2] Una función matemática muy sencilla de una línea, se convierte en: http://pastebin.com/BLFkN5PE ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From omar.vpa en gmail.com Thu Jan 23 21:47:13 2014 From: omar.vpa en gmail.com (=?ISO-8859-1?Q?Omar_Guti=E9rrez?=) Date: Thu, 23 Jan 2014 14:47:13 -0600 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: <52E1661E.4030809@gmail.com> References: <52E1661E.4030809@gmail.com> Message-ID: No sé de qué país eres, pero en este post (sobre todo en los comentarios) dan consejos de cómo vender software libre en México: (Los consejos vertidos en los comentarios no son exclusivos de la legislación mexicana) http://cofradia.org/2013/02/28/como-vender-software-de-codigo-abierto-en-mexico/ Saludos 2014/1/23 Mario Lacunza > A ver desde q tu app es opensource debes entregar los fuentes si o si. > > Lo segundo q no mencionas es con cual tipo de licencia has liberado tu > codigo dependiendo de eso se tendria q ver como liberas las modificaciones, > pero el base debes liberarlo. > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Google Talk / Y! messenger / Skype: mlacunzav > > El 23/01/14 06:17, Carme Prats escribió: > > Antes de nada, perdonar por el off topic. > > Mi modelo de negocio es una aplicación en Python, Open Source, por la que > cobro por el asesoramiento y las modificaciones que solicitan los clientes. > > Los clientes tienen acceso al código fuente tal como van abonando mis > servicios. > > Ahora se ha dado el caso de que un cliente lleva varios meses sin pagar > por las modificaciones realizadas y me exige que le entregue el código > fuente de todo lo desarrollado. > Con el condicionante de que este cliente está en concurso de acreedores > y además no se me reconoce toda la deuda. > Aún así el administrador concursal me reclama todo el código fuente. > > ¿Estoy obligado a entregarlo? > > Hay algún sitio dónde pueda obtener información sobre este tema. > ¿A alguien le a pasado algo parecido? > > Gracias de antemano, > > > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Fri Jan 24 17:33:00 2014 From: monobot.soft en gmail.com (monoBOT) Date: Fri, 24 Jan 2014 16:33:00 +0000 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: Yo lo hablaría con un abogado, pero plantéatelo de la siguiente forma, si quieres cobrar pues yo se lo daría y durante el juicio reclama los honorarios no abonados. y si finalmente la empresa cierra tampoco harán uso de tu trabajo. Así que al menos tienes la posibilidad de que te paguen, si no se lo das ya es seguro que no cobras. El 24 de enero de 2014, 8:45, Da?id escribió: > > 2014/1/23 Andres Vargas - zodman > >> ejecuta >> rm -rf / >> como root >> > > Eso es una muy mala idea. Puede ser considerado destrucción de propiedad, > y desde luego pueden cargarte daños y perjuicios por el tiempo que la > aplicación esté muerta. Hay formas mucho mejores de ser BOFH [1]. > > Si, consultados los expertos, el único recurso que te queda es el de > pataleo y quieres ofuscar el código fuente, un simple reemplazo de > variables por cadenas aleatorias o compilarlo con Cython son suficientes > [2]. Pero cuidado, según los términos del contrato (y la legislación > aplicable), puede ser violación del contrato; y entonces tú tienes > problemas. > > Hagas lo que hagas, asegúrate antes de que es legal. Aunque tengas buenas > intenciones y el sentido común de tu parte, especialmente si tu cliente > está desperado o a malas. > > > [1] http://mundowdg.com/blog/ > [2] Una función matemática muy sencilla de una línea, se convierte en: > http://pastebin.com/BLFkN5PE > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From plobarinas en jcea.es Wed Jan 29 11:46:04 2014 From: plobarinas en jcea.es (=?ISO-8859-1?Q?Pablo_Lobari=F1as?=) Date: Wed, 29 Jan 2014 11:46:04 +0100 Subject: [Python-es] =?iso-8859-1?q?Nueva_p=E1gina_web_de_Python_Espa=F1a?= Message-ID: <52E8DBEC.3040406@jcea.es> Hola a todos: Ya tenemos nueva página web. Como vereis es una web sencilla que trataremos de ir mejorando y en la que se explican algunos detalles de la Asociación, así como el proceso para hacerse socio. También hay enlaces a la documentación: Estatutos, Actas,... http://www.es.python.org/ Echadle un ojo y ya nos direis. Un saludo. From bertothunder en gmail.com Thu Jan 30 15:31:45 2014 From: bertothunder en gmail.com (Alberto Curro) Date: Thu, 30 Jan 2014 14:31:45 +0000 Subject: [Python-es] OT - Entregar fuentes Open Source In-Reply-To: References: Message-ID: El 24 de enero de 2014, 16:33, monoBOT escribió: > Yo lo hablaría con un abogado, pero plantéatelo de la siguiente forma, si > quieres cobrar pues yo se lo daría y durante el juicio reclama los > honorarios no abonados. y si finalmente la empresa cierra tampoco harán uso > de tu trabajo. Así que al menos tienes la posibilidad de que te paguen, si > no se lo das ya es seguro que no cobras. > Primero, como bien te dicen por ahí arriba, busca asesoramiento legal. De los consejos del compañero que dice que borres todo, ni caso; pinta como su filosofía "rambo" de ir por la vida, pero te llevará por los caminos de la amargura y no resolverá nada. Como yo, desgraciadamente, algo de experiencia tengo con estos temas, te puedo decir: - El que te reclama el código fuente, como bien has dicho, es el administrador concursal. Están en la fase de recopilación y valoración del inmovilizado y los bienes tanto tangibles como no tangibles (lo cual incluye el software por el que te deberían pagar). No es la empresa quien lo pide. No deberías negarte, pero puedes matizar la entrega. Nadie mejor que un abogado para esto. - No cobrarás todo, pero al menos cobrarás algo. Eso sí, va para largo. - La empresa, de todos modos, probablemente no vea tu software. Como has cumplido tu parte del contrato, tras el cierre del proceso, una vez liberado de tus obligaciones, eres libre de revender ese software puesto que la otra parte del contrato probablemente ya NO existirá como figura legal. - De nuevo, no te hagas el rambo ni pierdas los papeles. Recuerda que el administrador concursal es una figura jurídica asignada por el juzgado mercantil, y por lo tanto con plenos poderes para iniciar procedimientos judiciales contra tí... y muy rápido! Espero que los consejos te sirvan. Saludos PD: estimado Andres Vargas, con todos mis respetos, esos consejos déjalos para la barra del bar, no para "ayudar" a un compañero. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Thu Jan 30 22:05:28 2014 From: monobot.soft en gmail.com (monoBOT) Date: Thu, 30 Jan 2014 21:05:28 +0000 Subject: [Python-es] Primera PyBirras en Tenerife Message-ID: Estamos intentando montar una PyBirras en Tenerife, será la primera y sobretodo será para conocernos. La idea es irnos viendo de vez en cuando y hablar sobre el lenguaje de programación que mas nos gusta. Lidera nuestro amigo Euribates, adjunto un enlace al evento, NO FALTES! Primera PyBirras en Tenerife Primera PyBirras en Tenerife. *Cuándo* mar, 11 de febrero, 19:00 - 21:00 GMT+00:00 *Dónde* Cafe Teatro, San Cristóbal de La Laguna *Quién* * Trabajo * lista python-es -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: text/calendar Size: 952 bytes Desc: no disponible URL: From otrocorreoinutil en gmail.com Thu Jan 30 22:59:54 2014 From: otrocorreoinutil en gmail.com (David) Date: Thu, 30 Jan 2014 21:59:54 +0000 Subject: [Python-es] Primera PyBirras en Tenerife In-Reply-To: References: Message-ID: <52EACB5A.6060905@gmail.com> Pues yo soy de La Laguna y no conozco el sitio. De todas formas no sé si podré ir, pero me gustaría que me apuntaran en la lista de tenerife por si vuelven a hacer algo. Saludos, David El 30/01/14 21:05, monoBOT escribió: > > Estamos intentando montar una PyBirras en Tenerife, será la primera y > sobretodo será para conocernos. > > La idea es irnos viendo de vez en cuando y hablar sobre el lenguaje de > programación que mas nos gusta. > Lidera nuestro amigo Euribates, adjunto un enlace al evento, NO FALTES! > > > Primera PyBirras en Tenerife > > > Primera PyBirras en Tenerife. > /Cuándo/ > mar, 11 de febrero, 19:00 -- 21:00 GMT+00:00 > /Dónde/ > Cafe Teatro, San Cristóbal de La Laguna > /Quién/ > > . > Trabajo > . > lista python-es > > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Thu Jan 30 23:07:50 2014 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 30 Jan 2014 23:07:50 +0100 Subject: [Python-es] Primera PyBirras en Tenerife In-Reply-To: <52EACB5A.6060905@gmail.com> References: <52EACB5A.6060905@gmail.com> Message-ID: Ole!!!! Mucha suerte y larga vida a las PyBirras tinerfeñas. El 30 de enero de 2014, 22:59, David escribió: > Pues yo soy de La Laguna y no conozco el sitio. De todas formas no sé si > podré ir, pero me gustaría que me apuntaran en la lista de tenerife por si > vuelven a hacer algo. > > Saludos, > David > > El 30/01/14 21:05, monoBOT escribió: > > > Estamos intentando montar una PyBirras en Tenerife, será la primera y > sobretodo será para conocernos. > > La idea es irnos viendo de vez en cuando y hablar sobre el lenguaje de > programación que mas nos gusta. > > Lidera nuestro amigo Euribates, adjunto un enlace al evento, NO FALTES! > > > Primera PyBirras en Tenerife > > Primera PyBirras en Tenerife. > *Cuándo* > mar, 11 de febrero, 19:00 - 21:00 GMT+00:00 > *Dónde* > Cafe Teatro, San Cristóbal de La Laguna > *Quién* > * > Trabajo > * > lista python-es > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Fri Jan 31 10:00:50 2014 From: monobot.soft en gmail.com (monoBOT) Date: Fri, 31 Jan 2014 09:00:50 +0000 Subject: [Python-es] Primera PyBirras en Tenerife In-Reply-To: References: <52EACB5A.6060905@gmail.com> Message-ID: David te apunto, (risa de nombre de correo) XD El 30 de enero de 2014, 22:07, Kiko escribió: > Ole!!!! > > Mucha suerte y larga vida a las PyBirras tinerfeñas. > > > El 30 de enero de 2014, 22:59, David escribió: > > Pues yo soy de La Laguna y no conozco el sitio. De todas formas no sé si >> podré ir, pero me gustaría que me apuntaran en la lista de tenerife por si >> vuelven a hacer algo. >> >> Saludos, >> David >> >> El 30/01/14 21:05, monoBOT escribió: >> >> >> Estamos intentando montar una PyBirras en Tenerife, será la primera y >> sobretodo será para conocernos. >> >> La idea es irnos viendo de vez en cuando y hablar sobre el lenguaje de >> programación que mas nos gusta. >> >> Lidera nuestro amigo Euribates, adjunto un enlace al evento, NO FALTES! >> >> >> Primera PyBirras en Tenerife >> >> Primera PyBirras en Tenerife. >> *Cuándo* >> mar, 11 de febrero, 19:00 - 21:00 GMT+00:00 >> *Dónde* >> Cafe Teatro, San Cristóbal de La Laguna >> *Quién* >> * >> Trabajo >> * >> lista python-es >> >> >> -- >> *monoBOT* >> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es >> >> >> _______________________________________________ >> Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From euribates en gmail.com Fri Jan 31 10:26:59 2014 From: euribates en gmail.com (Juan Ignacio) Date: Fri, 31 Jan 2014 09:26:59 +0000 Subject: [Python-es] Primera PyBirras en Tenerife In-Reply-To: References: <52EACB5A.6060905@gmail.com> Message-ID: El Cafe Teatro 7 esta aquí, para el que no lo conozca: < https://maps.google.com/maps?q=Cafe+teatro+7+tenerife+islas+canarias+espa%C3%B1a&hl=es&ie=UTF8&ll=28.48676,-16.31658&spn=0.002438,0.002929&geocode=+&hq=Cafe+teatro+7&hnear=Tenerife&t=h&z=19&iwloc=A > Por si el enlace de arriba se corta y no funciona, la versión corta: http://bit.ly/1gwtsbX 2014-01-31 monoBOT : > David te apunto, (risa de nombre de correo) XD > > > El 30 de enero de 2014, 22:07, Kiko escribió: > > Ole!!!! >> >> Mucha suerte y larga vida a las PyBirras tinerfeñas. >> >> >> El 30 de enero de 2014, 22:59, David escribió: >> >> Pues yo soy de La Laguna y no conozco el sitio. De todas formas no sé >>> si podré ir, pero me gustaría que me apuntaran en la lista de tenerife por >>> si vuelven a hacer algo. >>> >>> Saludos, >>> David >>> >>> El 30/01/14 21:05, monoBOT escribió: >>> >>> >>> Estamos intentando montar una PyBirras en Tenerife, será la primera y >>> sobretodo será para conocernos. >>> >>> La idea es irnos viendo de vez en cuando y hablar sobre el lenguaje de >>> programación que mas nos gusta. >>> >>> Lidera nuestro amigo Euribates, adjunto un enlace al evento, NO FALTES! >>> >>> >>> Primera PyBirras en Tenerife >>> >>> Primera PyBirras en Tenerife. >>> *Cuándo* >>> mar, 11 de febrero, 19:00 - 21:00 GMT+00:00 >>> *Dónde* >>> Cafe Teatro, San Cristóbal de La Laguna >>> *Quién* >>> * >>> Trabajo >>> * >>> lista python-es >>> >>> >>> -- >>> *monoBOT* >>> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es >>> >>> >>> _______________________________________________ >>> Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Juan Ignacio Rodríguez de León Móvil: 605 890514 E-Mail: euribates en gmail.com http://www.metriz.com/ http://descon2.com/ http://www.elornitorrincoenmascarado.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From asdrubal.ivan.suarez.rivera en gmail.com Fri Jan 31 16:31:40 2014 From: asdrubal.ivan.suarez.rivera en gmail.com (=?ISO-8859-1?Q?Asdr=FAbal_Iv=E1n_Su=E1rez_Rivera?=) Date: Fri, 31 Jan 2014 11:01:40 -0430 Subject: [Python-es] Donde empezar con OpenERP Message-ID: Hola lista, les escribo ya que he visto varias ofertas de trabajo en OpenERP. He estado googleando sobre el mismo y se ve bastante interesante, sin embargo para serles honesto no sé muy bien donde empezar con OpenERP. ¿Donde recomiendan empezar? ¿Qué tutorial recomiendan? (No importa si el mismo está escrito en Español o Inglés) -- Asdrúbal Iván Suárez Rivera *Si quieres aprender, enseña. *Marco Tulio Cicerón. *¿Tienes twitter?* *Sígueme: @asdrubalivan* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Fri Jan 31 17:26:30 2014 From: jza en oooes.org (Alexandro Colorado) Date: Fri, 31 Jan 2014 10:26:30 -0600 Subject: [Python-es] Donde empezar con OpenERP In-Reply-To: References: Message-ID: Te recomiendo contribuuir con la traduccion del manual hispano, eso ayuda a la comunidad de OpenERP y aprendes como esta estructurado los modulos importantes. Yo he contribuido y me ha servido aun queda mucho por hacer, estos son los links: https://translations.launchpad.net/openobject-doc/7.0/+lang/es Crea una cuenta en launchpad y unete al grupo hispano https://launchpad.net/~openerp-spain-team Tambien esta la lista de usuarios de espania, aunque no te resuelve todo, te puede ayudar: openerp-spain-users en googlegroups.com Puedes agregarte a la lista y puedes enviar tus dudas, hace algunos dias una persona compartio un curso que da sobre ERP en la universidad: http://ioc.xtec.cat/materials/FP/Materials/2252_DAM/DAM_2252_M10/web.zip 2014-01-31 Asdrúbal Iván Suárez Rivera < asdrubal.ivan.suarez.rivera en gmail.com>: > Hola lista, les escribo ya que he visto varias ofertas de trabajo en > OpenERP. He estado googleando sobre el mismo y se ve bastante interesante, > sin embargo para serles honesto no sé muy bien donde empezar con OpenERP. > ¿Donde recomiendan empezar? ¿Qué tutorial recomiendan? (No importa si el > mismo está escrito en Español o Inglés) > > -- > Asdrúbal Iván Suárez Rivera > > *Si quieres aprender, enseña. *Marco Tulio Cicerón. > > *¿Tienes twitter?* > *Sígueme: @asdrubalivan* > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alfredo.riguetti en ptravel.com.uy Fri Jan 31 17:49:29 2014 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Fri, 31 Jan 2014 14:49:29 -0200 Subject: [Python-es] Python web Message-ID: <52EBD419.4040106@ptravel.com.uy> Hola a todos , soy nuevo en esto de python para web y no tengo idea por donde arrancar, alguien puede guiarme por donde arrancar muchas grcias From chack14rock en gmail.com Fri Jan 31 18:24:04 2014 From: chack14rock en gmail.com (=?UTF-8?Q?Charly_Rom=C3=A1n?=) Date: Fri, 31 Jan 2014 11:24:04 -0600 Subject: [Python-es] Python web In-Reply-To: <52EBD419.4040106@ptravel.com.uy> References: <52EBD419.4040106@ptravel.com.uy> Message-ID: Primero y por si las dudas, y sabes PHP nunca nunca de los nuncas intentes trabajar de la misma manera que lo hacías. Luego, en python lo mejor es usar un framework para esto (de otra forma sería programar webs al estilo de los 80's). Si quieres un framework fullstak el más popular es Django[0], si quieres usar algo más sencillo puedes usar flask[1] [0] = https://www.djangoproject.com/ [1] = http://flask.pocoo.org/ Saludos! El día 31 de enero de 2014, 10:49, Alfredo Riguetti escribió: > Hola a todos , soy nuevo en esto de python para web y no tengo idea por > donde arrancar, alguien puede guiarme por donde arrancar > muchas grcias > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From alfredo.riguetti en ptravel.com.uy Fri Jan 31 18:28:07 2014 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Fri, 31 Jan 2014 15:28:07 -0200 Subject: [Python-es] Python web In-Reply-To: References: <52EBD419.4040106@ptravel.com.uy> Message-ID: <52EBDD27.7010606@ptravel.com.uy> Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gráficos1 Type: image/jpeg Size: 30735 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: telefononegro.png Type: image/png Size: 807 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: sobre4.jpg Type: image/jpeg Size: 3250 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: mundito3.png Type: image/png Size: 10514 bytes Desc: no disponible URL: From chack14rock en gmail.com Fri Jan 31 18:34:10 2014 From: chack14rock en gmail.com (=?UTF-8?Q?Charly_Rom=C3=A1n?=) Date: Fri, 31 Jan 2014 11:34:10 -0600 Subject: [Python-es] Python web In-Reply-To: <52EBDD27.7010606@ptravel.com.uy> References: <52EBD419.4040106@ptravel.com.uy> <52EBDD27.7010606@ptravel.com.uy> Message-ID: Si recomiendo django. Y para cualquier cosa, lo primero que deberías revisar es la documentación oficial, normalmente viene todo lo necesario. Saludos El 31 de enero de 2014, 11:28, Alfredo Riguetti < alfredo.riguetti en ptravel.com.uy> escribió: > Muchisimas gracias , yo ya he programado con python wxpython pero > quisiera hacerlo web. > django me recomendas ? > donde encuentor algun tutorial de como comenzar y que cosas necesito? > > gracias por tu atencion > El 31/01/14 15:24, Charly Román escribió: > > Primero y por si las dudas, y sabes PHP nunca nunca de los nuncas > intentes trabajar de la misma manera que lo hacías. > > Luego, en python lo mejor es usar un framework para esto (de otra > forma sería programar webs al estilo de los 80's). Si quieres un > framework fullstak el más popular es Django[0], si quieres usar algo > más sencillo puedes usar flask[1] > > > [0] = https://www.djangoproject.com/ > [1] = http://flask.pocoo.org/ > > Saludos! > > El día 31 de enero de 2014, 10:49, Alfredo Riguetti escribió: > > Hola a todos , soy nuevo en esto de python para web y no tengo idea por > donde arrancar, alguien puede guiarme por donde arrancar > muchas grcias > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > -- > > > > Alfredo Riguetti > Dpto. Informatica > Planet Travel > HRG Uruguay > Rio Negro 1320 piso 1 > Montevideo - Uruguay > (598) 2900-1514 > planettravel en ptravel,com,uy > www,planettravel,com,uy Por favor considere su responsabilidad > ambiental antes de imprimir este correo - Please consider your > environmental responsability before printing this e-mail > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: mundito3.png Type: image/png Size: 10514 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: telefononegro.png Type: image/png Size: 807 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: sobre4.jpg Type: image/jpeg Size: 3250 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gráficos1 Type: image/jpeg Size: 30735 bytes Desc: no disponible URL: From damufo en gmail.com Fri Jan 31 23:01:08 2014 From: damufo en gmail.com (damufo) Date: Fri, 31 Jan 2014 23:01:08 +0100 Subject: [Python-es] Python web In-Reply-To: References: <52EBD419.4040106@ptravel.com.uy> <52EBDD27.7010606@ptravel.com.uy> Message-ID: <52EC1D24.9030608@gmail.com> También tienes web2py En 31/01/2014 18:34, Charly Román escribiu: > Si recomiendo django. > > Y para cualquier cosa, lo primero que deberías revisar es la > documentación oficial, normalmente viene todo lo necesario. > > > Saludos > > > El 31 de enero de 2014, 11:28, Alfredo Riguetti > > escribió: > > Muchisimas gracias , yo ya he programado con python wxpython pero > quisiera hacerlo web. > django me recomendas ? > donde encuentor algun tutorial de como comenzar y que cosas necesito? > > gracias por tu atencion > El 31/01/14 15:24, Charly Román escribió: >> Primero y por si las dudas, y sabes PHP nunca nunca de los nuncas >> intentes trabajar de la misma manera que lo hacías. >> >> Luego, en python lo mejor es usar un framework para esto (de otra >> forma sería programar webs al estilo de los 80's). Si quieres un >> framework fullstak el más popular es Django[0], si quieres usar algo >> más sencillo puedes usar flask[1] >> >> >> [0] =https://www.djangoproject.com/ >> [1] =http://flask.pocoo.org/ >> >> Saludos! >> >> El día 31 de enero de 2014, 10:49, Alfredo Riguetti >> escribió: >>> Hola a todos , soy nuevo en esto de python para web y no tengo idea por >>> donde arrancar, alguien puede guiarme por donde arrancar >>> muchas grcias >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ:http://python-es-faq.wikidot.com/ >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ:http://python-es-faq.wikidot.com/ > > -- > > > > Alfredo Riguetti > Dpto. Informatica > Planet Travel > HRG Uruguay > Rio Negro 1320 piso 1 > Montevideo - Uruguay > (598) 2900-1514 > planettravel en ptravel,com,uy > www,planettravel,com,uy > > Por favor considere su responsabilidad ambiental antes de imprimir > este correo - Please consider your environmental responsability > before printing this e-mail > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 143e95b05e651757_gráficos1 Type: image/jpeg Size: 30735 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/png Size: 807 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/jpeg Size: 3250 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/png Size: 10514 bytes Desc: no disponible URL: From jza en oooes.org Fri Jan 31 23:50:03 2014 From: jza en oooes.org (Alexandro Colorado) Date: Fri, 31 Jan 2014 16:50:03 -0600 Subject: [Python-es] Python web In-Reply-To: <52EBDD27.7010606@ptravel.com.uy> References: <52EBD419.4040106@ptravel.com.uy> <52EBDD27.7010606@ptravel.com.uy> Message-ID: En youtube hay cursos completos de Django, tambien hay comunidad y listas para preguntar. Si sabes python bien, te recomiendo que cheques el codigo de estos sitios, hay muchos proyectos basados en django en github. 2014-01-31 Alfredo Riguetti : > Muchisimas gracias , yo ya he programado con python wxpython pero > quisiera hacerlo web. > django me recomendas ? > donde encuentor algun tutorial de como comenzar y que cosas necesito? > > gracias por tu atencion > El 31/01/14 15:24, Charly Román escribió: > > Primero y por si las dudas, y sabes PHP nunca nunca de los nuncas > intentes trabajar de la misma manera que lo hacías. > > Luego, en python lo mejor es usar un framework para esto (de otra > forma sería programar webs al estilo de los 80's). Si quieres un > framework fullstak el más popular es Django[0], si quieres usar algo > más sencillo puedes usar flask[1] > > > [0] = https://www.djangoproject.com/ > [1] = http://flask.pocoo.org/ > > Saludos! > > El día 31 de enero de 2014, 10:49, Alfredo Riguetti escribió: > > Hola a todos , soy nuevo en esto de python para web y no tengo idea por > donde arrancar, alguien puede guiarme por donde arrancar > muchas grcias > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > -- > > > > Alfredo Riguetti > Dpto. Informatica > Planet Travel > HRG Uruguay > Rio Negro 1320 piso 1 > Montevideo - Uruguay > (598) 2900-1514 > planettravel en ptravel,com,uy > www,planettravel,com,uy Por favor considere su responsabilidad > ambiental antes de imprimir este correo - Please consider your > environmental responsability before printing this e-mail > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org 882C 4389 3C27 E8DF 41B9 5C4C 1DB7 9D1C 7F4C 2614 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gráficos1 Type: image/jpeg Size: 30735 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: sobre4.jpg Type: image/jpeg Size: 3250 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: mundito3.png Type: image/png Size: 10514 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: telefononegro.png Type: image/png Size: 807 bytes Desc: no disponible URL: From francisco.soto.del en gmail.com Fri Jan 31 18:31:12 2014 From: francisco.soto.del en gmail.com (Francisco Soto) Date: Fri, 31 Jan 2014 14:31:12 -0300 Subject: [Python-es] Python web In-Reply-To: References: <52EBD419.4040106@ptravel.com.uy> Message-ID: Estimados: También ando empezando con python y web... hace un par de días encontré esto, creo que es útil para empezar por algún lado. http://blog.stacktrace.ch/post/49178654214 Saludos! El 31 de enero de 2014, 14:24, Charly Román escribió: > Primero y por si las dudas, y sabes PHP nunca nunca de los nuncas > intentes trabajar de la misma manera que lo hacías. > > Luego, en python lo mejor es usar un framework para esto (de otra > forma sería programar webs al estilo de los 80's). Si quieres un > framework fullstak el más popular es Django[0], si quieres usar algo > más sencillo puedes usar flask[1] > > > [0] = https://www.djangoproject.com/ > [1] = http://flask.pocoo.org/ > > Saludos! > > El día 31 de enero de 2014, 10:49, Alfredo Riguetti > escribió: > > Hola a todos , soy nuevo en esto de python para web y no tengo idea por > > donde arrancar, alguien puede guiarme por donde arrancar > > muchas grcias > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > https://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cmanuel en lt.desoft.cu Fri Jan 31 16:40:43 2014 From: cmanuel en lt.desoft.cu (Carlos Manuel) Date: Fri, 31 Jan 2014 10:40:43 -0500 Subject: [Python-es] Donde empezar con OpenERP In-Reply-To: References: Message-ID: <52EBC3FB.7070501@lt.desoft.cu> On 31/01/14 10:31, Asdrúbal Iván Suárez Rivera wrote: > Hola lista, les escribo ya que he visto varias ofertas de trabajo en > OpenERP. He estado googleando sobre el mismo y se ve bastante > interesante, sin embargo para serles honesto no sé muy bien donde > empezar con OpenERP. ¿Donde recomiendan empezar? ¿Qué tutorial > recomiendan? (No importa si el mismo está escrito en Español o Inglés) > > -- > Asdrúbal Iván Suárez Rivera > > /Si quieres aprender, enseña. /Marco Tulio Cicerón. > / > / > /¿Tienes twitter?/ > /Sígueme: @asdrubalivan/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ tambien el Open Object Developer Book Release 1.0 es muy práctico y muy útil ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cmanuel en lt.desoft.cu Fri Jan 31 16:39:06 2014 From: cmanuel en lt.desoft.cu (Carlos Manuel) Date: Fri, 31 Jan 2014 10:39:06 -0500 Subject: [Python-es] Donde empezar con OpenERP In-Reply-To: References: Message-ID: <52EBC39A.6090904@lt.desoft.cu> On 31/01/14 10:31, Asdrúbal Iván Suárez Rivera wrote: > Hola lista, les escribo ya que he visto varias ofertas de trabajo en > OpenERP. He estado googleando sobre el mismo y se ve bastante > interesante, sin embargo para serles honesto no sé muy bien donde > empezar con OpenERP. ¿Donde recomiendan empezar? ¿Qué tutorial > recomiendan? (No importa si el mismo está escrito en Español o Inglés) > > -- > Asdrúbal Iván Suárez Rivera > > /Si quieres aprender, enseña. /Marco Tulio Cicerón. > / > / > /¿Tienes twitter?/ > /Sígueme: @asdrubalivan/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ cualquiera de los mementos que se publican en su página oficial te servirán, ya llevo un tiempo trabajando con OpenERP, cualquier duda me la dejas saber y vere si puedo ayudarte ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: