From rmatarria en gmail.com Mon Dec 4 01:29:51 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 00:29:51 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es decir me levanta el browser, pero seguidamente desconecta la forma. Alguna Idea. Roberto. input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' print(output) con = { 'driver': 'postgres', 'username': 'postgres', 'password': 'Administra8080', 'host': 'localhost', 'database': 'municipal', 'port':'5432' } x=input("Digite codigo de empleado :") #="8" jasper = JasperPy() jasper.process(input_file,output_file=output,format_list=["pdf"], parameters={'idenifica': (x)},db_connection=con) #os.remove(fname) #subprocess.Popen([file],shell=True) #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') webbrowser.open_new(r'file://'+ output + '.pdf') os.startfile(filename) os.system(filename) Después del browser se sale de la forma. El 29 de noviembre de 2017, 18:23, Mario R. Osorio escribió: > Es para mi un placer poder ayudarte. Yo llevo varios años que no programo > en Python, pero es mi lenguage favorito. La funcion popen() esta contenida > en la libreria *subprocess* > , asi que quizas solo > te falte importar esa libreria. > > Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) > ya que algunas podrian tener (d)efectos indeseados. *Tengo entendido* que > la forma mas *correcta* es utilizando popen(), Pero yo pienso que lo > *correcto*, a veces, esta en contraposicion a lo *desado*. > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : > >> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en >> Internet, documentación, gente que me dijera como podía hacer un reporte en >> python y realmente nadie me decía como hacerlos, a excepción de las >> herramientas que le mencioné. >> >> Gracias por ayudarme a dar el último paso que necesitaba para ver >> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >> >> 1. Una última consulta, usted como hace los reportes en python. >> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >> comentario. subprocess.Popen([file],shell=True) >> >> >> Roberto. >> >> El 29 de noviembre de 2017, 10:38, Mario R. Osorio >> escribió: >> >>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>> ellas: >>> >>> >>> - >>> - subprocess.Popen([file],shell=True) >>> - >>> >>> import webbrowser >>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>> >>> - >>> >>> import os >>> os.startfile(filename) >>> >>> - >>> >>> os.system(filename) >>> >>> - >>> >>> >>> >>> >>> Tambien podrias hacer uso de varias librerias para manipulacion de >>> archivos PDF >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>> >>>> Buenas noches. Ya llevo varios meses tratando de aprender a realizar >>>> reportes en Python. He buscado reporteadores, documentación respecto al >>>> tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, >>>> pero todos son para confeccionar a puro código. Observé un par de >>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>> Me enviaron el código que abajo describo, el cual logré que funcionara, >>>> se conecta a la base de datos, envía parámetros y hace el reporte. >>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>> >>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>> disco. >>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya que >>>> estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>> Python, los reportes. Si alguien conoce del tema. >>>> >>>> Gracias. >>>> >>>> Describo el código. >>>> >>>> import sys >>>> import os >>>> import PyPDF2 >>>> import pyjasper >>>> from platform import python_version >>>> from pyjasper.jasperpy import JasperPy >>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>> >>>> #def advanced_example_using_database(): >>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>> '/report4.jrxml' >>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>> print(input_file) >>>> print(output) >>>> >>>> con = { >>>> 'driver': 'postgres', >>>> 'username': 'postgres', >>>> 'password': 'Administra8080', >>>> 'host': 'localhost', >>>> 'database': 'municipal', >>>> 'port':'5432' >>>> } >>>> x=input("Digite codigo de empleado :") >>>> jasper = JasperPy() >>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>> reporte. >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nimbiotics en gmail.com Mon Dec 4 09:22:14 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Mon, 4 Dec 2017 09:22:14 -0500 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Buen dia Roberto, Claro que tiene que salirse. El llamado para abrir el archivo PDF (que por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu programa NO se detiene y continua hasta el fin del archivo por lo cual se termina incluso muy seguramente antes de que el archivo PDF haya sido abierto. El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para que no se salga sino hasta que tu asi lo desees. (while?) *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que la cambies inmediatamente.* Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : > Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con > respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero > cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la > forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es > decir me levanta el browser, pero seguidamente desconecta la forma. Alguna > Idea. > > Roberto. > > input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' > print(output) > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > x=input("Digite codigo de empleado :") > > #="8" > jasper = JasperPy() > jasper.process(input_file,output_file=output,format_list=["pdf"], > parameters={'idenifica': (x)},db_connection=con) > #os.remove(fname) > #subprocess.Popen([file],shell=True) > > #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') > webbrowser.open_new(r'file://'+ output + '.pdf') > os.startfile(filename) > os.system(filename) > > Después del browser se sale de la forma. > > El 29 de noviembre de 2017, 18:23, Mario R. Osorio > escribió: > >> Es para mi un placer poder ayudarte. Yo llevo varios años que no programo >> en Python, pero es mi lenguage favorito. La funcion popen() esta contenida >> en la libreria *subprocess* >> , asi que quizas solo >> te falte importar esa libreria. >> >> Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) >> ya que algunas podrian tener (d)efectos indeseados. *Tengo entendido* que >> la forma mas *correcta* es utilizando popen(), Pero yo pienso que lo >> *correcto*, a veces, esta en contraposicion a lo *desado*. >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >> >>> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en >>> Internet, documentación, gente que me dijera como podía hacer un reporte en >>> python y realmente nadie me decía como hacerlos, a excepción de las >>> herramientas que le mencioné. >>> >>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>> >>> 1. Una última consulta, usted como hace los reportes en python. >>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>> comentario. subprocess.Popen([file],shell=True) >>> >>> >>> Roberto. >>> >>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio >> > escribió: >>> >>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>> ellas: >>>> >>>> >>>> - >>>> - subprocess.Popen([file],shell=True) >>>> - >>>> >>>> import webbrowser >>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>> >>>> - >>>> >>>> import os >>>> os.startfile(filename) >>>> >>>> - >>>> >>>> os.system(filename) >>>> >>>> - >>>> >>>> >>>> >>>> >>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>> archivos PDF >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>> >>>>> Buenas noches. Ya llevo varios meses tratando de aprender a realizar >>>>> reportes en Python. He buscado reporteadores, documentación respecto al >>>>> tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, >>>>> pero todos son para confeccionar a puro código. Observé un par de >>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>> Me enviaron el código que abajo describo, el cual logré que >>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>> reporte. >>>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>>> >>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>> disco. >>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya >>>>> que estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>>> Python, los reportes. Si alguien conoce del tema. >>>>> >>>>> Gracias. >>>>> >>>>> Describo el código. >>>>> >>>>> import sys >>>>> import os >>>>> import PyPDF2 >>>>> import pyjasper >>>>> from platform import python_version >>>>> from pyjasper.jasperpy import JasperPy >>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>> >>>>> #def advanced_example_using_database(): >>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>> '/report4.jrxml' >>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>> print(input_file) >>>>> print(output) >>>>> >>>>> con = { >>>>> 'driver': 'postgres', >>>>> 'username': 'postgres', >>>>> 'password': 'Administra8080', >>>>> 'host': 'localhost', >>>>> 'database': 'municipal', >>>>> 'port':'5432' >>>>> } >>>>> x=input("Digite codigo de empleado :") >>>>> jasper = JasperPy() >>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>> reporte. >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From miguelbarraza2015 en gmail.com Mon Dec 4 15:46:51 2017 From: miguelbarraza2015 en gmail.com (Miguel Barraza) Date: Mon, 4 Dec 2017 17:46:51 -0300 Subject: [Python-es] =?utf-8?q?=C2=BFconocen_alguna_librer=C3=ADa_que_ten?= =?utf-8?q?ga_comunicaci=C3=B3n_uci_o_algun_tipo_de_ia_de_ajedrez_q?= =?utf-8?q?ue_me_puedan_sugerir=3F?= In-Reply-To: References: Message-ID: ¡Buenas comunidad!. con un amigo estamos desarrollando un motor de juego de mesa en el cual tiene el ajedrez, entre otros, con pilas engine. y estoy trabado en la implementación de una ia que permita jugar un jugador contra la máquina. ¿conocen algun módulo o librería que permita comunicarse via uci o xboard con chess engine?, o alguno que implemente alguna ia de ajedrez?. probé varias pero no logro hacerlas andar. y algunas no corren en windows. la última que probé fue python-chess, pero no pude conectarme via uci a un engine. agradezco sugerencias. ¡un saludo!. atte, Miguel --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Mon Dec 4 15:48:44 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 14:48:44 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Buenas tardes Don Mario. Primero que nada quiero agradecerle enormemente la ayuda que usted me ha brindado en este problema de los reportes. A excepción de un brasileño que me envió un poco de información, nadie, pero nadie a podido ayudarme con el tema de los reportes. Realmente y de todo corazón yo le agradezco toda la ayuda. Le comento estoy metido en una bronca grande como decimos por acá en Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me contrataron y es bastante grande, lleva una buena cantidad de reportes, incluso debo hacer impresiones directas a dos impresoras sin intervención de la persona, es decir deben salir directamente a unas impresoras de producción. Bueno ya veré como hago eso en su momento. Realmente yo he estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, poco a poco pero ahí voy. Tengo un par de preguntas sobre lo que me escribió. 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, cuando el programa se termina. Lo que no entiendo es como hacer para que el ciclo se termine, ya que usted me indica que debo de incluir dentro de un ciclo mi programa. O sea no se en que momento debo disparar la instrucción para que este se salga del ciclo. 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré lo posible por solucionar el problema. 3. Finalmente gracias por la recomendación de la clave de la base de datos, está buena la observación para futuras publicaciones. Actualmente el proyecto lo trabajo en una portátil, fuera del ambiente de producción, el cual se encuentra en otro lugar. Muchas gracias. Roberto El 4 de diciembre de 2017, 8:22, Mario R. Osorio escribió: > Buen dia Roberto, > > Claro que tiene que salirse. El llamado para abrir el archivo PDF (que por > cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo > necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu > programa NO se detiene y continua hasta el fin del archivo por lo cual se > termina incluso muy seguramente antes de que el archivo PDF haya sido > abierto. > > El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para > que no se salga sino hasta que tu asi lo desees. (while?) > > *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL > ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que > la cambies inmediatamente.* > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : > >> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con >> respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero >> cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la >> forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es >> decir me levanta el browser, pero seguidamente desconecta la forma. Alguna >> Idea. >> >> Roberto. >> >> input_file = os.path.dirname(os.path.abspath(__file__)) + >> '/report4.jrxml' >> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >> print(output) >> con = { >> 'driver': 'postgres', >> 'username': 'postgres', >> 'password': 'Administra8080', >> 'host': 'localhost', >> 'database': 'municipal', >> 'port':'5432' >> } >> x=input("Digite codigo de empleado :") >> >> #="8" >> jasper = JasperPy() >> jasper.process(input_file,output_file=output,format_list=["pdf"], >> parameters={'idenifica': (x)},db_connection=con) >> #os.remove(fname) >> #subprocess.Popen([file],shell=True) >> >> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >> webbrowser.open_new(r'file://'+ output + '.pdf') >> os.startfile(filename) >> os.system(filename) >> >> Después del browser se sale de la forma. >> >> El 29 de noviembre de 2017, 18:23, Mario R. Osorio >> escribió: >> >>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>> contenida en la libreria *subprocess* >>> , asi que quizas >>> solo te falte importar esa libreria. >>> >>> Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) >>> ya que algunas podrian tener (d)efectos indeseados. *Tengo entendido* que >>> la forma mas *correcta* es utilizando popen(), Pero yo pienso que lo >>> *correcto*, a veces, esta en contraposicion a lo *desado*. >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>> >>>> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en >>>> Internet, documentación, gente que me dijera como podía hacer un reporte en >>>> python y realmente nadie me decía como hacerlos, a excepción de las >>>> herramientas que le mencioné. >>>> >>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>> >>>> 1. Una última consulta, usted como hace los reportes en python. >>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>> comentario. subprocess.Popen([file],shell=True) >>>> >>>> >>>> Roberto. >>>> >>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>> nimbiotics en gmail.com> escribió: >>>> >>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>> ellas: >>>>> >>>>> >>>>> - >>>>> - subprocess.Popen([file],shell=True) >>>>> - >>>>> >>>>> import webbrowser >>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>> >>>>> - >>>>> >>>>> import os >>>>> os.startfile(filename) >>>>> >>>>> - >>>>> >>>>> os.system(filename) >>>>> >>>>> - >>>>> >>>>> >>>>> >>>>> >>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>> archivos PDF >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a realizar >>>>>> reportes en Python. He buscado reporteadores, documentación respecto al >>>>>> tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, >>>>>> pero todos son para confeccionar a puro código. Observé un par de >>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>> reporte. >>>>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>>>> >>>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>> disco. >>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya >>>>>> que estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>>>> Python, los reportes. Si alguien conoce del tema. >>>>>> >>>>>> Gracias. >>>>>> >>>>>> Describo el código. >>>>>> >>>>>> import sys >>>>>> import os >>>>>> import PyPDF2 >>>>>> import pyjasper >>>>>> from platform import python_version >>>>>> from pyjasper.jasperpy import JasperPy >>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>> >>>>>> #def advanced_example_using_database(): >>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>> '/report4.jrxml' >>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>> print(input_file) >>>>>> print(output) >>>>>> >>>>>> con = { >>>>>> 'driver': 'postgres', >>>>>> 'username': 'postgres', >>>>>> 'password': 'Administra8080', >>>>>> 'host': 'localhost', >>>>>> 'database': 'municipal', >>>>>> 'port':'5432' >>>>>> } >>>>>> x=input("Digite codigo de empleado :") >>>>>> jasper = JasperPy() >>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>> reporte. >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nimbiotics en gmail.com Mon Dec 4 16:32:37 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Mon, 4 Dec 2017 16:32:37 -0500 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando ;) En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar lo que le explico. Primero que nada, al final del programa tiene: webbrowser.open_new(r'file://'+ output + '.pdf') os.startfile(filename) os.system(filename) Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y elimine los que redundan o son simplemente inutiles. Esta es mi propuesta (Le dejo a UD probarla y demostrarla): # ####################################################### input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' print(output) con = { 'driver': 'postgres', 'username': 'postgres', 'password': 'Administra8080', 'host': 'localhost', 'database': 'municipal', 'port':'5432' } while True: x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") if x.lower() = 'salir'.lower(): break #="8" jasper = JasperPy() jasper.process(input_file,output_file=output,format_list=["pdf"], parameters={'idenifica': (x)},db_connection=con) #os.remove(fname) #subprocess.Popen([file],shell=True) #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') webbrowser.open_new(r'file://'+ output + '.pdf') os.startfile(filename) os.system(filename) # ####################################################### Los cambios mas notables son las lineas 13 a la 16, pero tambien es importante que note la indentacion de las lineas 13 en adelante. Con los cambios propuestos, el archivo PDF se abr mientras su programa vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca la palabra 'salir'. Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor forma que tengo de describir la experiencia con Python es esta: Un abrazo!? Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : > Buenas tardes Don Mario. > Primero que nada quiero agradecerle enormemente la ayuda que usted me ha > brindado en este problema de los reportes. A excepción de un brasileño que > me envió un poco de información, nadie, pero nadie a podido ayudarme con el > tema de los reportes. Realmente y de todo corazón yo le agradezco toda la > ayuda. Le comento estoy metido en una bronca grande como decimos por acá en > Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me > contrataron y es bastante grande, lleva una buena cantidad de reportes, > incluso debo hacer impresiones directas a dos impresoras sin intervención > de la persona, es decir deben salir directamente a unas impresoras de > producción. Bueno ya veré como hago eso en su momento. Realmente yo he > estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me > gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, > poco a poco pero ahí voy. > > Tengo un par de preguntas sobre lo que me escribió. > > 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, > cuando el programa se termina. Lo que no entiendo es como hacer para que el > ciclo se termine, ya que usted me indica que debo de incluir dentro de un > ciclo mi programa. O sea no se en que momento debo disparar la instrucción > para que este se salga del ciclo. > > 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. > Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré > lo posible por solucionar el problema. > 3. Finalmente gracias por la recomendación de la clave de la base de > datos, está buena la observación para futuras publicaciones. Actualmente el > proyecto lo trabajo en una portátil, fuera del ambiente de producción, el > cual se encuentra en otro lugar. > > Muchas gracias. > > Roberto > > > El 4 de diciembre de 2017, 8:22, Mario R. Osorio > escribió: > >> Buen dia Roberto, >> >> Claro que tiene que salirse. El llamado para abrir el archivo PDF (que >> por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo >> necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu >> programa NO se detiene y continua hasta el fin del archivo por lo cual se >> termina incluso muy seguramente antes de que el archivo PDF haya sido >> abierto. >> >> El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para >> que no se salga sino hasta que tu asi lo desees. (while?) >> >> *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL >> ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que >> la cambies inmediatamente.* >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : >> >>> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con >>> respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero >>> cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la >>> forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es >>> decir me levanta el browser, pero seguidamente desconecta la forma. Alguna >>> Idea. >>> >>> Roberto. >>> >>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>> '/report4.jrxml' >>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>> print(output) >>> con = { >>> 'driver': 'postgres', >>> 'username': 'postgres', >>> 'password': 'Administra8080', >>> 'host': 'localhost', >>> 'database': 'municipal', >>> 'port':'5432' >>> } >>> x=input("Digite codigo de empleado :") >>> >>> #="8" >>> jasper = JasperPy() >>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>> parameters={'idenifica': (x)},db_connection=con) >>> #os.remove(fname) >>> #subprocess.Popen([file],shell=True) >>> >>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >>> webbrowser.open_new(r'file://'+ output + '.pdf') >>> os.startfile(filename) >>> os.system(filename) >>> >>> Después del browser se sale de la forma. >>> >>> El 29 de noviembre de 2017, 18:23, Mario R. Osorio >> > escribió: >>> >>>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>>> contenida en la libreria *subprocess* >>>> , asi que quizas >>>> solo te falte importar esa libreria. >>>> >>>> Te recomiendo que pruebes las varias formas de abrir el(los) >>>> arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. *Tengo >>>> entendido* que la forma mas *correcta* es utilizando popen(), Pero yo >>>> pienso que lo *correcto*, a veces, esta en contraposicion a lo *desado* >>>> . >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>>> >>>>> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >>>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando >>>>> en Internet, documentación, gente que me dijera como podía hacer un reporte >>>>> en python y realmente nadie me decía como hacerlos, a excepción de las >>>>> herramientas que le mencioné. >>>>> >>>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>>> >>>>> 1. Una última consulta, usted como hace los reportes en python. >>>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>>> comentario. subprocess.Popen([file],shell=True) >>>>> >>>>> >>>>> Roberto. >>>>> >>>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>>> nimbiotics en gmail.com> escribió: >>>>> >>>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>>> ellas: >>>>>> >>>>>> >>>>>> - >>>>>> - subprocess.Popen([file],shell=True) >>>>>> - >>>>>> >>>>>> import webbrowser >>>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>>> >>>>>> - >>>>>> >>>>>> import os >>>>>> os.startfile(filename) >>>>>> >>>>>> - >>>>>> >>>>>> os.system(filename) >>>>>> >>>>>> - >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>>> archivos PDF >>>>>> >>>>>> >>>>>> Dtb/Gby >>>>>> ======= >>>>>> Mario R. Osorio >>>>>> A.S. of Computer Programming and Analysis >>>>>> Web page: *http;//mario.osorio.solutions >>>>>> * >>>>>> Email: *mario en osorio.solutions* >>>>>> *Just Choose Python!* >>>>>> >>>>>> >>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>> horses.? >>>>>> ? Henry Ford >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>>>> >>>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a realizar >>>>>>> reportes en Python. He buscado reporteadores, documentación respecto al >>>>>>> tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, >>>>>>> pero todos son para confeccionar a puro código. Observé un par de >>>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>>> reporte. >>>>>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>>>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>>>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>>>>> >>>>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>>> disco. >>>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya >>>>>>> que estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>>>>> Python, los reportes. Si alguien conoce del tema. >>>>>>> >>>>>>> Gracias. >>>>>>> >>>>>>> Describo el código. >>>>>>> >>>>>>> import sys >>>>>>> import os >>>>>>> import PyPDF2 >>>>>>> import pyjasper >>>>>>> from platform import python_version >>>>>>> from pyjasper.jasperpy import JasperPy >>>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>>> >>>>>>> #def advanced_example_using_database(): >>>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>>> '/report4.jrxml' >>>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>>> print(input_file) >>>>>>> print(output) >>>>>>> >>>>>>> con = { >>>>>>> 'driver': 'postgres', >>>>>>> 'username': 'postgres', >>>>>>> 'password': 'Administra8080', >>>>>>> 'host': 'localhost', >>>>>>> 'database': 'municipal', >>>>>>> 'port':'5432' >>>>>>> } >>>>>>> x=input("Digite codigo de empleado :") >>>>>>> jasper = JasperPy() >>>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>>> reporte. >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From rmatarria en gmail.com Mon Dec 4 16:44:18 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 15:44:18 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Jjajajaja Mario no hay como estar con un veterano de la programación como uno, ya ve como me dijo, sin ver el código ya se que es y la verdad sólo la experiencia hace esas cosas. Voy a probar lo que me describe y le cuento como me fué. En realidad no hay como estar con personas de la edad de uno o un poco cercanas, nos estendemos mejor, que los muchachos de hoy día, espero hacer un muy buen software con este proyecto ya que lo estoy pensando en grande. Muchas gracias. El 4 de diciembre de 2017, 15:32, Mario R. Osorio escribió: > Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando > ;) > > En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO > QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar > lo que le explico. > > Primero que nada, al final del programa tiene: > webbrowser.open_new(r'file://'+ output + '.pdf') > os.startfile(filename) > os.system(filename) > > Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. > Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y > elimine los que redundan o son simplemente inutiles. > > Esta es mi propuesta (Le dejo a UD probarla y demostrarla): > > # ####################################################### > input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' > print(output) > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > > while True: > x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") > if x.lower() = 'salir'.lower(): > break > > #="8" > jasper = JasperPy() > jasper.process(input_file,output_file=output,format_list=["pdf"], > parameters={'idenifica': (x)},db_connection=con) > #os.remove(fname) > #subprocess.Popen([file],shell=True) > > #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') > webbrowser.open_new(r'file://'+ output + '.pdf') > os.startfile(filename) > os.system(filename) > # ####################################################### > > Los cambios mas notables son las lineas 13 a la 16, pero tambien es > importante que note la indentacion de las lineas 13 en adelante. > > Con los cambios propuestos, el archivo PDF se abr mientras su programa > vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca > la palabra 'salir'. > > Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor > forma que tengo de describir la experiencia con Python es esta: > > > > Un abrazo!? > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : > >> Buenas tardes Don Mario. >> Primero que nada quiero agradecerle enormemente la ayuda que usted me ha >> brindado en este problema de los reportes. A excepción de un brasileño que >> me envió un poco de información, nadie, pero nadie a podido ayudarme con el >> tema de los reportes. Realmente y de todo corazón yo le agradezco toda la >> ayuda. Le comento estoy metido en una bronca grande como decimos por acá en >> Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me >> contrataron y es bastante grande, lleva una buena cantidad de reportes, >> incluso debo hacer impresiones directas a dos impresoras sin intervención >> de la persona, es decir deben salir directamente a unas impresoras de >> producción. Bueno ya veré como hago eso en su momento. Realmente yo he >> estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me >> gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, >> poco a poco pero ahí voy. >> >> Tengo un par de preguntas sobre lo que me escribió. >> >> 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, >> cuando el programa se termina. Lo que no entiendo es como hacer para que el >> ciclo se termine, ya que usted me indica que debo de incluir dentro de un >> ciclo mi programa. O sea no se en que momento debo disparar la instrucción >> para que este se salga del ciclo. >> >> 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. >> Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré >> lo posible por solucionar el problema. >> 3. Finalmente gracias por la recomendación de la clave de la base de >> datos, está buena la observación para futuras publicaciones. Actualmente el >> proyecto lo trabajo en una portátil, fuera del ambiente de producción, el >> cual se encuentra en otro lugar. >> >> Muchas gracias. >> >> Roberto >> >> >> El 4 de diciembre de 2017, 8:22, Mario R. Osorio >> escribió: >> >>> Buen dia Roberto, >>> >>> Claro que tiene que salirse. El llamado para abrir el archivo PDF (que >>> por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo >>> necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu >>> programa NO se detiene y continua hasta el fin del archivo por lo cual se >>> termina incluso muy seguramente antes de que el archivo PDF haya sido >>> abierto. >>> >>> El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para >>> que no se salga sino hasta que tu asi lo desees. (while?) >>> >>> *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL >>> ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que >>> la cambies inmediatamente.* >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : >>> >>>> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con >>>> respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero >>>> cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la >>>> forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es >>>> decir me levanta el browser, pero seguidamente desconecta la forma. Alguna >>>> Idea. >>>> >>>> Roberto. >>>> >>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>> '/report4.jrxml' >>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>> print(output) >>>> con = { >>>> 'driver': 'postgres', >>>> 'username': 'postgres', >>>> 'password': 'Administra8080', >>>> 'host': 'localhost', >>>> 'database': 'municipal', >>>> 'port':'5432' >>>> } >>>> x=input("Digite codigo de empleado :") >>>> >>>> #="8" >>>> jasper = JasperPy() >>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>> parameters={'idenifica': (x)},db_connection=con) >>>> #os.remove(fname) >>>> #subprocess.Popen([file],shell=True) >>>> >>>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >>>> webbrowser.open_new(r'file://'+ output + '.pdf') >>>> os.startfile(filename) >>>> os.system(filename) >>>> >>>> Después del browser se sale de la forma. >>>> >>>> El 29 de noviembre de 2017, 18:23, Mario R. Osorio < >>>> nimbiotics en gmail.com> escribió: >>>> >>>>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>>>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>>>> contenida en la libreria *subprocess* >>>>> , asi que quizas >>>>> solo te falte importar esa libreria. >>>>> >>>>> Te recomiendo que pruebes las varias formas de abrir el(los) >>>>> arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. *Tengo >>>>> entendido* que la forma mas *correcta* es utilizando popen(), Pero yo >>>>> pienso que lo *correcto*, a veces, esta en contraposicion a lo >>>>> *desado*. >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >>>>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando >>>>>> en Internet, documentación, gente que me dijera como podía hacer un reporte >>>>>> en python y realmente nadie me decía como hacerlos, a excepción de las >>>>>> herramientas que le mencioné. >>>>>> >>>>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>>>> >>>>>> 1. Una última consulta, usted como hace los reportes en python. >>>>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>>>> comentario. subprocess.Popen([file],shell=True) >>>>>> >>>>>> >>>>>> Roberto. >>>>>> >>>>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>>>> nimbiotics en gmail.com> escribió: >>>>>> >>>>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>>>> ellas: >>>>>>> >>>>>>> >>>>>>> - >>>>>>> - subprocess.Popen([file],shell=True) >>>>>>> - >>>>>>> >>>>>>> import webbrowser >>>>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>>>> >>>>>>> - >>>>>>> >>>>>>> import os >>>>>>> os.startfile(filename) >>>>>>> >>>>>>> - >>>>>>> >>>>>>> os.system(filename) >>>>>>> >>>>>>> - >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>>>> archivos PDF >>>>>>> >>>>>>> >>>>>>> Dtb/Gby >>>>>>> ======= >>>>>>> Mario R. Osorio >>>>>>> A.S. of Computer Programming and Analysis >>>>>>> Web page: *http;//mario.osorio.solutions >>>>>>> * >>>>>>> Email: *mario en osorio.solutions* >>>>>>> *Just Choose Python!* >>>>>>> >>>>>>> >>>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>>> horses.? >>>>>>> ? Henry Ford >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>>>>> >>>>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a >>>>>>>> realizar reportes en Python. He buscado reporteadores, documentación >>>>>>>> respecto al tema, pero al parecer es bastante escasa. Vi reportlab, pandas >>>>>>>> y otros, pero todos son para confeccionar a puro código. Observé un par de >>>>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>>>> reporte. >>>>>>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>>>>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>>>>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>>>>>> >>>>>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>>>> disco. >>>>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya >>>>>>>> que estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>>>>>> Python, los reportes. Si alguien conoce del tema. >>>>>>>> >>>>>>>> Gracias. >>>>>>>> >>>>>>>> Describo el código. >>>>>>>> >>>>>>>> import sys >>>>>>>> import os >>>>>>>> import PyPDF2 >>>>>>>> import pyjasper >>>>>>>> from platform import python_version >>>>>>>> from pyjasper.jasperpy import JasperPy >>>>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>>>> >>>>>>>> #def advanced_example_using_database(): >>>>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>>>> '/report4.jrxml' >>>>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>>>> print(input_file) >>>>>>>> print(output) >>>>>>>> >>>>>>>> con = { >>>>>>>> 'driver': 'postgres', >>>>>>>> 'username': 'postgres', >>>>>>>> 'password': 'Administra8080', >>>>>>>> 'host': 'localhost', >>>>>>>> 'database': 'municipal', >>>>>>>> 'port':'5432' >>>>>>>> } >>>>>>>> x=input("Digite codigo de empleado :") >>>>>>>> jasper = JasperPy() >>>>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>>>> reporte. >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> Python-es en python.org >>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From nimbiotics en gmail.com Mon Dec 4 16:49:26 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Mon, 4 Dec 2017 16:49:26 -0500 Subject: [Python-es] =?utf-8?q?=C2=BFconocen_alguna_librer=C3=ADa_que_ten?= =?utf-8?q?ga_comunicaci=C3=B3n_uci_o_algun_tipo_de_ia_de_ajedrez_q?= =?utf-8?q?ue_me_puedan_sugerir=3F?= In-Reply-To: References: Message-ID: Algunos recursos: - https://pypi.python.org/pypi/python-chess - http://pygame.org/project-Python+Chess-1099-.html - http://code.google.com/p/chess-free - http://mariobalibrera.com/mics/ai.html - https://sites.google.com/site/pychess/ - https://media.readthedocs.org/pdf/python-chess/latest/python-chess.pdf - http://chessforeva.blogspot.com/2011/02/lua-chess-engine.html - http://en.wikipedia.org/wiki/Universal_Chess_Interface - http://www.chessbin.com/ - https://en.wikipedia.org/wiki/Chess_engine#Interface_protocol Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-04 15:46 GMT-05:00 Miguel Barraza : > ¡Buenas comunidad!. > con un amigo estamos desarrollando un motor de juego de mesa en el cual > tiene el ajedrez, entre otros, con pilas engine. y estoy trabado en la > implementación de una ia que permita jugar un jugador contra la máquina. > > ¿conocen algun módulo o librería que permita comunicarse via uci o xboard > con chess engine?, o alguno que implemente alguna ia de ajedrez?. > probé varias pero no logro hacerlas andar. y algunas no corren en windows. > la última que probé fue python-chess, pero no pude conectarme via uci a un > engine. > > agradezco sugerencias. > ¡un saludo!. > > atte, Miguel > > > Libre > de virus. www.avast.com > > <#m_-736982920637029151_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hiramhzr en gmail.com Mon Dec 4 17:02:05 2017 From: hiramhzr en gmail.com (Hiram) Date: Mon, 04 Dec 2017 22:02:05 +0000 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Buenas tardes, Sería bueno ver un ejemplo de la parte del código que esta intentando sacar.... Saludos. El lun., 4 de dic. de 2017 a la(s) 15:44, Roberto Matarrita < rmatarria en gmail.com> escribió: > Jjajajaja Mario no hay como estar con un veterano de la programación como > uno, ya ve como me dijo, sin ver el código ya se que es y la verdad sólo la > experiencia hace esas cosas. Voy a probar lo que me describe y le cuento > como me fué. En realidad no hay como estar con personas de la edad de uno o > un poco cercanas, nos estendemos mejor, que los muchachos de hoy día, > espero hacer un muy buen software con este proyecto ya que lo estoy > pensando en grande. > > Muchas gracias. > > El 4 de diciembre de 2017, 15:32, Mario R. Osorio > escribió: > >> Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando >> ;) >> >> En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO >> QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar >> lo que le explico. >> >> Primero que nada, al final del programa tiene: >> webbrowser.open_new(r'file://'+ output + '.pdf') >> os.startfile(filename) >> os.system(filename) >> >> Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. >> Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y >> elimine los que redundan o son simplemente inutiles. >> >> Esta es mi propuesta (Le dejo a UD probarla y demostrarla): >> >> # ####################################################### >> input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' >> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >> print(output) >> con = { >> 'driver': 'postgres', >> 'username': 'postgres', >> 'password': 'Administra8080', >> 'host': 'localhost', >> 'database': 'municipal', >> 'port':'5432' >> } >> >> while True: >> x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") >> if x.lower() = 'salir'.lower(): >> break >> >> #="8" >> jasper = JasperPy() >> jasper.process(input_file,output_file=output,format_list=["pdf"], >> parameters={'idenifica': (x)},db_connection=con) >> #os.remove(fname) >> #subprocess.Popen([file],shell=True) >> >> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >> webbrowser.open_new(r'file://'+ output + '.pdf') >> os.startfile(filename) >> os.system(filename) >> # ####################################################### >> >> Los cambios mas notables son las lineas 13 a la 16, pero tambien es >> importante que note la indentacion de las lineas 13 en adelante. >> >> Con los cambios propuestos, el archivo PDF se abr mientras su programa >> vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca >> la palabra 'salir'. >> >> Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor >> forma que tengo de describir la experiencia con Python es esta: >> >> >> >> Un abrazo!? >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : >> >>> Buenas tardes Don Mario. >>> Primero que nada quiero agradecerle enormemente la ayuda que usted me ha >>> brindado en este problema de los reportes. A excepción de un brasileño que >>> me envió un poco de información, nadie, pero nadie a podido ayudarme con el >>> tema de los reportes. Realmente y de todo corazón yo le agradezco toda la >>> ayuda. Le comento estoy metido en una bronca grande como decimos por acá en >>> Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me >>> contrataron y es bastante grande, lleva una buena cantidad de reportes, >>> incluso debo hacer impresiones directas a dos impresoras sin intervención >>> de la persona, es decir deben salir directamente a unas impresoras de >>> producción. Bueno ya veré como hago eso en su momento. Realmente yo he >>> estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me >>> gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, >>> poco a poco pero ahí voy. >>> >>> Tengo un par de preguntas sobre lo que me escribió. >>> >>> 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, >>> cuando el programa se termina. Lo que no entiendo es como hacer para que el >>> ciclo se termine, ya que usted me indica que debo de incluir dentro de un >>> ciclo mi programa. O sea no se en que momento debo disparar la instrucción >>> para que este se salga del ciclo. >>> >>> 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. >>> Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré >>> lo posible por solucionar el problema. >>> 3. Finalmente gracias por la recomendación de la clave de la base de >>> datos, está buena la observación para futuras publicaciones. Actualmente el >>> proyecto lo trabajo en una portátil, fuera del ambiente de producción, el >>> cual se encuentra en otro lugar. >>> >>> Muchas gracias. >>> >>> Roberto >>> >>> >>> El 4 de diciembre de 2017, 8:22, Mario R. Osorio >>> escribió: >>> >>>> Buen dia Roberto, >>>> >>>> Claro que tiene que salirse. El llamado para abrir el archivo PDF (que >>>> por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo >>>> necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu >>>> programa NO se detiene y continua hasta el fin del archivo por lo cual se >>>> termina incluso muy seguramente antes de que el archivo PDF haya sido >>>> abierto. >>>> >>>> El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para >>>> que no se salga sino hasta que tu asi lo desees. (while?) >>>> >>>> *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL >>>> ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que >>>> la cambies inmediatamente.* >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : >>>> >>>>> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema >>>>> con respecto al código para levantar el PDF. Todo lo hace casi perfecto, >>>>> pero cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca >>>>> de la forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. >>>>> Es decir me levanta el browser, pero seguidamente desconecta la forma. >>>>> Alguna Idea. >>>>> >>>>> Roberto. >>>>> >>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>> '/report4.jrxml' >>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>> print(output) >>>>> con = { >>>>> 'driver': 'postgres', >>>>> 'username': 'postgres', >>>>> 'password': 'Administra8080', >>>>> 'host': 'localhost', >>>>> 'database': 'municipal', >>>>> 'port':'5432' >>>>> } >>>>> x=input("Digite codigo de empleado :") >>>>> >>>>> #="8" >>>>> jasper = JasperPy() >>>>> >>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>> parameters={'idenifica': (x)},db_connection=con) >>>>> #os.remove(fname) >>>>> #subprocess.Popen([file],shell=True) >>>>> >>>>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >>>>> webbrowser.open_new(r'file://'+ output + '.pdf') >>>>> os.startfile(filename) >>>>> os.system(filename) >>>>> >>>>> Después del browser se sale de la forma. >>>>> >>>>> El 29 de noviembre de 2017, 18:23, Mario R. Osorio < >>>>> nimbiotics en gmail.com> escribió: >>>>> >>>>>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>>>>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>>>>> contenida en la libreria *subprocess* >>>>>> , asi que quizas >>>>>> solo te falte importar esa libreria. >>>>>> >>>>>> Te recomiendo que pruebes las varias formas de abrir el(los) >>>>>> arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. *Tengo >>>>>> entendido* que la forma mas *correcta* es utilizando popen(), Pero >>>>>> yo pienso que lo *correcto*, a veces, esta en contraposicion a lo >>>>>> *desado*. >>>>>> >>>>>> >>>>>> Dtb/Gby >>>>>> ======= >>>>>> Mario R. Osorio >>>>>> A.S. of Computer Programming and Analysis >>>>>> Web page: *http;//mario.osorio.solutions >>>>>> * >>>>>> Email: *mario en osorio.solutions* >>>>>> *Just Choose Python!* >>>>>> >>>>>> >>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>> horses.? >>>>>> ? Henry Ford >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>>>>> >>>>>>> Don Mario, me funcionó el proceso, pude ver el reporte en la >>>>>>> pantalla. >>>>>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando >>>>>>> en Internet, documentación, gente que me dijera como podía hacer un reporte >>>>>>> en python y realmente nadie me decía como hacerlos, a excepción de las >>>>>>> herramientas que le mencioné. >>>>>>> >>>>>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>>>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>>>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>>>>> >>>>>>> 1. Una última consulta, usted como hace los reportes en python. >>>>>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>>>>> comentario. subprocess.Popen([file],shell=True) >>>>>>> >>>>>>> >>>>>>> Roberto. >>>>>>> >>>>>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>>>>> nimbiotics en gmail.com> escribió: >>>>>>> >>>>>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>>>>> ellas: >>>>>>>> >>>>>>>> >>>>>>>> - >>>>>>>> - subprocess.Popen([file],shell=True) >>>>>>>> - >>>>>>>> >>>>>>>> import webbrowser >>>>>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>>>>> >>>>>>>> - >>>>>>>> >>>>>>>> import os >>>>>>>> os.startfile(filename) >>>>>>>> >>>>>>>> - >>>>>>>> >>>>>>>> os.system(filename) >>>>>>>> >>>>>>>> - >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>>>>> archivos PDF >>>>>>>> >>>>>>>> >>>>>>>> Dtb/Gby >>>>>>>> ======= >>>>>>>> Mario R. Osorio >>>>>>>> A.S. of Computer Programming and Analysis >>>>>>>> Web page: *http;//mario.osorio.solutions >>>>>>>> * >>>>>>>> Email: *mario en osorio.solutions* >>>>>>>> *Just Choose Python!* >>>>>>>> >>>>>>>> >>>>>>>> ?If I had asked people what they wanted, they would have said >>>>>>>> faster horses.? >>>>>>>> ? Henry Ford >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>>>>>> >>>>>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a >>>>>>>>> realizar reportes en Python. He buscado reporteadores, documentación >>>>>>>>> respecto al tema, pero al parecer es bastante escasa. Vi reportlab, pandas >>>>>>>>> y otros, pero todos son para confeccionar a puro código. Observé un par de >>>>>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>>>>> reporte. >>>>>>>>> Pero tengo el gran problema que no he podido ya que desconozco >>>>>>>>> como hacerlo y la persona que me envió el código, tampoco ha podido >>>>>>>>> ayudarme y es como hacer para ver el reporte en pantalla. Es decir un >>>>>>>>> preview. >>>>>>>>> >>>>>>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>>>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>>>>> disco. >>>>>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes >>>>>>>>> ya que estoy en un proyecto muy grande y este ha sido el talón de aquiles >>>>>>>>> en Python, los reportes. Si alguien conoce del tema. >>>>>>>>> >>>>>>>>> Gracias. >>>>>>>>> >>>>>>>>> Describo el código. >>>>>>>>> >>>>>>>>> import sys >>>>>>>>> import os >>>>>>>>> import PyPDF2 >>>>>>>>> import pyjasper >>>>>>>>> from platform import python_version >>>>>>>>> from pyjasper.jasperpy import JasperPy >>>>>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>>>>> >>>>>>>>> #def advanced_example_using_database(): >>>>>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>>>>> '/report4.jrxml' >>>>>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>>>>> print(input_file) >>>>>>>>> print(output) >>>>>>>>> >>>>>>>>> con = { >>>>>>>>> 'driver': 'postgres', >>>>>>>>> 'username': 'postgres', >>>>>>>>> 'password': 'Administra8080', >>>>>>>>> 'host': 'localhost', >>>>>>>>> 'database': 'municipal', >>>>>>>>> 'port':'5432' >>>>>>>>> } >>>>>>>>> x=input("Digite codigo de empleado :") >>>>>>>>> jasper = JasperPy() >>>>>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>>>>> reporte. >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Python-es mailing list >>>>>>>>> Python-es en python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> Python-es en python.org >>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hiram Zuñiga ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From rmatarria en gmail.com Mon Dec 4 16:02:58 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 15:02:58 -0600 Subject: [Python-es] =?utf-8?q?=C2=BFconocen_alguna_librer=C3=ADa_que_ten?= =?utf-8?q?ga_comunicaci=C3=B3n_uci_o_algun_tipo_de_ia_de_ajedrez_q?= =?utf-8?q?ue_me_puedan_sugerir=3F?= In-Reply-To: References: Message-ID: Revísate esta página. https://translate.googleusercontent.com/translate_c?depth=1&hl=es&prev=search&rurl=translate.google.com&sl=en&sp=nmt4&u=https://github.com/serg-meus/k2&usg=ALkJrhi6Nq1rEvWwYkZ8jJh6GitwuSYwdg Roberto El 4 de diciembre de 2017, 14:46, Miguel Barraza < miguelbarraza2015 en gmail.com> escribió: > ¡Buenas comunidad!. > con un amigo estamos desarrollando un motor de juego de mesa en el cual > tiene el ajedrez, entre otros, con pilas engine. y estoy trabado en la > implementación de una ia que permita jugar un jugador contra la máquina. > > ¿conocen algun módulo o librería que permita comunicarse via uci o xboard > con chess engine?, o alguno que implemente alguna ia de ajedrez?. > probé varias pero no logro hacerlas andar. y algunas no corren en windows. > la última que probé fue python-chess, pero no pude conectarme via uci a un > engine. > > agradezco sugerencias. > ¡un saludo!. > > atte, Miguel > > > Libre > de virus. www.avast.com > > <#m_-5432578331074924826_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From miguelbarraza2015 en gmail.com Mon Dec 4 17:18:54 2017 From: miguelbarraza2015 en gmail.com (Miguel Barraza) Date: Mon, 4 Dec 2017 19:18:54 -0300 Subject: [Python-es] =?utf-8?q?=C2=BFconocen_alguna_librer=C3=ADa_que_ten?= =?utf-8?q?ga_comunicaci=C3=B3n_uci_o_algun_tipo_de_ia_de_ajedrez_q?= =?utf-8?q?ue_me_puedan_sugerir=3F?= In-Reply-To: References: Message-ID: muchas gracias por todas las fuentes!. me pondré a leerlas. un proyecto que me pareció interesante que tiene ia es sunfish: https://github.com/thomasahle/sunfish esta maneja las coordenadas de forma rara, pero me funcionó. igual estaré revisando todo el resto. Gracias! atte, Miguel Subject: Re: [Python-es] ¿conocen alguna librería que tenga comunicación uci o algun tipo de ia de ajedrez que me puedan sugerir? Algunos recursos: a.. https://pypi.python.org/pypi/python-chess b.. http://pygame.org/project-Python+Chess-1099-.html c.. http://code.google.com/p/chess-free d.. http://mariobalibrera.com/mics/ai.html e.. https://sites.google.com/site/pychess/ f.. https://media.readthedocs.org/pdf/python-chess/latest/python-chess.pdf g.. http://chessforeva.blogspot.com/2011/02/lua-chess-engine.html h.. http://en.wikipedia.org/wiki/Universal_Chess_Interface i.. http://www.chessbin.com/ j.. https://en.wikipedia.org/wiki/Chess_engine#Interface_protocol Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solutions Email: mario en osorio.solutions Just Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-04 15:46 GMT-05:00 Miguel Barraza : ¡Buenas comunidad!. con un amigo estamos desarrollando un motor de juego de mesa en el cual tiene el ajedrez, entre otros, con pilas engine. y estoy trabado en la implementación de una ia que permita jugar un jugador contra la máquina. ¿conocen algun módulo o librería que permita comunicarse via uci o xboard con chess engine?, o alguno que implemente alguna ia de ajedrez?. probé varias pero no logro hacerlas andar. y algunas no corren en windows. la última que probé fue python-chess, pero no pude conectarme via uci a un engine. agradezco sugerencias. ¡un saludo!. atte, Miguel Libre de virus. www.avast.com _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es ------------------------------------------------------------------------------ _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Mon Dec 4 18:25:36 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 17:25:36 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Gracias Iram por responder a mi correo. Ya está todo solucionado y funcionando. Gracias. El 4 de diciembre de 2017, 16:02, Hiram escribió: > Buenas tardes, > > Sería bueno ver un ejemplo de la parte del código que esta intentando > sacar.... > > Saludos. > > El lun., 4 de dic. de 2017 a la(s) 15:44, Roberto Matarrita < > rmatarria en gmail.com> escribió: > >> Jjajajaja Mario no hay como estar con un veterano de la programación como >> uno, ya ve como me dijo, sin ver el código ya se que es y la verdad sólo la >> experiencia hace esas cosas. Voy a probar lo que me describe y le cuento >> como me fué. En realidad no hay como estar con personas de la edad de uno o >> un poco cercanas, nos estendemos mejor, que los muchachos de hoy día, >> espero hacer un muy buen software con este proyecto ya que lo estoy >> pensando en grande. >> >> Muchas gracias. >> >> El 4 de diciembre de 2017, 15:32, Mario R. Osorio >> escribió: >> >>> Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 >>> programando ;) >>> >>> En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO >>> QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar >>> lo que le explico. >>> >>> Primero que nada, al final del programa tiene: >>> webbrowser.open_new(r'file://'+ output + '.pdf') >>> os.startfile(filename) >>> os.system(filename) >>> >>> Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. >>> Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y >>> elimine los que redundan o son simplemente inutiles. >>> >>> Esta es mi propuesta (Le dejo a UD probarla y demostrarla): >>> >>> # ####################################################### >>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>> '/report4.jrxml' >>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>> print(output) >>> con = { >>> 'driver': 'postgres', >>> 'username': 'postgres', >>> 'password': 'Administra8080', >>> 'host': 'localhost', >>> 'database': 'municipal', >>> 'port':'5432' >>> } >>> >>> while True: >>> x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") >>> if x.lower() = 'salir'.lower(): >>> break >>> >>> #="8" >>> jasper = JasperPy() >>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>> parameters={'idenifica': (x)},db_connection=con) >>> #os.remove(fname) >>> #subprocess.Popen([file],shell=True) >>> >>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >>> webbrowser.open_new(r'file://'+ output + '.pdf') >>> os.startfile(filename) >>> os.system(filename) >>> # ####################################################### >>> >>> Los cambios mas notables son las lineas 13 a la 16, pero tambien es >>> importante que note la indentacion de las lineas 13 en adelante. >>> >>> Con los cambios propuestos, el archivo PDF se abr mientras su programa >>> vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca >>> la palabra 'salir'. >>> >>> Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor >>> forma que tengo de describir la experiencia con Python es esta: >>> >>> >>> >>> Un abrazo!? >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : >>> >>>> Buenas tardes Don Mario. >>>> Primero que nada quiero agradecerle enormemente la ayuda que usted me >>>> ha brindado en este problema de los reportes. A excepción de un brasileño >>>> que me envió un poco de información, nadie, pero nadie a podido ayudarme >>>> con el tema de los reportes. Realmente y de todo corazón yo le agradezco >>>> toda la ayuda. Le comento estoy metido en una bronca grande como decimos >>>> por acá en Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero >>>> que me contrataron y es bastante grande, lleva una buena cantidad de >>>> reportes, incluso debo hacer impresiones directas a dos impresoras sin >>>> intervención de la persona, es decir deben salir directamente a unas >>>> impresoras de producción. Bueno ya veré como hago eso en su momento. >>>> Realmente yo he estado toda mi vida en esto, ya tengo 60 años y sigo >>>> programando porque me gusta mucho. Este lenguaje es nuevo para mi, he ido >>>> aprendiendo mucho, poco a poco pero ahí voy. >>>> >>>> Tengo un par de preguntas sobre lo que me escribió. >>>> >>>> 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, >>>> cuando el programa se termina. Lo que no entiendo es como hacer para que el >>>> ciclo se termine, ya que usted me indica que debo de incluir dentro de un >>>> ciclo mi programa. O sea no se en que momento debo disparar la instrucción >>>> para que este se salga del ciclo. >>>> >>>> 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. >>>> Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré >>>> lo posible por solucionar el problema. >>>> 3. Finalmente gracias por la recomendación de la clave de la base de >>>> datos, está buena la observación para futuras publicaciones. Actualmente el >>>> proyecto lo trabajo en una portátil, fuera del ambiente de producción, el >>>> cual se encuentra en otro lugar. >>>> >>>> Muchas gracias. >>>> >>>> Roberto >>>> >>>> >>>> El 4 de diciembre de 2017, 8:22, Mario R. Osorio >>>> escribió: >>>> >>>>> Buen dia Roberto, >>>>> >>>>> Claro que tiene que salirse. El llamado para abrir el archivo PDF (que >>>>> por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo >>>>> necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu >>>>> programa NO se detiene y continua hasta el fin del archivo por lo cual se >>>>> termina incluso muy seguramente antes de que el archivo PDF haya sido >>>>> abierto. >>>>> >>>>> El estilo lo eliges tu, pero tienes que poner tu codigo en un loop >>>>> para que no se salga sino hasta que tu asi lo desees. (while?) >>>>> >>>>> *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL >>>>> ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que >>>>> la cambies inmediatamente.* >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema >>>>>> con respecto al código para levantar el PDF. Todo lo hace casi perfecto, >>>>>> pero cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca >>>>>> de la forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. >>>>>> Es decir me levanta el browser, pero seguidamente desconecta la forma. >>>>>> Alguna Idea. >>>>>> >>>>>> Roberto. >>>>>> >>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>> '/report4.jrxml' >>>>>> output = os.path.dirname(os.path.abspath(__file__)) + >>>>>> '/reportes' >>>>>> print(output) >>>>>> con = { >>>>>> 'driver': 'postgres', >>>>>> 'username': 'postgres', >>>>>> 'password': 'Administra8080', >>>>>> 'host': 'localhost', >>>>>> 'database': 'municipal', >>>>>> 'port':'5432' >>>>>> } >>>>>> x=input("Digite codigo de empleado :") >>>>>> >>>>>> #="8" >>>>>> jasper = JasperPy() >>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>> parameters={'idenifica': (x)},db_connection=con) >>>>>> #os.remove(fname) >>>>>> #subprocess.Popen([file],shell=True) >>>>>> >>>>>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes. >>>>>> pdf') >>>>>> webbrowser.open_new(r'file://'+ output + '.pdf') >>>>>> os.startfile(filename) >>>>>> os.system(filename) >>>>>> >>>>>> Después del browser se sale de la forma. >>>>>> >>>>>> El 29 de noviembre de 2017, 18:23, Mario R. Osorio < >>>>>> nimbiotics en gmail.com> escribió: >>>>>> >>>>>>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>>>>>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>>>>>> contenida en la libreria *subprocess* >>>>>>> , asi que quizas >>>>>>> solo te falte importar esa libreria. >>>>>>> >>>>>>> Te recomiendo que pruebes las varias formas de abrir el(los) >>>>>>> arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. *Tengo >>>>>>> entendido* que la forma mas *correcta* es utilizando popen(), Pero >>>>>>> yo pienso que lo *correcto*, a veces, esta en contraposicion a lo >>>>>>> *desado*. >>>>>>> >>>>>>> >>>>>>> Dtb/Gby >>>>>>> ======= >>>>>>> Mario R. Osorio >>>>>>> A.S. of Computer Programming and Analysis >>>>>>> Web page: *http;//mario.osorio.solutions >>>>>>> * >>>>>>> Email: *mario en osorio.solutions* >>>>>>> *Just Choose Python!* >>>>>>> >>>>>>> >>>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>>> horses.? >>>>>>> ? Henry Ford >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>>>>>> >>>>>>>> Don Mario, me funcionó el proceso, pude ver el reporte en la >>>>>>>> pantalla. >>>>>>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, >>>>>>>> buscando en Internet, documentación, gente que me dijera como podía hacer >>>>>>>> un reporte en python y realmente nadie me decía como hacerlos, a excepción >>>>>>>> de las herramientas que le mencioné. >>>>>>>> >>>>>>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>>>>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>>>>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>>>>>> >>>>>>>> 1. Una última consulta, usted como hace los reportes en python. >>>>>>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>>>>>> comentario. subprocess.Popen([file],shell=True) >>>>>>>> >>>>>>>> >>>>>>>> Roberto. >>>>>>>> >>>>>>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>>>>>> nimbiotics en gmail.com> escribió: >>>>>>>> >>>>>>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>>>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>>>>>> ellas: >>>>>>>>> >>>>>>>>> >>>>>>>>> - >>>>>>>>> - subprocess.Popen([file],shell=True) >>>>>>>>> - >>>>>>>>> >>>>>>>>> import webbrowser >>>>>>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>>>>>> >>>>>>>>> - >>>>>>>>> >>>>>>>>> import os >>>>>>>>> os.startfile(filename) >>>>>>>>> >>>>>>>>> - >>>>>>>>> >>>>>>>>> os.system(filename) >>>>>>>>> >>>>>>>>> - >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>>>>>> archivos PDF >>>>>>>>> >>>>>>>>> >>>>>>>>> Dtb/Gby >>>>>>>>> ======= >>>>>>>>> Mario R. Osorio >>>>>>>>> A.S. of Computer Programming and Analysis >>>>>>>>> Web page: *http;//mario.osorio.solutions >>>>>>>>> * >>>>>>>>> Email: *mario en osorio.solutions* >>>>>>>>> *Just Choose Python!* >>>>>>>>> >>>>>>>>> >>>>>>>>> ?If I had asked people what they wanted, they would have said >>>>>>>>> faster horses.? >>>>>>>>> ? Henry Ford >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita >>>>>>>>> : >>>>>>>>> >>>>>>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a >>>>>>>>>> realizar reportes en Python. He buscado reporteadores, documentación >>>>>>>>>> respecto al tema, pero al parecer es bastante escasa. Vi reportlab, pandas >>>>>>>>>> y otros, pero todos son para confeccionar a puro código. Observé un par de >>>>>>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>>>>>> reporte. >>>>>>>>>> Pero tengo el gran problema que no he podido ya que desconozco >>>>>>>>>> como hacerlo y la persona que me envió el código, tampoco ha podido >>>>>>>>>> ayudarme y es como hacer para ver el reporte en pantalla. Es decir un >>>>>>>>>> preview. >>>>>>>>>> >>>>>>>>>> Es decir como hago para ver el reporte en la pantalla, para que >>>>>>>>>> el usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>>>>>> disco. >>>>>>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes >>>>>>>>>> ya que estoy en un proyecto muy grande y este ha sido el talón de aquiles >>>>>>>>>> en Python, los reportes. Si alguien conoce del tema. >>>>>>>>>> >>>>>>>>>> Gracias. >>>>>>>>>> >>>>>>>>>> Describo el código. >>>>>>>>>> >>>>>>>>>> import sys >>>>>>>>>> import os >>>>>>>>>> import PyPDF2 >>>>>>>>>> import pyjasper >>>>>>>>>> from platform import python_version >>>>>>>>>> from pyjasper.jasperpy import JasperPy >>>>>>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>>>>>> >>>>>>>>>> #def advanced_example_using_database(): >>>>>>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>>>>>> '/report4.jrxml' >>>>>>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>>>>>> print(input_file) >>>>>>>>>> print(output) >>>>>>>>>> >>>>>>>>>> con = { >>>>>>>>>> 'driver': 'postgres', >>>>>>>>>> 'username': 'postgres', >>>>>>>>>> 'password': 'Administra8080', >>>>>>>>>> 'host': 'localhost', >>>>>>>>>> 'database': 'municipal', >>>>>>>>>> 'port':'5432' >>>>>>>>>> } >>>>>>>>>> x=input("Digite codigo de empleado :") >>>>>>>>>> jasper = JasperPy() >>>>>>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>>>>>> reporte. >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Python-es mailing list >>>>>>>>>> Python-es en python.org >>>>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Python-es mailing list >>>>>>>>> Python-es en python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> Python-es en python.org >>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> > -- > Hiram Zuñiga > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From rmatarria en gmail.com Mon Dec 4 18:21:57 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Mon, 4 Dec 2017 17:21:57 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: Gracias Don Mario por la ayuda y pasó ,lo siguiente. Como yo estoy probando el proceso en una pantalla PYQT5 , puse ese input ahi solo para hacer pruebas. Ya no tuve necesidad de poner en un ciclo el proceso, el problema que tenía es que más abajo habían unas instrucciones que no había borrado y estaban mal escritas y claro, cuando el programa llegaba a ese lugar se abortaba. Las quité y todo me está funcionando perfecto. Hice varias pruebas y todo bien. O sea ya se hacer reportes en JasperReport e imprimirlos desde Python a modo de escritorio, jajajaja. Y ahí queda el ejemplo para la comunidad, que al parecer, hay poco sobre esto. Gracias de nuevo. Roberto. El 4 de diciembre de 2017, 15:32, Mario R. Osorio escribió: > Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando > ;) > > En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO > QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar > lo que le explico. > > Primero que nada, al final del programa tiene: > webbrowser.open_new(r'file://'+ output + '.pdf') > os.startfile(filename) > os.system(filename) > > Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. > Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y > elimine los que redundan o son simplemente inutiles. > > Esta es mi propuesta (Le dejo a UD probarla y demostrarla): > > # ####################################################### > input_file = os.path.dirname(os.path.abspath(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' > print(output) > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > > while True: > x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") > if x.lower() = 'salir'.lower(): > break > > #="8" > jasper = JasperPy() > jasper.process(input_file,output_file=output,format_list=["pdf"], > parameters={'idenifica': (x)},db_connection=con) > #os.remove(fname) > #subprocess.Popen([file],shell=True) > > #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') > webbrowser.open_new(r'file://'+ output + '.pdf') > os.startfile(filename) > os.system(filename) > # ####################################################### > > Los cambios mas notables son las lineas 13 a la 16, pero tambien es > importante que note la indentacion de las lineas 13 en adelante. > > Con los cambios propuestos, el archivo PDF se abr mientras su programa > vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca > la palabra 'salir'. > > Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor > forma que tengo de describir la experiencia con Python es esta: > > > > Un abrazo!? > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : > >> Buenas tardes Don Mario. >> Primero que nada quiero agradecerle enormemente la ayuda que usted me ha >> brindado en este problema de los reportes. A excepción de un brasileño que >> me envió un poco de información, nadie, pero nadie a podido ayudarme con el >> tema de los reportes. Realmente y de todo corazón yo le agradezco toda la >> ayuda. Le comento estoy metido en una bronca grande como decimos por acá en >> Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me >> contrataron y es bastante grande, lleva una buena cantidad de reportes, >> incluso debo hacer impresiones directas a dos impresoras sin intervención >> de la persona, es decir deben salir directamente a unas impresoras de >> producción. Bueno ya veré como hago eso en su momento. Realmente yo he >> estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me >> gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, >> poco a poco pero ahí voy. >> >> Tengo un par de preguntas sobre lo que me escribió. >> >> 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, >> cuando el programa se termina. Lo que no entiendo es como hacer para que el >> ciclo se termine, ya que usted me indica que debo de incluir dentro de un >> ciclo mi programa. O sea no se en que momento debo disparar la instrucción >> para que este se salga del ciclo. >> >> 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. >> Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré >> lo posible por solucionar el problema. >> 3. Finalmente gracias por la recomendación de la clave de la base de >> datos, está buena la observación para futuras publicaciones. Actualmente el >> proyecto lo trabajo en una portátil, fuera del ambiente de producción, el >> cual se encuentra en otro lugar. >> >> Muchas gracias. >> >> Roberto >> >> >> El 4 de diciembre de 2017, 8:22, Mario R. Osorio >> escribió: >> >>> Buen dia Roberto, >>> >>> Claro que tiene que salirse. El llamado para abrir el archivo PDF (que >>> por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo >>> necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu >>> programa NO se detiene y continua hasta el fin del archivo por lo cual se >>> termina incluso muy seguramente antes de que el archivo PDF haya sido >>> abierto. >>> >>> El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para >>> que no se salga sino hasta que tu asi lo desees. (while?) >>> >>> *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL >>> ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que >>> la cambies inmediatamente.* >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : >>> >>>> Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con >>>> respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero >>>> cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la >>>> forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es >>>> decir me levanta el browser, pero seguidamente desconecta la forma. Alguna >>>> Idea. >>>> >>>> Roberto. >>>> >>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>> '/report4.jrxml' >>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>> print(output) >>>> con = { >>>> 'driver': 'postgres', >>>> 'username': 'postgres', >>>> 'password': 'Administra8080', >>>> 'host': 'localhost', >>>> 'database': 'municipal', >>>> 'port':'5432' >>>> } >>>> x=input("Digite codigo de empleado :") >>>> >>>> #="8" >>>> jasper = JasperPy() >>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>> parameters={'idenifica': (x)},db_connection=con) >>>> #os.remove(fname) >>>> #subprocess.Popen([file],shell=True) >>>> >>>> #webbrowser.open_new(r'file://C:\manteminiento\to\reportes.pdf') >>>> webbrowser.open_new(r'file://'+ output + '.pdf') >>>> os.startfile(filename) >>>> os.system(filename) >>>> >>>> Después del browser se sale de la forma. >>>> >>>> El 29 de noviembre de 2017, 18:23, Mario R. Osorio < >>>> nimbiotics en gmail.com> escribió: >>>> >>>>> Es para mi un placer poder ayudarte. Yo llevo varios años que no >>>>> programo en Python, pero es mi lenguage favorito. La funcion popen() esta >>>>> contenida en la libreria *subprocess* >>>>> , asi que quizas >>>>> solo te falte importar esa libreria. >>>>> >>>>> Te recomiendo que pruebes las varias formas de abrir el(los) >>>>> arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. *Tengo >>>>> entendido* que la forma mas *correcta* es utilizando popen(), Pero yo >>>>> pienso que lo *correcto*, a veces, esta en contraposicion a lo >>>>> *desado*. >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. >>>>>> Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando >>>>>> en Internet, documentación, gente que me dijera como podía hacer un reporte >>>>>> en python y realmente nadie me decía como hacerlos, a excepción de las >>>>>> herramientas que le mencioné. >>>>>> >>>>>> Gracias por ayudarme a dar el último paso que necesitaba para ver >>>>>> reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a >>>>>> PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. >>>>>> >>>>>> 1. Una última consulta, usted como hace los reportes en python. >>>>>> 2. Que hace esta instrucción que me dio error y tuve que ponerla en >>>>>> comentario. subprocess.Popen([file],shell=True) >>>>>> >>>>>> >>>>>> Roberto. >>>>>> >>>>>> El 29 de noviembre de 2017, 10:38, Mario R. Osorio < >>>>>> nimbiotics en gmail.com> escribió: >>>>>> >>>>>>> Desconozco el producto JasperReport. Sin embargo, si ya tienes el >>>>>>> archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre >>>>>>> ellas: >>>>>>> >>>>>>> >>>>>>> - >>>>>>> - subprocess.Popen([file],shell=True) >>>>>>> - >>>>>>> >>>>>>> import webbrowser >>>>>>> webbrowser.open_new(r'file://C:\path\to\file.pdf') >>>>>>> >>>>>>> - >>>>>>> >>>>>>> import os >>>>>>> os.startfile(filename) >>>>>>> >>>>>>> - >>>>>>> >>>>>>> os.system(filename) >>>>>>> >>>>>>> - >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Tambien podrias hacer uso de varias librerias para manipulacion de >>>>>>> archivos PDF >>>>>>> >>>>>>> >>>>>>> Dtb/Gby >>>>>>> ======= >>>>>>> Mario R. Osorio >>>>>>> A.S. of Computer Programming and Analysis >>>>>>> Web page: *http;//mario.osorio.solutions >>>>>>> * >>>>>>> Email: *mario en osorio.solutions* >>>>>>> *Just Choose Python!* >>>>>>> >>>>>>> >>>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>>> horses.? >>>>>>> ? Henry Ford >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : >>>>>>> >>>>>>>> Buenas noches. Ya llevo varios meses tratando de aprender a >>>>>>>> realizar reportes en Python. He buscado reporteadores, documentación >>>>>>>> respecto al tema, pero al parecer es bastante escasa. Vi reportlab, pandas >>>>>>>> y otros, pero todos son para confeccionar a puro código. Observé un par de >>>>>>>> reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. >>>>>>>> Me enviaron el código que abajo describo, el cual logré que >>>>>>>> funcionara, se conecta a la base de datos, envía parámetros y hace el >>>>>>>> reporte. >>>>>>>> Pero tengo el gran problema que no he podido ya que desconozco como >>>>>>>> hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y >>>>>>>> es como hacer para ver el reporte en pantalla. Es decir un preview. >>>>>>>> >>>>>>>> Es decir como hago para ver el reporte en la pantalla, para que el >>>>>>>> usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o >>>>>>>> Excel. Ya que el código lo que hace es grabar directamente el reporte al >>>>>>>> disco. >>>>>>>> Mucho agradecería la ayuda, o bien sujerencias para los reportes ya >>>>>>>> que estoy en un proyecto muy grande y este ha sido el talón de aquiles en >>>>>>>> Python, los reportes. Si alguien conoce del tema. >>>>>>>> >>>>>>>> Gracias. >>>>>>>> >>>>>>>> Describo el código. >>>>>>>> >>>>>>>> import sys >>>>>>>> import os >>>>>>>> import PyPDF2 >>>>>>>> import pyjasper >>>>>>>> from platform import python_version >>>>>>>> from pyjasper.jasperpy import JasperPy >>>>>>>> from PyPDF2 import PdfFileMerger,PdfFileReader >>>>>>>> >>>>>>>> #def advanced_example_using_database(): >>>>>>>> input_file = os.path.dirname(os.path.abspath(__file__)) + >>>>>>>> '/report4.jrxml' >>>>>>>> output = os.path.dirname(os.path.abspath(__file__)) + '/reportes' >>>>>>>> print(input_file) >>>>>>>> print(output) >>>>>>>> >>>>>>>> con = { >>>>>>>> 'driver': 'postgres', >>>>>>>> 'username': 'postgres', >>>>>>>> 'password': 'Administra8080', >>>>>>>> 'host': 'localhost', >>>>>>>> 'database': 'municipal', >>>>>>>> 'port':'5432' >>>>>>>> } >>>>>>>> x=input("Digite codigo de empleado :") >>>>>>>> jasper = JasperPy() >>>>>>>> jasper.process(input_file,output_file=output,format_list=["pdf"], >>>>>>>> parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el >>>>>>>> reporte. >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> Python-es en python.org >>>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From jcaballero.hep en gmail.com Mon Dec 4 21:27:32 2017 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 4 Dec 2017 21:27:32 -0500 Subject: [Python-es] =?utf-8?q?Un_=22timeout=22_usando_decoradores_me_fun?= =?utf-8?q?ciona_con_funciones_=28no_pun_intended=29=2C_pero_no_con?= =?utf-8?b?IG3DqXRvZG9z?= Message-ID: Hola, Éste código funciona bien (*). Consigo pasar un valor de "timeout' como parámetro del decorador, y la función se aborta si se sobrepasa el límite de tiempo. Sin embargo, si intento hacer lo mismo con un método en lugar de una función (**), el valor de "timeout' no parece que se tenga en cuenta en p.join(). Siempre se ejecuta el método hasta el final. ¿Qué me está faltando? Bonus question: ¿hay alguna forma de recuperar el output de la función "funct", si tuviese un return? Con subprocess.Popen() se puede hacer p.communicate(), pero no veo en la documentación como hacer algo parecido con multiprocessing.Process() Muchas gracias por adelantado. Jose ------------------------------------------------------------- (*) import multiprocessing import time def Timeout(timeout): def realdecorator(f): def wrapper(*k, **kw): p = multiprocessing.Process(target=f(*k, **kw)) p.start() p.join(timeout) if p.is_alive(): print('killing') p.terminate() p.join() else: print('it died already') return wrapper return realdecorator @Timeout(3) def funct(s): for i in range(100): print s time.sleep(1) if __name__ == '__main__': funct('sleeping') ------------------------------------------------------------- (**) def Timeout(timeout): def realdecorator(f): def wrapper(*k, **kw): p = multiprocessing.Process(target=f(*k, **kw)) p.start() p.join(timeout) if p.is_alive(): print('killing') p.terminate() p.join() else: print('it died already') return wrapper return realdecorator class MyClass(object): @Timeout(3) def funct(self, s): for i in range(100): print s time.sleep(1) if __name__ == '__main__': o = MyClass() o.funct("sleeping") From ricardo.cardenes en gmail.com Tue Dec 5 00:56:42 2017 From: ricardo.cardenes en gmail.com (=?UTF-8?Q?Ricardo_C=C3=A1rdenes?=) Date: Mon, 4 Dec 2017 19:56:42 -1000 Subject: [Python-es] =?utf-8?q?Un_=22timeout=22_usando_decoradores_me_fun?= =?utf-8?q?ciona_con_funciones_=28no_pun_intended=29=2C_pero_no_con?= =?utf-8?b?IG3DqXRvZG9z?= In-Reply-To: References: Message-ID: Buenas... Pues no sé cómo te funciona el primero. Observa: p = multiprocessing.Process(target=f(*k, **kw)) Aquí estás invocando la función y esperando a que devuelva un valor. Eso debería ser... p = multiprocessing.Process(target=f, args=k, kwargs=kw) En esas condiciones me funcionan (no pun intended) tanto la función como el método 2017-12-04 16:27 GMT-10:00 Jose Caballero : > Hola, > > Éste código funciona bien (*). > Consigo pasar un valor de "timeout' como parámetro del decorador, y la > función se aborta si se sobrepasa el límite de tiempo. > > Sin embargo, si intento hacer lo mismo con un método en lugar de una > función (**), el valor de "timeout' no parece que se tenga en cuenta > en p.join(). > Siempre se ejecuta el método hasta el final. > > ¿Qué me está faltando? > > Bonus question: ¿hay alguna forma de recuperar el output de la función > "funct", si tuviese un return? Con subprocess.Popen() se puede hacer > p.communicate(), pero no veo en la documentación como hacer algo > parecido con multiprocessing.Process() > > Muchas gracias por adelantado. > Jose > > ------------------------------------------------------------- > > (*) > > import multiprocessing > import time > > > def Timeout(timeout): > def realdecorator(f): > def wrapper(*k, **kw): > p = multiprocessing.Process(target=f(*k, **kw)) > p.start() > p.join(timeout) > if p.is_alive(): > print('killing') > p.terminate() > p.join() > else: > print('it died already') > return wrapper > return realdecorator > > > @Timeout(3) > def funct(s): > for i in range(100): > print s > time.sleep(1) > > > if __name__ == '__main__': > funct('sleeping') > > ------------------------------------------------------------- > > (**) > > > def Timeout(timeout): > def realdecorator(f): > def wrapper(*k, **kw): > p = multiprocessing.Process(target=f(*k, **kw)) > p.start() > p.join(timeout) > if p.is_alive(): > print('killing') > p.terminate() > p.join() > else: > print('it died already') > return wrapper > return realdecorator > > > class MyClass(object): > > @Timeout(3) > def funct(self, s): > for i in range(100): > print s > time.sleep(1) > > > if __name__ == '__main__': > o = MyClass() > o.funct("sleeping") > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Tue Dec 5 11:09:18 2017 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 5 Dec 2017 11:09:18 -0500 Subject: [Python-es] =?utf-8?q?Un_=22timeout=22_usando_decoradores_me_fun?= =?utf-8?q?ciona_con_funciones_=28no_pun_intended=29=2C_pero_no_con?= =?utf-8?b?IG3DqXRvZG9z?= In-Reply-To: References: Message-ID: > p = multiprocessing.Process(target=f, args=k, kwargs=kw) > Pues si, ese metodo funciona con funciones y con metodos pun intended :) Muchas gracias. Ahora me queda encontrar una solucion para mi segundo problema. Capturar el output de la funcion. Un saludo, y perdon por la ausencia de tildes. Jose From jeancarlosr_ve en yahoo.com Tue Dec 5 22:09:41 2017 From: jeancarlosr_ve en yahoo.com (=?UTF-8?Q?Jean_Carlos_Rodr=C3=ACguez?=) Date: Wed, 6 Dec 2017 03:09:41 +0000 (UTC) Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: References: Message-ID: <1330543595.2336194.1512529781423@mail.yahoo.com> Perdon solo por preguntar, porque no pruebas con reportlab la generación del pdf, si estás usando pyqt5 te podría dar una mano Sent from Yahoo Mail for iPhone On Monday, December 4, 2017, 5:28 PM, Roberto Matarrita wrote: Gracias Don Mario por la ayuda y pasó ,lo siguiente. Como yo estoy probando el proceso en una pantalla PYQT5 , puse ese input ahi solo para hacer pruebas.Ya no tuve necesidad de poner en un ciclo el proceso, el problema que tenía es que más abajo habían unas instrucciones que no había borrado y estaban mal escritas y claro, cuando el programa llegaba a ese lugar se abortaba. Las quité y todo me está funcionando perfecto. Hice varias pruebas y todo bien. O sea ya se hacer reportes en JasperReport e imprimirlos desde Python a modo de escritorio, jajajaja. Y ahí queda el ejemplo para la comunidad, que al parecer, hay poco sobre esto. Gracias de nuevo. Roberto. El 4 de diciembre de 2017, 15:32, Mario R. Osorio escribió: Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando ;) En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar lo que le explico. Primero que nada, al final del programa tiene:      webbrowser.open_new(r'file://' + output + '.pdf')      os.startfile(filename)      os.system(filename) Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y elimine los que redundan o son simplemente inutiles. Esta es mi propuesta (Le dejo a UD probarla y demostrarla): # ############################## #########################input_file = os.path.dirname(os.path. abspath(__file__)) + '/report4.jrxml'output = os.path.dirname(os.path. abspath(__file__)) + '/reportes'print(output)con = {    'driver': 'postgres',    'username': 'postgres',    'password': 'Administra8080',    'host': 'localhost',    'database': 'municipal',    'port':'5432'} while True:    x = input("Digite codigo de empleado (ó [SALIR] para terminar): ")    if x.lower() = 'salir'.lower():      break     #="8"    jasper = JasperPy()    jasper.process(input_file, output_file=output,format_ list=["pdf"], parameters={'idenifica': (x)},db_connection=con)     #os.remove(fname)    #subprocess.Popen([file], shell=True)     #webbrowser.open_new(r'file:// C:\manteminiento\to\reportes. pdf')    webbrowser.open_new(r'file://' + output + '.pdf')    os.startfile(filename)    os.system(filename)# ############################## ######################### Los cambios mas notables son las lineas 13 a la 16, pero tambien es importante que note la indentacion de las lineas 13 en adelante. Con los cambios propuestos, el archivo PDF se abr mientras su programa vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca la palabra 'salir'. Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor forma que tengo de describir la experiencia con Python es esta: Un abrazo!? Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio. solutionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-12-04 15:48 GMT-05:00 Roberto Matarrita : Buenas tardes Don Mario.Primero que nada quiero agradecerle enormemente la ayuda que usted me ha brindado en este problema de los reportes. A excepción de un brasileño que me envió un poco de información, nadie, pero nadie a podido ayudarme con el tema de los reportes. Realmente y de todo corazón yo le agradezco toda la ayuda. Le comento estoy metido en una bronca grande como decimos por acá en Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me contrataron y es bastante grande, lleva una buena cantidad de reportes, incluso debo hacer impresiones directas a dos impresoras sin intervención de la persona, es decir deben salir directamente a unas impresoras de producción. Bueno ya veré como hago eso en su momento. Realmente yo he estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me gusta mucho. Este lenguaje es nuevo para mi,  he ido aprendiendo mucho, poco a poco pero ahí voy. Tengo un par de preguntas sobre lo que me escribió. 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, cuando el programa se termina. Lo que no entiendo es como hacer para que el ciclo se termine, ya que usted me indica que debo de incluir dentro de un ciclo mi programa. O sea no se en que momento debo disparar la instrucción para que este se salga del ciclo. 2. Me comenta  que estoy abriendo de tres formas diferentes mi PDF. Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré lo posible por solucionar el problema.3. Finalmente gracias por la recomendación de la clave de la base de datos, está buena la observación para futuras publicaciones. Actualmente el proyecto lo trabajo en una portátil, fuera del ambiente de producción, el cual se encuentra en otro lugar. Muchas gracias. Roberto El 4 de diciembre de 2017, 8:22, Mario R. Osorio escribió: Buen dia Roberto, Claro que tiene que salirse. El llamado para abrir el archivo PDF (que por cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu programa NO se detiene y continua hasta el fin del archivo por lo cual se termina incluso muy seguramente antes de que el archivo PDF haya sido abierto. El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para que no se salga sino hasta que tu asi lo desees. (while?) POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que la cambies inmediatamente. Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solu tionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-12-04 1:29 GMT-05:00 Roberto Matarrita : Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es decir me levanta el browser, pero seguidamente desconecta la forma.  Alguna Idea.     Roberto.   input_file = os.path.dirname(os.path.abspat h(__file__)) + '/report4.jrxml'      output = os.path.dirname(os.path.abspat h(__file__)) + '/reportes'      print(output)      con = {        'driver': 'postgres',        'username': 'postgres',        'password': 'Administra8080',        'host': 'localhost',        'database': 'municipal',        'port':'5432'      }      x=input("Digite codigo de empleado :")            #="8"      jasper = JasperPy()      jasper.process(input_file,outp ut_file=output,format_list=["p df"], parameters={'idenifica': (x)},db_connection=con)       #os.remove(fname)      #subprocess.Popen([file],shell =True)       #webbrowser.open_new(r'file:// C:\manteminiento\to\reportes.p df')      webbrowser.open_new(r'file://' + output + '.pdf')      os.startfile(filename)      os.system(filename) Después del browser se sale de la forma. El 29 de noviembre de 2017, 18:23, Mario R. Osorio escribió: Es para mi un placer poder ayudarte. Yo llevo varios años que no programo en Python, pero es mi lenguage favorito. La funcion popen() esta contenida en la libreria subprocess, asi que quizas solo te falte importar esa libreria. Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) ya que algunas podrian tener (d)efectos indeseados. Tengo entendido que la forma mas correcta es utilizando popen(), Pero yo pienso que lo correcto, a veces, esta en contraposicion a lo desado. Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solu tionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-11-29 17:45 GMT-05:00 Roberto Matarrita : Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla.Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en Internet, documentación, gente que me dijera como podía hacer un reporte en python y realmente nadie me decía como hacerlos, a excepción de las herramientas que le mencioné. Gracias por ayudarme a dar el último paso que necesitaba para ver reportes en pantalla de una aplicación de escritorio. Ya los puedo tirar a PDF, Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. 1. Una última consulta, usted como hace los reportes en python.2. Que hace esta instrucción que me dio error y tuve que ponerla en comentario. subprocess.Popen([ file],shell=True) Roberto. El 29 de noviembre de 2017, 10:38, Mario R. Osorio escribió: Desconozco el producto JasperReport. Sin embargo, si ya tienes el archivo PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre ellas: - - subprocess.Popen([file],shell= True) - import webbrowser webbrowser.open_new(r'file://C :\path\to\file.pdf') - import os os.startfile(filename) - os.system(filename) - Tambien podrias hacer uso de varias librerias para manipulacion de archivos PDF Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solu tionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-11-28 22:21 GMT-05:00 Roberto Matarrita : Buenas noches. Ya llevo varios meses tratando de aprender a realizar reportes en Python. He buscado reporteadores, documentación respecto al tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, pero todos son para confeccionar a puro código. Observé un par de reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo.Me enviaron el código que abajo describo, el cual logré que funcionara, se conecta a la base de datos, envía parámetros y hace el reporte.Pero tengo el gran problema que no he podido ya que desconozco como hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y es como hacer para ver el reporte en pantalla. Es decir un preview. Es decir como hago para ver el reporte en la pantalla, para que el usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o Excel. Ya que el código lo que hace es grabar directamente el reporte al disco.Mucho agradecería la ayuda, o bien sujerencias para los reportes ya que estoy en un proyecto muy grande y este ha sido el talón de aquiles en Python, los reportes. Si alguien conoce del tema. Gracias. Describo el código. import sysimport osimport PyPDF2import pyjasperfrom platform import python_versionfrom pyjasper.jasperpy import JasperPyfrom PyPDF2 import PdfFileMerger,PdfFileReader  #def advanced_example_using_databas e():input_file = os.path.dirname(os.path.abspat h(__file__)) + '/report4.jrxml'output = os.path.dirname(os.path.abspat h(__file__)) + '/reportes'print(input_file)print(output) con = {        'driver': 'postgres',        'username': 'postgres',        'password': 'Administra8080',        'host': 'localhost',        'database': 'municipal',        'port':'5432'    }x=input("Digite codigo de empleado :")jasper = JasperPy()jasper.process(input_file,outp ut_file=output,format_list=["p df"], parameters={'idenifica': (x)},db_connection=con)    #Aquí se confecciona el reporte. ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/ mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From horacio9573 en gmail.com Wed Dec 6 15:12:22 2017 From: horacio9573 en gmail.com (Horacio) Date: Wed, 6 Dec 2017 17:12:22 -0300 Subject: [Python-es] Formularios y Platillas en Flask Message-ID: Estoy siguiendo uno de los miles de ejemplos en internet para crear un formulario que tome datos y que presente resultados sin el uso el WTF_Flask!. Donde los resultados están en un diccionario. Ahora bien tengo este código python (soy muy principiante en Flask!! así que perdón por las barbaridades) from flask import Flask, render_template app = Flask(__name__) @app.route('/result') def result(): dict = {'phy':50,'che':60,'maths':70} return render_template('table.html', result = dict) if __name__ == '__main__': app.run(debug = True, port=8000) que va a presentar los valores del dicionario por medio de la platilla table.html, la cual es: {% for key, value in result.iteritems() %} {% endfor %}
{{ key }} {{ value }}
cuando por medio del navegador hago http://localhost:8000/result ,,, me da este error,,, File "/home/hcaste/virtual/flask/flask_experimentos/Plantillas/templates/table.html", line 6, in top-level template code {% for key, value in result.iteritems() %} jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'iteritems' Alguien me puede dar una mano en como corregir el código para salvar este error? Saludos. From kelertxiki en gmail.com Wed Dec 6 15:58:27 2017 From: kelertxiki en gmail.com (Ander Garmendia) Date: Wed, 6 Dec 2017 21:58:27 +0100 Subject: [Python-es] Formularios y Platillas en Flask In-Reply-To: References: Message-ID: Lo mas probable es que estés utilizando python3 ya que `iteritems()` se eliminó en esa versión. Prueba con `items()` y seguramente te funcionará. El día 6 de diciembre de 2017, 21:12, Horacio escribió: > Estoy siguiendo uno de los miles de ejemplos en internet para crear un > formulario que tome datos y que presente resultados sin el uso el > WTF_Flask!. Donde los resultados están en un diccionario. Ahora bien > tengo este código python (soy muy principiante en Flask!! así que > perdón por las barbaridades) > > from flask import Flask, render_template > app = Flask(__name__) > > @app.route('/result') > def result(): > dict = {'phy':50,'che':60,'maths':70} > return render_template('table.html', result = dict) > > if __name__ == '__main__': > app.run(debug = True, port=8000) > > que va a presentar los valores del dicionario por medio de la platilla > table.html, la cual es: > > > > > > > {% for key, value in result.iteritems() %} > > > > > > > {% endfor %} >
{{ key }} {{ value }}
> > > > > cuando por medio del navegador hago http://localhost:8000/result ,,, > me da este error,,, > > File "/home/hcaste/virtual/flask/flask_experimentos/Plantillas/templates/table.html", > line 6, in top-level template code > {% for key, value in result.iteritems() %} > jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'iteritems' > > Alguien me puede dar una mano en como corregir el código para salvar este error? > > Saludos. > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es From horacio9573 en gmail.com Wed Dec 6 18:11:58 2017 From: horacio9573 en gmail.com (Horacio) Date: Wed, 6 Dec 2017 20:11:58 -0300 Subject: [Python-es] Formularios y Platillas en Flask In-Reply-To: References: Message-ID: El día 6 de diciembre de 2017, 17:58, Ander Garmendia escribió: > Lo mas probable es que estés utilizando python3 ya que `iteritems()` > se eliminó en esa versión. > > Prueba con `items()` y seguramente te funcionará. Muchas gracias, ahora funciona,,, era eso,,, de que cambió de python2.7 a python3 > > El día 6 de diciembre de 2017, 21:12, Horacio escribió: >> Estoy siguiendo uno de los miles de ejemplos en internet para crear un >> formulario que tome datos y que presente resultados sin el uso el >> WTF_Flask!. Donde los resultados están en un diccionario. Ahora bien >> tengo este código python (soy muy principiante en Flask!! así que >> perdón por las barbaridades) >> >> from flask import Flask, render_template >> app = Flask(__name__) >> >> @app.route('/result') >> def result(): >> dict = {'phy':50,'che':60,'maths':70} >> return render_template('table.html', result = dict) >> >> if __name__ == '__main__': >> app.run(debug = True, port=8000) >> >> que va a presentar los valores del dicionario por medio de la platilla >> table.html, la cual es: >> >> >> >> >> >> >> {% for key, value in result.iteritems() %} >> >> >> >> >> >> >> {% endfor %} >>
{{ key }} {{ value }}
>> >> >> >> >> cuando por medio del navegador hago http://localhost:8000/result ,,, >> me da este error,,, >> >> File "/home/hcaste/virtual/flask/flask_experimentos/Plantillas/templates/table.html", >> line 6, in top-level template code >> {% for key, value in result.iteritems() %} >> jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'iteritems' >> >> Alguien me puede dar una mano en como corregir el código para salvar este error? >> >> Saludos. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es From rmatarria en gmail.com Thu Dec 7 16:21:13 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Thu, 7 Dec 2017 15:21:13 -0600 Subject: [Python-es] Como Implementar Python y JasperReport. In-Reply-To: <1330543595.2336194.1512529781423@mail.yahoo.com> References: <1330543595.2336194.1512529781423@mail.yahoo.com> Message-ID: Gracias Juan Carlos, ya logré hacer impresiones en JasperReport y levantarlos desde Python. Veré el comportamiento una vez que lo ponga en producción. Realmente es un muy buen reporteador, para confección de reportes en modo de escritorio y también para web. Lo recomiendo. Roberto. El 5 de diciembre de 2017, 21:09, Jean Carlos Rodrìguez via Python-es < python-es en python.org> escribió: > Perdon solo por preguntar, porque no pruebas con reportlab la generación > del pdf, si estás usando pyqt5 te podría dar una mano > > > Sent from Yahoo Mail for iPhone > > > On Monday, December 4, 2017, 5:28 PM, Roberto Matarrita < > rmatarria en gmail.com> wrote: > > Gracias Don Mario por la ayuda y pasó ,lo siguiente. > > Como yo estoy probando el proceso en una pantalla PYQT5 , puse ese input > ahi solo para hacer pruebas. > Ya no tuve necesidad de poner en un ciclo el proceso, el problema que > tenía es que más abajo habían unas instrucciones que no había borrado y > estaban mal escritas y claro, cuando el programa llegaba a ese lugar se > abortaba. Las quité y todo me está funcionando perfecto. Hice varias > pruebas y todo bien. > > O sea ya se hacer reportes en JasperReport e imprimirlos desde Python a > modo de escritorio, jajajaja. Y ahí queda el ejemplo para la comunidad, que > al parecer, hay poco sobre esto. > > Gracias de nuevo. > > Roberto. > > El 4 de diciembre de 2017, 15:32, Mario R. Osorio > escribió: > > Yo tampoco soy ningun quinceañero; tengo 55 años. y mas de 35 programando > ;) > > En cuanto al codigo le digo que YO NO HE COMPROBADO PARA NADA EL CODIGO > QUE UD ME ENVIO, ni lo que yo le recomende, asi que a Ud le dejo comprobar > lo que le explico. > > Primero que nada, al final del programa tiene: > webbrowser.open_new(r'file://' + output + '.pdf') > os.startfile(filename) > os.system(filename) > > Hasta donde se, cada una de esas lineas va a intentar abrir el archivo. > Pruebe Ud. a ver cual es la linea que en definitiva lo esta haciendo y > elimine los que redundan o son simplemente inutiles. > > Esta es mi propuesta (Le dejo a UD probarla y demostrarla): > > # ############################## ######################### > input_file = os.path.dirname(os.path. abspath(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path. abspath(__file__)) + '/reportes' > print(output) > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > > while True: > x = input("Digite codigo de empleado (ó [SALIR] para terminar): ") > if x.lower() = 'salir'.lower(): > break > > #="8" > jasper = JasperPy() > jasper.process(input_file, output_file=output,format_ list=["pdf"], > parameters={'idenifica': (x)},db_connection=con) > #os.remove(fname) > #subprocess.Popen([file], shell=True) > > #webbrowser.open_new(r'file:// C:\manteminiento\to\reportes. pdf') > webbrowser.open_new(r'file://' + output + '.pdf') > os.startfile(filename) > os.system(filename) > # ############################## ######################### > > Los cambios mas notables son las lineas 13 a la 16, pero tambien es > importante que note la indentacion de las lineas 13 en adelante. > > Con los cambios propuestos, el archivo PDF se abr mientras su programa > vuelve a ejecutar el loop hasta que el usuario intencionalmente introduzca > la palabra 'salir'. > > Y por cierto, y en particular para gallos jugados como Ud y yo, la mejor > forma que tengo de describir la experiencia con Python es esta: > > > > Un abrazo!? > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio. solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 15:48 GMT-05:00 Roberto Matarrita : > > Buenas tardes Don Mario. > Primero que nada quiero agradecerle enormemente la ayuda que usted me ha > brindado en este problema de los reportes. A excepción de un brasileño que > me envió un poco de información, nadie, pero nadie a podido ayudarme con el > tema de los reportes. Realmente y de todo corazón yo le agradezco toda la > ayuda. Le comento estoy metido en una bronca grande como decimos por acá en > Costa Rica. Jjajajajajaja. Estoy diseñando un sistema financiero que me > contrataron y es bastante grande, lleva una buena cantidad de reportes, > incluso debo hacer impresiones directas a dos impresoras sin intervención > de la persona, es decir deben salir directamente a unas impresoras de > producción. Bueno ya veré como hago eso en su momento. Realmente yo he > estado toda mi vida en esto, ya tengo 60 años y sigo programando porque me > gusta mucho. Este lenguaje es nuevo para mi, he ido aprendiendo mucho, > poco a poco pero ahí voy. > > Tengo un par de preguntas sobre lo que me escribió. > > 1. Si es cierto lo que me dice , no se ha terminado de alzar el PDF, > cuando el programa se termina. Lo que no entiendo es como hacer para que el > ciclo se termine, ya que usted me indica que debo de incluir dentro de un > ciclo mi programa. O sea no se en que momento debo disparar la instrucción > para que este se salga del ciclo. > > 2. Me comenta que estoy abriendo de tres formas diferentes mi PDF. > Desconozco totalmente este tema, si me guía un poco sobre el tema yo haré > lo posible por solucionar el problema. > 3. Finalmente gracias por la recomendación de la clave de la base de > datos, está buena la observación para futuras publicaciones. Actualmente el > proyecto lo trabajo en una portátil, fuera del ambiente de producción, el > cual se encuentra en otro lugar. > > Muchas gracias. > > Roberto > > > El 4 de diciembre de 2017, 8:22, Mario R. Osorio > escribió: > > Buen dia Roberto, > > Claro que tiene que salirse. El llamado para abrir el archivo PDF (que por > cierto, veo que lo estas abriendo de 3 maneras diferentes cuando solo > necesitas una) es asíncrono (NO bloqueador), por lo cual la ejecución de tu > programa NO se detiene y continua hasta el fin del archivo por lo cual se > termina incluso muy seguramente antes de que el archivo PDF haya sido > abierto. > > El estilo lo eliges tu, pero tienes que poner tu codigo en un loop para > que no se salga sino hasta que tu asi lo desees. (while?) > > *POR CIERTO, AL ESCRIBIR TU ULTIMO MENSAJE EXPUSISTE LA CONTRASEÑA DEL > ADMINISTRADOR DE TU BASE DE DATOS, por lo que te recomiendo altamente que > la cambies inmediatamente.* > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solu tions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 1:29 GMT-05:00 Roberto Matarrita : > > Buenas noches Don Mario. Disculpe que le moleste, tengo un problema con > respecto al código para levantar el PDF. Todo lo hace casi perfecto, pero > cuando ejecuto el reporte desde la forma, me lo levanta, pero me saca de la > forma y tengo que volver a cargarla y ejecutar de nuevo el reporte. Es > decir me levanta el browser, pero seguidamente desconecta la forma. Alguna > Idea. > > Roberto. > > input_file = os.path.dirname(os.path.abspat h(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path.abspat h(__file__)) + '/reportes' > print(output) > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > x=input("Digite codigo de empleado :") > > #="8" > jasper = JasperPy() > jasper.process(input_file,outp ut_file=output,format_list=["p df"], > parameters={'idenifica': (x)},db_connection=con) > #os.remove(fname) > #subprocess.Popen([file],shell =True) > > #webbrowser.open_new(r'file:// C:\manteminiento\to\reportes.p df') > webbrowser.open_new(r'file://' + output + '.pdf') > os.startfile(filename) > os.system(filename) > > Después del browser se sale de la forma. > > El 29 de noviembre de 2017, 18:23, Mario R. Osorio > escribió: > > Es para mi un placer poder ayudarte. Yo llevo varios años que no programo > en Python, pero es mi lenguage favorito. La funcion popen() esta contenida > en la libreria *subprocess* > , asi que quizas solo > te falte importar esa libreria. > > Te recomiendo que pruebes las varias formas de abrir el(los) arcchivo(s) > ya que algunas podrian tener (d)efectos indeseados. *Tengo entendido* que > la forma mas *correcta* es utilizando popen(), Pero yo pienso que lo > *correcto*, a veces, esta en contraposicion a lo *desado*. > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solu tions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-11-29 17:45 GMT-05:00 Roberto Matarrita : > > Don Mario, me funcionó el proceso, pude ver el reporte en la pantalla. > Usted no sabe cuanto me ha costado hacer esto, llevo meses, buscando en > Internet, documentación, gente que me dijera como podía hacer un reporte en > python y realmente nadie me decía como hacerlos, a excepción de las > herramientas que le mencioné. > > Gracias por ayudarme a dar el último paso que necesitaba para ver reportes > en pantalla de una aplicación de escritorio. Ya los puedo tirar a PDF, > Word,Excell,TXT y muchos otros formatos. Ahora es cuestión de afinarlo. > > 1. Una última consulta, usted como hace los reportes en python. > 2. Que hace esta instrucción que me dio error y tuve que ponerla en > comentario. subprocess.Popen([ file],shell=True) > > > Roberto. > > El 29 de noviembre de 2017, 10:38, Mario R. Osorio > escribió: > > Desconozco el producto JasperReport. Sin embargo, si ya tienes el archivo > PDF, solo te falta abrirlo, y hay varias formas de hacerlo; entre ellas: > > > - > - subprocess.Popen([file],shell= True) > - > > import webbrowser > webbrowser.open_new(r'file://C :\path\to\file.pdf') > > - > > import os > os.startfile(filename) > > - > > os.system(filename) > > - > > > > > Tambien podrias hacer uso de varias librerias para manipulacion de > archivos PDF > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solu tions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-11-28 22:21 GMT-05:00 Roberto Matarrita : > > Buenas noches. Ya llevo varios meses tratando de aprender a realizar > reportes en Python. He buscado reporteadores, documentación respecto al > tema, pero al parecer es bastante escasa. Vi reportlab, pandas y otros, > pero todos son para confeccionar a puro código. Observé un par de > reporeteadores gráficos, entre ellos JasperReport, muy bueno y completo. > Me enviaron el código que abajo describo, el cual logré que funcionara, se > conecta a la base de datos, envía parámetros y hace el reporte. > Pero tengo el gran problema que no he podido ya que desconozco como > hacerlo y la persona que me envió el código, tampoco ha podido ayudarme y > es como hacer para ver el reporte en pantalla. Es decir un preview. > > Es decir como hago para ver el reporte en la pantalla, para que el > usuakrio escoja la impresora, o bien si lo va a enviar a un PDF, Word o > Excel. Ya que el código lo que hace es grabar directamente el reporte al > disco. > Mucho agradecería la ayuda, o bien sujerencias para los reportes ya que > estoy en un proyecto muy grande y este ha sido el talón de aquiles en > Python, los reportes. Si alguien conoce del tema. > > Gracias. > > Describo el código. > > import sys > import os > import PyPDF2 > import pyjasper > from platform import python_version > from pyjasper.jasperpy import JasperPy > from PyPDF2 import PdfFileMerger,PdfFileReader > > #def advanced_example_using_databas e(): > input_file = os.path.dirname(os.path.abspat h(__file__)) + '/report4.jrxml' > output = os.path.dirname(os.path.abspat h(__file__)) + '/reportes' > print(input_file) > print(output) > > con = { > 'driver': 'postgres', > 'username': 'postgres', > 'password': 'Administra8080', > 'host': 'localhost', > 'database': 'municipal', > 'port':'5432' > } > x=input("Digite codigo de empleado :") > jasper = JasperPy() > jasper.process(input_file,outp ut_file=output,format_list=["p df"], > parameters={'idenifica': (x)},db_connection=con) #Aquí se confecciona el > reporte. > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/ mailman/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: python.png Type: image/png Size: 90835 bytes Desc: no disponible URL: From tres.14159 en gmail.com Sat Dec 9 11:50:08 2017 From: tres.14159 en gmail.com (Miguel de Dios Matias) Date: Sat, 9 Dec 2017 17:50:08 +0100 Subject: [Python-es] =?utf-8?q?=C2=BFconocen_alguna_librer=C3=ADa_que_ten?= =?utf-8?q?ga_comunicaci=C3=B3n_uci_o_algun_tipo_de_ia_de_ajedrez_q?= =?utf-8?q?ue_me_puedan_sugerir=3F?= In-Reply-To: References: Message-ID: Buenas. También puedes conectarlo con https://es.wikipedia.org/wiki/GNU_Chess que tiene un interfaz en texto que lo puedes parsear bastante bien. Saludos. El 4 de diciembre de 2017, 23:18, Miguel Barraza < miguelbarraza2015 en gmail.com> escribió: > muchas gracias por todas las fuentes!. > me pondré a leerlas*.* > > *un proyecto que me pareció interesante que tiene ia es **sunfish:* > https://github.com/thomasahle/sunfish > > esta maneja las coordenadas de forma rara, pero me funcionó. > igual estaré revisando todo el resto. Gracias! > > atte, Miguel > > *Subject:* Re: [Python-es] ¿conocen alguna librería que tenga > comunicación uci o algun tipo de ia de ajedrez que me puedan sugerir? > > > Algunos recursos: > > > - https://pypi.python.org/pypi/python-chess > - http://pygame.org/project-Python+Chess-1099-.html > - http://code.google.com/p/chess-free > - http://mariobalibrera.com/mics/ai.html > - https://sites.google.com/site/pychess/ > - https://media.readthedocs.org/pdf/python-chess/latest/ > python-chess.pdf > - http://chessforeva.blogspot.com/2011/02/lua-chess-engine.html > - http://en.wikipedia.org/wiki/Universal_Chess_Interface > - http://www.chessbin.com/ > - https://en.wikipedia.org/wiki/Chess_engine#Interface_protocol > > > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-04 15:46 GMT-05:00 Miguel Barraza : > >> ¡Buenas comunidad!. >> con un amigo estamos desarrollando un motor de juego de mesa en el cual >> tiene el ajedrez, entre otros, con pilas engine. y estoy trabado en la >> implementación de una ia que permita jugar un jugador contra la máquina. >> >> ¿conocen algun módulo o librería que permita comunicarse via uci o xboard >> con chess engine?, o alguno que implemente alguna ia de ajedrez?. >> probé varias pero no logro hacerlas andar. y algunas no corren en windows. >> la última que probé fue python-chess, pero no pude conectarme via uci a >> un engine. >> >> agradezco sugerencias. >> ¡un saludo!. >> >> atte, Miguel >> >> >> Libre >> de virus. www.avast.com >> >> <#m_-4679162186795427573_m_-736982920637029151_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > ------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From diego.uribe.gamez en gmail.com Mon Dec 11 18:02:32 2017 From: diego.uribe.gamez en gmail.com (DiegoUG) Date: Mon, 11 Dec 2017 18:02:32 -0500 Subject: [Python-es] Django que parametros se usaron en un queryset? Message-ID: hola, disculpa la pregunta en el grupo de python, tengo un objeto de tipo queryset, debido a que fue consultado desde una url del admin, http://localhost:4056/admin/app/model/?&day__gte=2017-12- 03&day__lte=2017-12-11 lo que necesito es que desde el backend yo pueda interceptar los parametros y realizar una acción antes de la búsqueda yo hice un model manager que lo que hace es atrapar el queryset, pero no logro ver como obtener los parametros que fueron usados, alguna idea? -- *Diego Alonso Uribe Gamez* ------------------------------ *Desarrollador web* Twitter: @DiegoUG Google+: +DiegoAlonsoUribeGamez ------------------------------ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Tue Dec 12 12:19:40 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Tue, 12 Dec 2017 11:19:40 -0600 Subject: [Python-es] Consultar Datos en Python. Message-ID: Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el código, o bien me puedan ayudar. En la realización de mi proyecto financiero, tengo un módulo que es de Información General, ahí se ingresan una gran cantidad de datos generales. Entre ellos existe un módulo de clientes, donde se registra toda la información de los clientes y se consultan los mismos. Aprenderse los códigos de los clientes es bastante difícil y tedioso. La idea es la siguiente, estando en el campo código cliente, si se da enter por ejemplo y este campo está vació, desplegar una pantalla donde salen todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre del cliente o bien el apellido, el cursor se debe posicionar en la primera ocurrencia que va encontrando, con forme se va digitando la información. Esto me permite localizar más rápidamente el nombre y código de un cliente. Para los que trabajaron con Oracle, son las famosas listas de valores. Mucho agradecería me pudieran ayudar con esta información, o bien ideas para realizar el proceso, desconozco si en Python ya existen librerías que realizan lo solicitado. Gracias. Roberto ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nimbiotics en gmail.com Tue Dec 12 16:17:03 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Tue, 12 Dec 2017 16:17:03 -0500 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: No creo que sea posible contestarte sin que nos des informacion sobre tu aplicacion. Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el framework que utilizas, pero si es una aplicacion de escritorio tendrias que indicar si es de consola o decirnos cual libreria estas utilizando para el GUI. Tambien podria ser util saber si estas utilizando algun ORM y cual. Es posible que se necesiten algunos otros detalles, pero esa informacion es un punto solido para iniciar. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : > Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el > código, o bien me puedan ayudar. > > En la realización de mi proyecto financiero, tengo un módulo que es de > Información General, ahí se ingresan una gran cantidad de datos generales. > Entre ellos existe un módulo de clientes, donde se registra toda la > información de los clientes y se consultan los mismos. > > Aprenderse los códigos de los clientes es bastante difícil y tedioso. La > idea es la siguiente, estando en el campo código cliente, si se da enter > por ejemplo y este campo está vació, desplegar una pantalla donde salen > todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre > del cliente o bien el apellido, el cursor se debe posicionar en la primera > ocurrencia que va encontrando, con forme se va digitando la información. > Esto me permite localizar más rápidamente el nombre y código de un cliente. > > Para los que trabajaron con Oracle, son las famosas listas de valores. > > Mucho agradecería me pudieran ayudar con esta información, o bien ideas > para realizar el proceso, desconozco si en Python ya existen librerías > que realizan lo solicitado. > > Gracias. > > Roberto > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Tue Dec 12 16:25:46 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Tue, 12 Dec 2017 15:25:46 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Perfecto Don Mario, omití esos detalles. 1. La aplicación es de escritorio, hecha en Python 3.5 2. La base de datos es PostgreSQL. 3. Para el diseño de las pantallas estoy utilizando PYQT5. 4. La aplicación no es de tipo consola. Gracias. Roberto. El 12 de diciembre de 2017, 15:17, Mario R. Osorio escribió: > No creo que sea posible contestarte sin que nos des informacion sobre tu > aplicacion. > > Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el > framework que utilizas, pero si es una aplicacion de escritorio tendrias > que indicar si es de consola o decirnos cual libreria estas utilizando para > el GUI. > > Tambien podria ser util saber si estas utilizando algun ORM y cual. > > Es posible que se necesiten algunos otros detalles, pero esa informacion > es un punto solido para iniciar. > > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : > >> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el >> código, o bien me puedan ayudar. >> >> En la realización de mi proyecto financiero, tengo un módulo que es de >> Información General, ahí se ingresan una gran cantidad de datos generales. >> Entre ellos existe un módulo de clientes, donde se registra toda la >> información de los clientes y se consultan los mismos. >> >> Aprenderse los códigos de los clientes es bastante difícil y tedioso. La >> idea es la siguiente, estando en el campo código cliente, si se da enter >> por ejemplo y este campo está vació, desplegar una pantalla donde salen >> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >> del cliente o bien el apellido, el cursor se debe posicionar en la primera >> ocurrencia que va encontrando, con forme se va digitando la información. >> Esto me permite localizar más rápidamente el nombre y código de un cliente. >> >> Para los que trabajaron con Oracle, son las famosas listas de valores. >> >> Mucho agradecería me pudieran ayudar con esta información, o bien ideas >> para realizar el proceso, desconozco si en Python ya existen librerías >> que realizan lo solicitado. >> >> Gracias. >> >> Roberto >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nimbiotics en gmail.com Wed Dec 13 09:03:14 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Wed, 13 Dec 2017 09:03:14 -0500 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas es el control *ComboBox* de Qt. Aca esta la lista completa de *Qt Quick Controls* . En otro orden de ideas, y aunque no me estas preguntando; estoy seguro que te trivializes un montón de dolores de cabeza utilizando algún framework. De esa manera no tundras que inventar la rueda de nuevo. Para eso te invito a que analices estas dos excelentes herramientas: - *Dabo:* Es un framework 3-tier para aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en una aplicación web.. - *Tryton:* Otro framework 3-tier para aplicaciones de escritorio, super completo que viene ya con módulos de contabilidad, facturación, ventas, inventario, gerencia de proyectos y otros mas. Adicionalmente, existe un proyecto que te permite convertir una aplicación Tryton en a una aplicación web (*Tryton nereid *). Ahora bien, si tienes una base de datos compartida con otras aplicaciones, este podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido que existen módulos que permite utilizar otras bases de datos. En lo personal, PostgreSQL es mi caballito de batalla preferido. La posibilidad de convertir cualquier aplicación de escritorio en una aplicación web es una bendición ya que muchas veces me he encontrado con esa necesidad. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : > Perfecto Don Mario, omití esos detalles. > > 1. La aplicación es de escritorio, hecha en Python 3.5 > 2. La base de datos es PostgreSQL. > 3. Para el diseño de las pantallas estoy utilizando PYQT5. > 4. La aplicación no es de tipo consola. > > Gracias. > > Roberto. > > > El 12 de diciembre de 2017, 15:17, Mario R. Osorio > escribió: > >> No creo que sea posible contestarte sin que nos des informacion sobre tu >> aplicacion. >> >> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >> framework que utilizas, pero si es una aplicacion de escritorio tendrias >> que indicar si es de consola o decirnos cual libreria estas utilizando para >> el GUI. >> >> Tambien podria ser util saber si estas utilizando algun ORM y cual. >> >> Es posible que se necesiten algunos otros detalles, pero esa informacion >> es un punto solido para iniciar. >> >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >> >>> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene >>> el código, o bien me puedan ayudar. >>> >>> En la realización de mi proyecto financiero, tengo un módulo que es de >>> Información General, ahí se ingresan una gran cantidad de datos generales. >>> Entre ellos existe un módulo de clientes, donde se registra toda la >>> información de los clientes y se consultan los mismos. >>> >>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. La >>> idea es la siguiente, estando en el campo código cliente, si se da enter >>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>> ocurrencia que va encontrando, con forme se va digitando la información. >>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>> >>> Para los que trabajaron con Oracle, son las famosas listas de valores. >>> >>> Mucho agradecería me pudieran ayudar con esta información, o bien ideas >>> para realizar el proceso, desconozco si en Python ya existen librerías >>> que realizan lo solicitado. >>> >>> Gracias. >>> >>> Roberto >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Wed Dec 13 14:59:28 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Wed, 13 Dec 2017 13:59:28 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy en la fase de diseño de las tablas en la base de datos Postgresql. Es un proyecto que involucra, información general del cliente, cuentas por cobrar y pagar, compras, inventarios, rutas, facturación y finalmente contabilidad, para integrar todos los módulos. En realidad yo siempre trabajé para compañías desarrolladoras y hace un año que estoy trabajando solo y tengo la oportunidad de desarrollar todos estos módulos, es un reto muy grande y una oportunidad muy buena que se me ha presentado. De aquí que nacen todas estas consultas y posiblemente haré otro montón más. De antemano le agradezco a usted y a toda la gente que me ha estado apoyando en todo este proceso. Muchas gracias. Roberto. El 13 de diciembre de 2017, 8:03, Mario R. Osorio escribió: > Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas es > el control *ComboBox* > de Qt. Aca > esta la lista completa de *Qt Quick Controls* > . > > En otro orden de ideas, y aunque no me estas preguntando; estoy seguro que > te trivializes un montón de dolores de cabeza utilizando algún framework. > De esa manera no tundras que inventar la rueda de nuevo. > > Para eso te invito a que analices estas dos excelentes herramientas: > > - *Dabo:* Es un framework 3-tier para > aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado > en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo > intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en > una aplicación web.. > - *Tryton:* Otro framework 3-tier para > aplicaciones de escritorio, super completo que viene ya con módulos de > contabilidad, facturación, ventas, inventario, gerencia de proyectos y > otros mas. Adicionalmente, existe un proyecto que te permite convertir una > aplicación Tryton en a una aplicación web (*Tryton nereid > *). Ahora > bien, si tienes una base de datos compartida con otras aplicaciones, este > podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido > que existen módulos que permite utilizar otras bases de datos. En lo > personal, PostgreSQL es mi caballito de batalla preferido. > > La posibilidad de convertir cualquier aplicación de escritorio en una > aplicación web es una bendición ya que muchas veces me he encontrado con > esa necesidad. > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : > >> Perfecto Don Mario, omití esos detalles. >> >> 1. La aplicación es de escritorio, hecha en Python 3.5 >> 2. La base de datos es PostgreSQL. >> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >> 4. La aplicación no es de tipo consola. >> >> Gracias. >> >> Roberto. >> >> >> El 12 de diciembre de 2017, 15:17, Mario R. Osorio >> escribió: >> >>> No creo que sea posible contestarte sin que nos des informacion sobre tu >>> aplicacion. >>> >>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>> el GUI. >>> >>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>> >>> Es posible que se necesiten algunos otros detalles, pero esa informacion >>> es un punto solido para iniciar. >>> >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>> >>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene >>>> el código, o bien me puedan ayudar. >>>> >>>> En la realización de mi proyecto financiero, tengo un módulo que es de >>>> Información General, ahí se ingresan una gran cantidad de datos generales. >>>> Entre ellos existe un módulo de clientes, donde se registra toda la >>>> información de los clientes y se consultan los mismos. >>>> >>>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. >>>> La idea es la siguiente, estando en el campo código cliente, si se da enter >>>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>>> ocurrencia que va encontrando, con forme se va digitando la información. >>>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>>> >>>> Para los que trabajaron con Oracle, son las famosas listas de valores. >>>> >>>> Mucho agradecería me pudieran ayudar con esta información, o bien ideas >>>> para realizar el proceso, desconozco si en Python ya existen librerías >>>> que realizan lo solicitado. >>>> >>>> Gracias. >>>> >>>> Roberto >>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nimbiotics en gmail.com Wed Dec 13 15:05:14 2017 From: nimbiotics en gmail.com (Mario R. Osorio) Date: Wed, 13 Dec 2017 15:05:14 -0500 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Es para mi un gusto poder serle util. Por cierto, la descripcion del sistema que Usted hace describe a Tryton; creo que le cae como anillo al dedo. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-13 14:59 GMT-05:00 Roberto Matarrita : > Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo > que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy > en la fase de diseño de las tablas en la base de datos Postgresql. Es un > proyecto que involucra, información general del cliente, cuentas por cobrar > y pagar, compras, inventarios, rutas, facturación y finalmente > contabilidad, para integrar todos los módulos. > > En realidad yo siempre trabajé para compañías desarrolladoras y hace un > año que estoy trabajando solo y tengo la oportunidad de desarrollar todos > estos módulos, es un reto muy grande y una oportunidad muy buena que se me > ha presentado. De aquí que nacen todas estas consultas y posiblemente haré > otro montón más. De antemano le agradezco a usted y a toda la gente que me > ha estado apoyando en todo este proceso. > > Muchas gracias. > > Roberto. > > El 13 de diciembre de 2017, 8:03, Mario R. Osorio > escribió: > >> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >> es el control *ComboBox* >> de Qt. Aca >> esta la lista completa de *Qt Quick Controls* >> . >> >> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >> que te trivializes un montón de dolores de cabeza utilizando algún >> framework. De esa manera no tundras que inventar la rueda de nuevo. >> >> Para eso te invito a que analices estas dos excelentes herramientas: >> >> - *Dabo:* Es un framework 3-tier para >> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >> una aplicación web.. >> - *Tryton:* Otro framework 3-tier para >> aplicaciones de escritorio, super completo que viene ya con módulos de >> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >> aplicación Tryton en a una aplicación web (*Tryton nereid >> *). Ahora >> bien, si tienes una base de datos compartida con otras aplicaciones, este >> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >> que existen módulos que permite utilizar otras bases de datos. En lo >> personal, PostgreSQL es mi caballito de batalla preferido. >> >> La posibilidad de convertir cualquier aplicación de escritorio en una >> aplicación web es una bendición ya que muchas veces me he encontrado con >> esa necesidad. >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >> >>> Perfecto Don Mario, omití esos detalles. >>> >>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>> 2. La base de datos es PostgreSQL. >>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>> 4. La aplicación no es de tipo consola. >>> >>> Gracias. >>> >>> Roberto. >>> >>> >>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio >> > escribió: >>> >>>> No creo que sea posible contestarte sin que nos des informacion sobre >>>> tu aplicacion. >>>> >>>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>>> el GUI. >>>> >>>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>>> >>>> Es posible que se necesiten algunos otros detalles, pero esa >>>> informacion es un punto solido para iniciar. >>>> >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>>> >>>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene >>>>> el código, o bien me puedan ayudar. >>>>> >>>>> En la realización de mi proyecto financiero, tengo un módulo que es de >>>>> Información General, ahí se ingresan una gran cantidad de datos generales. >>>>> Entre ellos existe un módulo de clientes, donde se registra toda la >>>>> información de los clientes y se consultan los mismos. >>>>> >>>>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. >>>>> La idea es la siguiente, estando en el campo código cliente, si se da enter >>>>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>>>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>>>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>>>> ocurrencia que va encontrando, con forme se va digitando la información. >>>>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>>>> >>>>> Para los que trabajaron con Oracle, son las famosas listas de >>>>> valores. >>>>> >>>>> Mucho agradecería me pudieran ayudar con esta información, o bien >>>>> ideas para realizar el proceso, desconozco si en Python ya existen >>>>> librerías que realizan lo solicitado. >>>>> >>>>> Gracias. >>>>> >>>>> Roberto >>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From sanreikaj.foros en gmail.com Wed Dec 13 15:10:28 2017 From: sanreikaj.foros en gmail.com (Alvaro Manrique) Date: Wed, 13 Dec 2017 16:10:28 -0400 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Una pequeña sugerencia... Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que ya tiene todo lo que necesitas y además Web, de esa manera te concentras a expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más rápido en el proyecto con lo que ganas tú y también tú cliente. Sí no te interesa en el entorno web (que no debería ser así por los múltiples beneficios) ya te recomendaron arriba Tryton. Saludos. [1] https://www.odoo.com -------------------------------------------------------------- Alvaro Manrique Programador El dic. 13, 2017 3:59 PM, "Roberto Matarrita" escribió: > Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo > que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy > en la fase de diseño de las tablas en la base de datos Postgresql. Es un > proyecto que involucra, información general del cliente, cuentas por cobrar > y pagar, compras, inventarios, rutas, facturación y finalmente > contabilidad, para integrar todos los módulos. > > En realidad yo siempre trabajé para compañías desarrolladoras y hace un > año que estoy trabajando solo y tengo la oportunidad de desarrollar todos > estos módulos, es un reto muy grande y una oportunidad muy buena que se me > ha presentado. De aquí que nacen todas estas consultas y posiblemente haré > otro montón más. De antemano le agradezco a usted y a toda la gente que me > ha estado apoyando en todo este proceso. > > Muchas gracias. > > Roberto. > > El 13 de diciembre de 2017, 8:03, Mario R. Osorio > escribió: > >> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >> es el control *ComboBox* >> de Qt. Aca >> esta la lista completa de *Qt Quick Controls* >> . >> >> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >> que te trivializes un montón de dolores de cabeza utilizando algún >> framework. De esa manera no tundras que inventar la rueda de nuevo. >> >> Para eso te invito a que analices estas dos excelentes herramientas: >> >> - *Dabo:* Es un framework 3-tier para >> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >> una aplicación web.. >> - *Tryton:* Otro framework 3-tier para >> aplicaciones de escritorio, super completo que viene ya con módulos de >> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >> aplicación Tryton en a una aplicación web (*Tryton nereid >> *). Ahora >> bien, si tienes una base de datos compartida con otras aplicaciones, este >> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >> que existen módulos que permite utilizar otras bases de datos. En lo >> personal, PostgreSQL es mi caballito de batalla preferido. >> >> La posibilidad de convertir cualquier aplicación de escritorio en una >> aplicación web es una bendición ya que muchas veces me he encontrado con >> esa necesidad. >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >> >>> Perfecto Don Mario, omití esos detalles. >>> >>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>> 2. La base de datos es PostgreSQL. >>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>> 4. La aplicación no es de tipo consola. >>> >>> Gracias. >>> >>> Roberto. >>> >>> >>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio >> > escribió: >>> >>>> No creo que sea posible contestarte sin que nos des informacion sobre >>>> tu aplicacion. >>>> >>>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>>> el GUI. >>>> >>>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>>> >>>> Es posible que se necesiten algunos otros detalles, pero esa >>>> informacion es un punto solido para iniciar. >>>> >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>>> >>>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene >>>>> el código, o bien me puedan ayudar. >>>>> >>>>> En la realización de mi proyecto financiero, tengo un módulo que es de >>>>> Información General, ahí se ingresan una gran cantidad de datos generales. >>>>> Entre ellos existe un módulo de clientes, donde se registra toda la >>>>> información de los clientes y se consultan los mismos. >>>>> >>>>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. >>>>> La idea es la siguiente, estando en el campo código cliente, si se da enter >>>>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>>>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>>>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>>>> ocurrencia que va encontrando, con forme se va digitando la información. >>>>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>>>> >>>>> Para los que trabajaron con Oracle, son las famosas listas de >>>>> valores. >>>>> >>>>> Mucho agradecería me pudieran ayudar con esta información, o bien >>>>> ideas para realizar el proceso, desconozco si en Python ya existen >>>>> librerías que realizan lo solicitado. >>>>> >>>>> Gracias. >>>>> >>>>> Roberto >>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Wed Dec 13 15:26:57 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Wed, 13 Dec 2017 14:26:57 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Si voy a estudiarlo a ver que tal es, yo he estado haciendo las pantallas en PYQT5 y gracias de nuevo Don Mario. Voy a estudiar también el combobox, para conocer el funcionamiento, ya que es muy importante levantar estas listas de datos. Gracias. Roberto. El 13 de diciembre de 2017, 14:05, Mario R. Osorio escribió: > Es para mi un gusto poder serle util. Por cierto, la descripcion del > sistema que Usted hace describe a Tryton; creo que le cae como anillo al > dedo. > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-13 14:59 GMT-05:00 Roberto Matarrita : > >> Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo >> que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy >> en la fase de diseño de las tablas en la base de datos Postgresql. Es un >> proyecto que involucra, información general del cliente, cuentas por cobrar >> y pagar, compras, inventarios, rutas, facturación y finalmente >> contabilidad, para integrar todos los módulos. >> >> En realidad yo siempre trabajé para compañías desarrolladoras y hace un >> año que estoy trabajando solo y tengo la oportunidad de desarrollar todos >> estos módulos, es un reto muy grande y una oportunidad muy buena que se me >> ha presentado. De aquí que nacen todas estas consultas y posiblemente haré >> otro montón más. De antemano le agradezco a usted y a toda la gente que me >> ha estado apoyando en todo este proceso. >> >> Muchas gracias. >> >> Roberto. >> >> El 13 de diciembre de 2017, 8:03, Mario R. Osorio >> escribió: >> >>> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >>> es el control *ComboBox* >>> de Qt. Aca >>> esta la lista completa de *Qt Quick Controls* >>> . >>> >>> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >>> que te trivializes un montón de dolores de cabeza utilizando algún >>> framework. De esa manera no tundras que inventar la rueda de nuevo. >>> >>> Para eso te invito a que analices estas dos excelentes herramientas: >>> >>> - *Dabo:* Es un framework 3-tier para >>> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >>> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >>> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >>> una aplicación web.. >>> - *Tryton:* Otro framework 3-tier para >>> aplicaciones de escritorio, super completo que viene ya con módulos de >>> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >>> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >>> aplicación Tryton en a una aplicación web (*Tryton nereid >>> *). Ahora >>> bien, si tienes una base de datos compartida con otras aplicaciones, este >>> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >>> que existen módulos que permite utilizar otras bases de datos. En lo >>> personal, PostgreSQL es mi caballito de batalla preferido. >>> >>> La posibilidad de convertir cualquier aplicación de escritorio en una >>> aplicación web es una bendición ya que muchas veces me he encontrado con >>> esa necesidad. >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >>> >>>> Perfecto Don Mario, omití esos detalles. >>>> >>>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>>> 2. La base de datos es PostgreSQL. >>>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>>> 4. La aplicación no es de tipo consola. >>>> >>>> Gracias. >>>> >>>> Roberto. >>>> >>>> >>>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio < >>>> nimbiotics en gmail.com> escribió: >>>> >>>>> No creo que sea posible contestarte sin que nos des informacion sobre >>>>> tu aplicacion. >>>>> >>>>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>>>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>>>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>>>> el GUI. >>>>> >>>>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>>>> >>>>> Es posible que se necesiten algunos otros detalles, pero esa >>>>> informacion es un punto solido para iniciar. >>>>> >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien >>>>>> tiene el código, o bien me puedan ayudar. >>>>>> >>>>>> En la realización de mi proyecto financiero, tengo un módulo que es >>>>>> de Información General, ahí se ingresan una gran cantidad de datos >>>>>> generales. Entre ellos existe un módulo de clientes, donde se registra toda >>>>>> la información de los clientes y se consultan los mismos. >>>>>> >>>>>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. >>>>>> La idea es la siguiente, estando en el campo código cliente, si se da enter >>>>>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>>>>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>>>>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>>>>> ocurrencia que va encontrando, con forme se va digitando la información. >>>>>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>>>>> >>>>>> Para los que trabajaron con Oracle, son las famosas listas de >>>>>> valores. >>>>>> >>>>>> Mucho agradecería me pudieran ayudar con esta información, o bien >>>>>> ideas para realizar el proceso, desconozco si en Python ya existen >>>>>> librerías que realizan lo solicitado. >>>>>> >>>>>> Gracias. >>>>>> >>>>>> Roberto >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From mlacunza en gmail.com Wed Dec 13 15:37:31 2017 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 13 Dec 2017 15:37:31 -0500 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Nota: estuve leyendo el hilo, has comprobado q la licencia de Qt5 y del wrapper te permita hacer ese tipo de aplicación q planeas?? cuál wrapper estás usando? Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Skype: mlacunzav Lima - Peru El 13 de diciembre de 2017, 15:26, Roberto Matarrita escribió: > Si voy a estudiarlo a ver que tal es, yo he estado haciendo las pantallas > en PYQT5 y gracias de nuevo Don Mario. > Voy a estudiar también el combobox, para conocer el funcionamiento, ya que > es muy importante levantar estas listas de datos. > > > Gracias. > Roberto. > > > > El 13 de diciembre de 2017, 14:05, Mario R. Osorio > escribió: > >> Es para mi un gusto poder serle util. Por cierto, la descripcion del >> sistema que Usted hace describe a Tryton; creo que le cae como anillo al >> dedo. >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solutions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-13 14:59 GMT-05:00 Roberto Matarrita : >> >>> Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo >>> que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy >>> en la fase de diseño de las tablas en la base de datos Postgresql. Es un >>> proyecto que involucra, información general del cliente, cuentas por cobrar >>> y pagar, compras, inventarios, rutas, facturación y finalmente >>> contabilidad, para integrar todos los módulos. >>> >>> En realidad yo siempre trabajé para compañías desarrolladoras y hace un >>> año que estoy trabajando solo y tengo la oportunidad de desarrollar todos >>> estos módulos, es un reto muy grande y una oportunidad muy buena que se me >>> ha presentado. De aquí que nacen todas estas consultas y posiblemente haré >>> otro montón más. De antemano le agradezco a usted y a toda la gente que me >>> ha estado apoyando en todo este proceso. >>> >>> Muchas gracias. >>> >>> Roberto. >>> >>> El 13 de diciembre de 2017, 8:03, Mario R. Osorio >>> escribió: >>> >>>> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >>>> es el control *ComboBox* >>>> de Qt. Aca >>>> esta la lista completa de *Qt Quick Controls* >>>> . >>>> >>>> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >>>> que te trivializes un montón de dolores de cabeza utilizando algún >>>> framework. De esa manera no tundras que inventar la rueda de nuevo. >>>> >>>> Para eso te invito a que analices estas dos excelentes herramientas: >>>> >>>> - *Dabo:* Es un framework 3-tier para >>>> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >>>> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >>>> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >>>> una aplicación web.. >>>> - *Tryton:* Otro framework 3-tier para >>>> aplicaciones de escritorio, super completo que viene ya con módulos de >>>> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >>>> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >>>> aplicación Tryton en a una aplicación web (*Tryton nereid >>>> *). Ahora >>>> bien, si tienes una base de datos compartida con otras aplicaciones, este >>>> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >>>> que existen módulos que permite utilizar otras bases de datos. En lo >>>> personal, PostgreSQL es mi caballito de batalla preferido. >>>> >>>> La posibilidad de convertir cualquier aplicación de escritorio en una >>>> aplicación web es una bendición ya que muchas veces me he encontrado con >>>> esa necesidad. >>>> >>>> >>>> Dtb/Gby >>>> ======= >>>> Mario R. Osorio >>>> A.S. of Computer Programming and Analysis >>>> Web page: *http;//mario.osorio.solutions >>>> * >>>> Email: *mario en osorio.solutions* >>>> *Just Choose Python!* >>>> >>>> >>>> ?If I had asked people what they wanted, they would have said faster >>>> horses.? >>>> ? Henry Ford >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >>>> >>>>> Perfecto Don Mario, omití esos detalles. >>>>> >>>>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>>>> 2. La base de datos es PostgreSQL. >>>>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>>>> 4. La aplicación no es de tipo consola. >>>>> >>>>> Gracias. >>>>> >>>>> Roberto. >>>>> >>>>> >>>>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio < >>>>> nimbiotics en gmail.com> escribió: >>>>> >>>>>> No creo que sea posible contestarte sin que nos des informacion sobre >>>>>> tu aplicacion. >>>>>> >>>>>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras >>>>>> el framework que utilizas, pero si es una aplicacion de escritorio tendrias >>>>>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>>>>> el GUI. >>>>>> >>>>>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>>>>> >>>>>> Es posible que se necesiten algunos otros detalles, pero esa >>>>>> informacion es un punto solido para iniciar. >>>>>> >>>>>> >>>>>> >>>>>> Dtb/Gby >>>>>> ======= >>>>>> Mario R. Osorio >>>>>> A.S. of Computer Programming and Analysis >>>>>> Web page: *http;//mario.osorio.solutions >>>>>> * >>>>>> Email: *mario en osorio.solutions* >>>>>> *Just Choose Python!* >>>>>> >>>>>> >>>>>> ?If I had asked people what they wanted, they would have said faster >>>>>> horses.? >>>>>> ? Henry Ford >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>>>>> >>>>>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien >>>>>>> tiene el código, o bien me puedan ayudar. >>>>>>> >>>>>>> En la realización de mi proyecto financiero, tengo un módulo que es >>>>>>> de Información General, ahí se ingresan una gran cantidad de datos >>>>>>> generales. Entre ellos existe un módulo de clientes, donde se registra toda >>>>>>> la información de los clientes y se consultan los mismos. >>>>>>> >>>>>>> Aprenderse los códigos de los clientes es bastante difícil y >>>>>>> tedioso. La idea es la siguiente, estando en el campo código cliente, si se >>>>>>> da enter por ejemplo y este campo está vació, desplegar una pantalla donde >>>>>>> salen todos los clientes. Seguidamente si yo voy digitado, por ejemplo el >>>>>>> nombre del cliente o bien el apellido, el cursor se debe posicionar en la >>>>>>> primera ocurrencia que va encontrando, con forme se va digitando la >>>>>>> información. Esto me permite localizar más rápidamente el nombre y código >>>>>>> de un cliente. >>>>>>> >>>>>>> Para los que trabajaron con Oracle, son las famosas listas de >>>>>>> valores. >>>>>>> >>>>>>> Mucho agradecería me pudieran ayudar con esta información, o bien >>>>>>> ideas para realizar el proceso, desconozco si en Python ya existen >>>>>>> librerías que realizan lo solicitado. >>>>>>> >>>>>>> Gracias. >>>>>>> >>>>>>> Roberto >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es en python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From mlacunza en gmail.com Wed Dec 13 17:22:17 2017 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 13 Dec 2017 17:22:17 -0500 Subject: [Python-es] Informacion. In-Reply-To: References: Message-ID: revisa la del wrapper xq Pyside si te permite todo pero no está lo suficiente desarrollado para lo q vas a hacer, x eso yo prefiero wxPython, pero si usas Pyqt debes comprar licencia. Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Skype: mlacunzav Lima - Peru El 13 de diciembre de 2017, 17:20, Roberto Matarrita escribió: > Buenas tardes Don Mario Lacunza. Hasta donde he visto y consultado las > licencias de PYQT5, que tengo instala, si me permite hacer este desarrollo. > > Roberto. > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Wed Dec 13 17:27:58 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Wed, 13 Dec 2017 16:27:58 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: Gracias Don Alvaro, toda recomendación es buena para este proyecto que es muy importante para mi persona. Roberto. El 13 de diciembre de 2017, 14:10, Alvaro Manrique < sanreikaj.foros en gmail.com> escribió: > Una pequeña sugerencia... > > Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que > ya tiene todo lo que necesitas y además Web, de esa manera te concentras a > expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más > rápido en el proyecto con lo que ganas tú y también tú cliente. > > Sí no te interesa en el entorno web (que no debería ser así por los > múltiples beneficios) ya te recomendaron arriba Tryton. > > Saludos. > > [1] https://www.odoo.com > > -------------------------------------------------------------- > Alvaro Manrique > Programador > > El dic. 13, 2017 3:59 PM, "Roberto Matarrita" > escribió: > >> Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo >> que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy >> en la fase de diseño de las tablas en la base de datos Postgresql. Es un >> proyecto que involucra, información general del cliente, cuentas por cobrar >> y pagar, compras, inventarios, rutas, facturación y finalmente >> contabilidad, para integrar todos los módulos. >> >> En realidad yo siempre trabajé para compañías desarrolladoras y hace un >> año que estoy trabajando solo y tengo la oportunidad de desarrollar todos >> estos módulos, es un reto muy grande y una oportunidad muy buena que se me >> ha presentado. De aquí que nacen todas estas consultas y posiblemente haré >> otro montón más. De antemano le agradezco a usted y a toda la gente que me >> ha estado apoyando en todo este proceso. >> >> Muchas gracias. >> >> Roberto. >> >> El 13 de diciembre de 2017, 8:03, Mario R. Osorio >> escribió: >> >>> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >>> es el control *ComboBox* >>> de Qt. Aca >>> esta la lista completa de *Qt Quick Controls* >>> . >>> >>> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >>> que te trivializes un montón de dolores de cabeza utilizando algún >>> framework. De esa manera no tundras que inventar la rueda de nuevo. >>> >>> Para eso te invito a que analices estas dos excelentes herramientas: >>> >>> - *Dabo:* Es un framework 3-tier para >>> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >>> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >>> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >>> una aplicación web.. >>> - *Tryton:* Otro framework 3-tier para >>> aplicaciones de escritorio, super completo que viene ya con módulos de >>> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >>> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >>> aplicación Tryton en a una aplicación web (*Tryton nereid >>> *). Ahora >>> bien, si tienes una base de datos compartida con otras aplicaciones, este >>> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >>> que existen módulos que permite utilizar otras bases de datos. En lo >>> personal, PostgreSQL es mi caballito de batalla preferido. >>> >>> La posibilidad de convertir cualquier aplicación de escritorio en una >>> aplicación web es una bendición ya que muchas veces me he encontrado con >>> esa necesidad. >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solutions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >>> >>>> Perfecto Don Mario, omití esos detalles. >>>> >>>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>>> 2. La base de datos es PostgreSQL. >>>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>>> 4. La aplicación no es de tipo consola. >>>> >>>> Gracias. >>>> >>>> Roberto. >>>> >>>> >>>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio < >>>> nimbiotics en gmail.com> escribió: >>>> >>>>> No creo que sea posible contestarte sin que nos des informacion sobre >>>>> tu aplicacion. >>>>> >>>>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>>>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>>>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>>>> el GUI. >>>>> >>>>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>>>> >>>>> Es posible que se necesiten algunos otros detalles, pero esa >>>>> informacion es un punto solido para iniciar. >>>>> >>>>> >>>>> >>>>> Dtb/Gby >>>>> ======= >>>>> Mario R. Osorio >>>>> A.S. of Computer Programming and Analysis >>>>> Web page: *http;//mario.osorio.solutions >>>>> * >>>>> Email: *mario en osorio.solutions* >>>>> *Just Choose Python!* >>>>> >>>>> >>>>> ?If I had asked people what they wanted, they would have said faster >>>>> horses.? >>>>> ? Henry Ford >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>>>> >>>>>> Buenos días. Expongo la siguiente inquietud, para ver si alguien >>>>>> tiene el código, o bien me puedan ayudar. >>>>>> >>>>>> En la realización de mi proyecto financiero, tengo un módulo que es >>>>>> de Información General, ahí se ingresan una gran cantidad de datos >>>>>> generales. Entre ellos existe un módulo de clientes, donde se registra toda >>>>>> la información de los clientes y se consultan los mismos. >>>>>> >>>>>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. >>>>>> La idea es la siguiente, estando en el campo código cliente, si se da enter >>>>>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>>>>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>>>>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>>>>> ocurrencia que va encontrando, con forme se va digitando la información. >>>>>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>>>>> >>>>>> Para los que trabajaron con Oracle, son las famosas listas de >>>>>> valores. >>>>>> >>>>>> Mucho agradecería me pudieran ayudar con esta información, o bien >>>>>> ideas para realizar el proceso, desconozco si en Python ya existen >>>>>> librerías que realizan lo solicitado. >>>>>> >>>>>> Gracias. >>>>>> >>>>>> Roberto >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es en python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jeancarlosr_ve en yahoo.com Thu Dec 14 18:49:45 2017 From: jeancarlosr_ve en yahoo.com (=?UTF-8?Q?Jean_Carlos_Rodr=C3=ACguez?=) Date: Thu, 14 Dec 2017 23:49:45 +0000 (UTC) Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: Message-ID: <1057946623.3466076.1513295385792@mail.yahoo.com> Si estás usando PyQt5 coloca el combobox editable y cuando vas escribiendo sobre el te va auto completando  Sent from Yahoo Mail On Wednesday, December 13, 2017, 4:29 PM, Roberto Matarrita wrote: Gracias Don Alvaro, toda recomendación es buena para este proyecto que es muy importante para mi persona. Roberto. El 13 de diciembre de 2017, 14:10, Alvaro Manrique escribió: Una pequeña sugerencia... Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que ya tiene todo lo que necesitas y además Web, de esa manera te concentras a expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más rápido en el proyecto con lo que ganas tú y también tú cliente. Sí no te interesa en el entorno web (que no debería ser así por los múltiples beneficios) ya te recomendaron arriba Tryton. Saludos. [1] https://www.odoo.com ------------------------------ ------------------------------ -- Alvaro Manrique Programador El dic. 13, 2017 3:59 PM, "Roberto Matarrita" escribió: Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy en la fase de diseño de las tablas en la base de datos Postgresql. Es un proyecto que involucra, información general del cliente, cuentas por cobrar y pagar, compras, inventarios, rutas, facturación y finalmente contabilidad, para integrar todos los módulos.  En realidad yo siempre trabajé para compañías desarrolladoras y hace un año que estoy trabajando solo y tengo la oportunidad de desarrollar todos estos módulos, es un reto muy grande y una oportunidad muy buena que se me ha presentado. De aquí que nacen todas estas consultas y posiblemente haré otro montón más. De antemano le agradezco a usted y a toda la gente que me ha estado apoyando en todo este proceso. Muchas gracias. Roberto. El 13 de diciembre de 2017, 8:03, Mario R. Osorio escribió: Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas es el control ComboBox de Qt. Aca esta la lista completa de Qt Quick Controls. En otro orden de ideas, y aunque no me estas preguntando; estoy seguro que te trivializes un montón de dolores de cabeza utilizando algún framework. De esa manera no tundras que inventar la rueda de nuevo.  Para eso te invito a que analices estas dos excelentes herramientas: - Dabo: Es un framework 3-tier para aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en una aplicación web.. - Tryton: Otro framework 3-tier para aplicaciones de escritorio, super completo que viene ya con módulos de contabilidad, facturación, ventas, inventario, gerencia de proyectos y otros mas. Adicionalmente, existe un proyecto que te permite convertir una aplicación Tryton en a una aplicación web (Tryton nereid). Ahora bien, si tienes una base de datos compartida con otras aplicaciones, este podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido que existen módulos que permite utilizar otras bases de datos. En lo personal, PostgreSQL es mi caballito de batalla preferido. La posibilidad de convertir cualquier aplicación de escritorio en una aplicación web es una bendición ya que muchas veces me he encontrado con esa necesidad. Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solu tionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-12-12 16:25 GMT-05:00 Roberto Matarrita : Perfecto Don Mario, omití esos detalles. 1. La aplicación es de escritorio, hecha en Python 3.52. La base de datos es PostgreSQL.3. Para el diseño de las pantallas estoy utilizando PYQT5.4. La aplicación no es de tipo consola. Gracias. Roberto. El 12 de diciembre de 2017, 15:17, Mario R. Osorio escribió: No creo que sea posible contestarte sin que nos des informacion sobre tu aplicacion.  Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el framework que utilizas, pero si es una aplicacion de escritorio tendrias que indicar si es de consola o decirnos cual libreria estas utilizando para el GUI. Tambien podria ser util saber si estas utilizando algun ORM y cual. Es posible que se necesiten algunos otros detalles, pero esa informacion es un punto solido para iniciar. Dtb/Gby======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: http;//mario.osorio.solu tionsEmail: mario en osorio.solutionsJust Choose Python! ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford                                2017-12-12 12:19 GMT-05:00 Roberto Matarrita : Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el código, o bien me puedan ayudar. En la realización de mi proyecto financiero, tengo un módulo que es de Información General, ahí se ingresan una gran cantidad de datos generales. Entre ellos existe un módulo de clientes, donde se registra toda la información de los clientes y  se consultan los mismos. Aprenderse los códigos de los clientes es bastante difícil y tedioso. La idea es la siguiente, estando en el campo código cliente, si se da enter por ejemplo y este campo está vació, desplegar una pantalla donde salen todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre del cliente o bien el apellido, el cursor se debe posicionar en la primera ocurrencia que va encontrando, con forme se va digitando la información. Esto me permite localizar más rápidamente el nombre y código de un cliente. Para los que trabajaron  con Oracle, son las famosas listas de valores.  Mucho agradecería me pudieran ayudar con esta información, o bien ideas para  realizar el proceso,  desconozco si en Python ya existen librerías que realizan lo solicitado. Gracias. Roberto ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/ mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Thu Dec 14 23:13:19 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Thu, 14 Dec 2017 22:13:19 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: <1057946623.3466076.1513295385792@mail.yahoo.com> Message-ID: Perfecto Jean Carlos, lo pruebo y cualquier cosa les consulto. Voy a estudiar ese combobox editable. Gracias Roberto El 14/12/2017 5:54 p. m., "Jean Carlos Rodrìguez via Python-es" < python-es en python.org> escribió: Si estás usando PyQt5 coloca el combobox editable y cuando vas escribiendo sobre el te va auto completando Sent from Yahoo Mail On Wednesday, December 13, 2017, 4:29 PM, Roberto Matarrita < rmatarria en gmail.com> wrote: Gracias Don Alvaro, toda recomendación es buena para este proyecto que es muy importante para mi persona. Roberto. El 13 de diciembre de 2017, 14:10, Alvaro Manrique < sanreikaj.foros en gmail.com> escribió: Una pequeña sugerencia... Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que ya tiene todo lo que necesitas y además Web, de esa manera te concentras a expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más rápido en el proyecto con lo que ganas tú y también tú cliente. Sí no te interesa en el entorno web (que no debería ser así por los múltiples beneficios) ya te recomendaron arriba Tryton. Saludos. [1] https://www.odoo.com ------------------------------ ------------------------------ -- Alvaro Manrique Programador El dic. 13, 2017 3:59 PM, "Roberto Matarrita" escribió: Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy en la fase de diseño de las tablas en la base de datos Postgresql. Es un proyecto que involucra, información general del cliente, cuentas por cobrar y pagar, compras, inventarios, rutas, facturación y finalmente contabilidad, para integrar todos los módulos. En realidad yo siempre trabajé para compañías desarrolladoras y hace un año que estoy trabajando solo y tengo la oportunidad de desarrollar todos estos módulos, es un reto muy grande y una oportunidad muy buena que se me ha presentado. De aquí que nacen todas estas consultas y posiblemente haré otro montón más. De antemano le agradezco a usted y a toda la gente que me ha estado apoyando en todo este proceso. Muchas gracias. Roberto. El 13 de diciembre de 2017, 8:03, Mario R. Osorio escribió: Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas es el control *ComboBox* de Qt. Aca esta la lista completa de *Qt Quick Controls* . En otro orden de ideas, y aunque no me estas preguntando; estoy seguro que te trivializes un montón de dolores de cabeza utilizando algún framework. De esa manera no tundras que inventar la rueda de nuevo. Para eso te invito a que analices estas dos excelentes herramientas: - *Dabo:* Es un framework 3-tier para aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en una aplicación web.. - *Tryton:* Otro framework 3-tier para aplicaciones de escritorio, super completo que viene ya con módulos de contabilidad, facturación, ventas, inventario, gerencia de proyectos y otros mas. Adicionalmente, existe un proyecto que te permite convertir una aplicación Tryton en a una aplicación web (*Tryton nereid *). Ahora bien, si tienes una base de datos compartida con otras aplicaciones, este podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido que existen módulos que permite utilizar otras bases de datos. En lo personal, PostgreSQL es mi caballito de batalla preferido. La posibilidad de convertir cualquier aplicación de escritorio en una aplicación web es una bendición ya que muchas veces me he encontrado con esa necesidad. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solu tions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : Perfecto Don Mario, omití esos detalles. 1. La aplicación es de escritorio, hecha en Python 3.5 2. La base de datos es PostgreSQL. 3. Para el diseño de las pantallas estoy utilizando PYQT5. 4. La aplicación no es de tipo consola. Gracias. Roberto. El 12 de diciembre de 2017, 15:17, Mario R. Osorio escribió: No creo que sea posible contestarte sin que nos des informacion sobre tu aplicacion. Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el framework que utilizas, pero si es una aplicacion de escritorio tendrias que indicar si es de consola o decirnos cual libreria estas utilizando para el GUI. Tambien podria ser util saber si estas utilizando algun ORM y cual. Es posible que se necesiten algunos otros detalles, pero esa informacion es un punto solido para iniciar. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solu tions * Email: *mario en osorio.solutions* *Just Choose Python!* ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el código, o bien me puedan ayudar. En la realización de mi proyecto financiero, tengo un módulo que es de Información General, ahí se ingresan una gran cantidad de datos generales. Entre ellos existe un módulo de clientes, donde se registra toda la información de los clientes y se consultan los mismos. Aprenderse los códigos de los clientes es bastante difícil y tedioso. La idea es la siguiente, estando en el campo código cliente, si se da enter por ejemplo y este campo está vació, desplegar una pantalla donde salen todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre del cliente o bien el apellido, el cursor se debe posicionar en la primera ocurrencia que va encontrando, con forme se va digitando la información. Esto me permite localizar más rápidamente el nombre y código de un cliente. Para los que trabajaron con Oracle, son las famosas listas de valores. Mucho agradecería me pudieran ayudar con esta información, o bien ideas para realizar el proceso, desconozco si en Python ya existen librerías que realizan lo solicitado. Gracias. Roberto ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailma n/listinfo/python-es ______________________________ _________________ Python-es mailing list Python-es en python.org https://mail.python.org/ mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Fri Dec 15 00:59:48 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Thu, 14 Dec 2017 23:59:48 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: <1057946623.3466076.1513295385792@mail.yahoo.com> References: <1057946623.3466076.1513295385792@mail.yahoo.com> Message-ID: Juan Carlos tendrás un ejemplo de este combox editable, o un lugar donde encuentre un ejemplo para ver como se carga el combobox y ver como se va autocompletando. Gracias Roberto. Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> El 14 de diciembre de 2017, 17:49, Jean Carlos Rodrìguez via Python-es < python-es en python.org> escribió: > Si estás usando PyQt5 coloca el combobox editable y cuando vas escribiendo > sobre el te va auto completando > > > Sent from Yahoo Mail > > On Wednesday, December 13, 2017, 4:29 PM, Roberto Matarrita < > rmatarria en gmail.com> wrote: > > Gracias Don Alvaro, toda recomendación es buena para este proyecto que es > muy importante para mi persona. > > Roberto. > > El 13 de diciembre de 2017, 14:10, Alvaro Manrique < > sanreikaj.foros en gmail.com> escribió: > > Una pequeña sugerencia... > > Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que > ya tiene todo lo que necesitas y además Web, de esa manera te concentras a > expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más > rápido en el proyecto con lo que ganas tú y también tú cliente. > > Sí no te interesa en el entorno web (que no debería ser así por los > múltiples beneficios) ya te recomendaron arriba Tryton. > > Saludos. > > [1] https://www.odoo.com > > ------------------------------ ------------------------------ -- > Alvaro Manrique > Programador > > El dic. 13, 2017 3:59 PM, "Roberto Matarrita" > escribió: > > Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo > que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy > en la fase de diseño de las tablas en la base de datos Postgresql. Es un > proyecto que involucra, información general del cliente, cuentas por cobrar > y pagar, compras, inventarios, rutas, facturación y finalmente > contabilidad, para integrar todos los módulos. > > En realidad yo siempre trabajé para compañías desarrolladoras y hace un > año que estoy trabajando solo y tengo la oportunidad de desarrollar todos > estos módulos, es un reto muy grande y una oportunidad muy buena que se me > ha presentado. De aquí que nacen todas estas consultas y posiblemente haré > otro montón más. De antemano le agradezco a usted y a toda la gente que me > ha estado apoyando en todo este proceso. > > Muchas gracias. > > Roberto. > > El 13 de diciembre de 2017, 8:03, Mario R. Osorio > escribió: > > Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas es > el control *ComboBox* > de Qt. Aca > esta la lista completa de *Qt Quick Controls* > . > > En otro orden de ideas, y aunque no me estas preguntando; estoy seguro que > te trivializes un montón de dolores de cabeza utilizando algún framework. > De esa manera no tundras que inventar la rueda de nuevo. > > Para eso te invito a que analices estas dos excelentes herramientas: > > - *Dabo:* Es un framework 3-tier para > aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado > en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo > intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en > una aplicación web.. > - *Tryton:* Otro framework 3-tier para > aplicaciones de escritorio, super completo que viene ya con módulos de > contabilidad, facturación, ventas, inventario, gerencia de proyectos y > otros mas. Adicionalmente, existe un proyecto que te permite convertir una > aplicación Tryton en a una aplicación web (*Tryton nereid > *). Ahora > bien, si tienes una base de datos compartida con otras aplicaciones, este > podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido > que existen módulos que permite utilizar otras bases de datos. En lo > personal, PostgreSQL es mi caballito de batalla preferido. > > La posibilidad de convertir cualquier aplicación de escritorio en una > aplicación web es una bendición ya que muchas veces me he encontrado con > esa necesidad. > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solu tions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : > > Perfecto Don Mario, omití esos detalles. > > 1. La aplicación es de escritorio, hecha en Python 3.5 > 2. La base de datos es PostgreSQL. > 3. Para el diseño de las pantallas estoy utilizando PYQT5. > 4. La aplicación no es de tipo consola. > > Gracias. > > Roberto. > > > El 12 de diciembre de 2017, 15:17, Mario R. Osorio > escribió: > > No creo que sea posible contestarte sin que nos des informacion sobre tu > aplicacion. > > Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el > framework que utilizas, pero si es una aplicacion de escritorio tendrias > que indicar si es de consola o decirnos cual libreria estas utilizando para > el GUI. > > Tambien podria ser util saber si estas utilizando algun ORM y cual. > > Es posible que se necesiten algunos otros detalles, pero esa informacion > es un punto solido para iniciar. > > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solu tions > * > Email: *mario en osorio.solutions* > *Just Choose Python!* > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : > > Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el > código, o bien me puedan ayudar. > > En la realización de mi proyecto financiero, tengo un módulo que es de > Información General, ahí se ingresan una gran cantidad de datos generales. > Entre ellos existe un módulo de clientes, donde se registra toda la > información de los clientes y se consultan los mismos. > > Aprenderse los códigos de los clientes es bastante difícil y tedioso. La > idea es la siguiente, estando en el campo código cliente, si se da enter > por ejemplo y este campo está vació, desplegar una pantalla donde salen > todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre > del cliente o bien el apellido, el cursor se debe posicionar en la primera > ocurrencia que va encontrando, con forme se va digitando la información. > Esto me permite localizar más rápidamente el nombre y código de un cliente. > > Para los que trabajaron con Oracle, son las famosas listas de valores. > > Mucho agradecería me pudieran ayudar con esta información, o bien ideas > para realizar el proceso, desconozco si en Python ya existen librerías > que realizan lo solicitado. > > Gracias. > > Roberto > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailma n/listinfo/python-es > > > > ______________________________ _________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/ mailman/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From felix.listadebian en gmail.com Fri Dec 15 10:25:28 2017 From: felix.listadebian en gmail.com (Felix Perez) Date: Fri, 15 Dec 2017 12:25:28 -0300 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: <1057946623.3466076.1513295385792@mail.yahoo.com> Message-ID: El 15 de diciembre de 2017, 02:59, Roberto Matarrita escribió: > Juan Carlos tendrás un ejemplo de este combox editable, o un lugar donde > encuentre un ejemplo para ver como se carga el combobox y ver como se va > autocompletando. > > https://www.google.cl/search?source=hp&ei=8-gzWo6EDsGFwgSo05PIBQ&q=pyqt+combobox+editable&oq=combobox+editable+pyqt&gs_l=psy-ab.1.0.0i22i30k1l2.1382.5391.0.10137.7.5.0.1.1.0.120.562.0j5.5.0....0...1c.1.64.psy-ab..1.6.583.0..0j0i22i10i30k1.0.aB4Nie5WDj8 > > Libre > de virus. www.avast.com > > <#m_-2588217205505272641_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > El 14 de diciembre de 2017, 17:49, Jean Carlos Rodrìguez via Python-es < > python-es en python.org> escribió: > >> Si estás usando PyQt5 coloca el combobox editable y cuando vas >> escribiendo sobre el te va auto completando >> >> >> Sent from Yahoo Mail >> >> On Wednesday, December 13, 2017, 4:29 PM, Roberto Matarrita < >> rmatarria en gmail.com> wrote: >> >> Gracias Don Alvaro, toda recomendación es buena para este proyecto que es >> muy importante para mi persona. >> >> Roberto. >> >> El 13 de diciembre de 2017, 14:10, Alvaro Manrique < >> sanreikaj.foros en gmail.com> escribió: >> >> Una pequeña sugerencia... >> >> Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que >> ya tiene todo lo que necesitas y además Web, de esa manera te concentras a >> expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más >> rápido en el proyecto con lo que ganas tú y también tú cliente. >> >> Sí no te interesa en el entorno web (que no debería ser así por los >> múltiples beneficios) ya te recomendaron arriba Tryton. >> >> Saludos. >> >> [1] https://www.odoo.com >> >> ------------------------------ ------------------------------ -- >> Alvaro Manrique >> Programador >> >> El dic. 13, 2017 3:59 PM, "Roberto Matarrita" >> escribió: >> >> Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo >> que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy >> en la fase de diseño de las tablas en la base de datos Postgresql. Es un >> proyecto que involucra, información general del cliente, cuentas por cobrar >> y pagar, compras, inventarios, rutas, facturación y finalmente >> contabilidad, para integrar todos los módulos. >> >> En realidad yo siempre trabajé para compañías desarrolladoras y hace un >> año que estoy trabajando solo y tengo la oportunidad de desarrollar todos >> estos módulos, es un reto muy grande y una oportunidad muy buena que se me >> ha presentado. De aquí que nacen todas estas consultas y posiblemente haré >> otro montón más. De antemano le agradezco a usted y a toda la gente que me >> ha estado apoyando en todo este proceso. >> >> Muchas gracias. >> >> Roberto. >> >> El 13 de diciembre de 2017, 8:03, Mario R. Osorio >> escribió: >> >> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >> es el control *ComboBox* >> de Qt. Aca >> esta la lista completa de *Qt Quick Controls* >> . >> >> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >> que te trivializes un montón de dolores de cabeza utilizando algún >> framework. De esa manera no tundras que inventar la rueda de nuevo. >> >> Para eso te invito a que analices estas dos excelentes herramientas: >> >> - *Dabo:* Es un framework 3-tier para >> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >> una aplicación web.. >> - *Tryton:* Otro framework 3-tier para >> aplicaciones de escritorio, super completo que viene ya con módulos de >> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >> aplicación Tryton en a una aplicación web (*Tryton nereid >> *). Ahora >> bien, si tienes una base de datos compartida con otras aplicaciones, este >> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >> que existen módulos que permite utilizar otras bases de datos. En lo >> personal, PostgreSQL es mi caballito de batalla preferido. >> >> La posibilidad de convertir cualquier aplicación de escritorio en una >> aplicación web es una bendición ya que muchas veces me he encontrado con >> esa necesidad. >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solu tions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >> >> Perfecto Don Mario, omití esos detalles. >> >> 1. La aplicación es de escritorio, hecha en Python 3.5 >> 2. La base de datos es PostgreSQL. >> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >> 4. La aplicación no es de tipo consola. >> >> Gracias. >> >> Roberto. >> >> >> El 12 de diciembre de 2017, 15:17, Mario R. Osorio >> escribió: >> >> No creo que sea posible contestarte sin que nos des informacion sobre tu >> aplicacion. >> >> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >> framework que utilizas, pero si es una aplicacion de escritorio tendrias >> que indicar si es de consola o decirnos cual libreria estas utilizando para >> el GUI. >> >> Tambien podria ser util saber si estas utilizando algun ORM y cual. >> >> Es posible que se necesiten algunos otros detalles, pero esa informacion >> es un punto solido para iniciar. >> >> >> >> Dtb/Gby >> ======= >> Mario R. Osorio >> A.S. of Computer Programming and Analysis >> Web page: *http;//mario.osorio.solu tions >> * >> Email: *mario en osorio.solutions* >> *Just Choose Python!* >> >> ?If I had asked people what they wanted, they would have said faster >> horses.? >> ? Henry Ford >> >> >> >> >> >> >> >> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >> >> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene el >> código, o bien me puedan ayudar. >> >> En la realización de mi proyecto financiero, tengo un módulo que es de >> Información General, ahí se ingresan una gran cantidad de datos generales. >> Entre ellos existe un módulo de clientes, donde se registra toda la >> información de los clientes y se consultan los mismos. >> >> Aprenderse los códigos de los clientes es bastante difícil y tedioso. La >> idea es la siguiente, estando en el campo código cliente, si se da enter >> por ejemplo y este campo está vació, desplegar una pantalla donde salen >> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >> del cliente o bien el apellido, el cursor se debe posicionar en la primera >> ocurrencia que va encontrando, con forme se va digitando la información. >> Esto me permite localizar más rápidamente el nombre y código de un cliente. >> >> Para los que trabajaron con Oracle, son las famosas listas de valores. >> >> Mucho agradecería me pudieran ayudar con esta información, o bien ideas >> para realizar el proceso, desconozco si en Python ya existen librerías >> que realizan lo solicitado. >> >> ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rmatarria en gmail.com Fri Dec 15 12:19:02 2017 From: rmatarria en gmail.com (Roberto Matarrita) Date: Fri, 15 Dec 2017 11:19:02 -0600 Subject: [Python-es] Consultar Datos en Python. In-Reply-To: References: <1057946623.3466076.1513295385792@mail.yahoo.com> Message-ID: Gracias, revisaré la página. Roberto El 15 de diciembre de 2017, 9:25, Felix Perez escribió: > > > El 15 de diciembre de 2017, 02:59, Roberto Matarrita > escribió: > >> Juan Carlos tendrás un ejemplo de este combox editable, o un lugar donde >> encuentre un ejemplo para ver como se carga el combobox y ver como se va >> autocompletando. >> >> https://www.google.cl/search?source=hp&ei=8-gzWo6EDsGFwgSo05PIBQ&q=pyqt+ > combobox+editable&oq=combobox+editable+pyqt&gs_l=psy-ab.1.0. > 0i22i30k1l2.1382.5391.0.10137.7.5.0.1.1.0.120.562.0j5.5.0... > .0...1c.1.64.psy-ab..1.6.583.0..0j0i22i10i30k1.0.aB4Nie5WDj8 > > >> >> Libre >> de virus. www.avast.com >> >> <#m_6834008318905596905_m_-2588217205505272641_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >> >> El 14 de diciembre de 2017, 17:49, Jean Carlos Rodrìguez via Python-es < >> python-es en python.org> escribió: >> >>> Si estás usando PyQt5 coloca el combobox editable y cuando vas >>> escribiendo sobre el te va auto completando >>> >>> >>> Sent from Yahoo Mail >>> >>> On Wednesday, December 13, 2017, 4:29 PM, Roberto Matarrita < >>> rmatarria en gmail.com> wrote: >>> >>> Gracias Don Alvaro, toda recomendación es buena para este proyecto que >>> es muy importante para mi persona. >>> >>> Roberto. >>> >>> El 13 de diciembre de 2017, 14:10, Alvaro Manrique < >>> sanreikaj.foros en gmail.com> escribió: >>> >>> Una pequeña sugerencia... >>> >>> Dale un vistazo a Odoo[1] que es un sistema abierto hecho en Python, que >>> ya tiene todo lo que necesitas y además Web, de esa manera te concentras a >>> expandir Odoo según las necesidades de tu cliente y vas a avanzar mucho más >>> rápido en el proyecto con lo que ganas tú y también tú cliente. >>> >>> Sí no te interesa en el entorno web (que no debería ser así por los >>> múltiples beneficios) ya te recomendaron arriba Tryton. >>> >>> Saludos. >>> >>> [1] https://www.odoo.com >>> >>> ------------------------------ ------------------------------ -- >>> Alvaro Manrique >>> Programador >>> >>> El dic. 13, 2017 3:59 PM, "Roberto Matarrita" >>> escribió: >>> >>> Bueno Don Mario, muchas gracias por la respuesta. Voy a estudiar todo lo >>> que me envió ya que tengo que desarrollar un proyecto muy grande y ya estoy >>> en la fase de diseño de las tablas en la base de datos Postgresql. Es un >>> proyecto que involucra, información general del cliente, cuentas por cobrar >>> y pagar, compras, inventarios, rutas, facturación y finalmente >>> contabilidad, para integrar todos los módulos. >>> >>> En realidad yo siempre trabajé para compañías desarrolladoras y hace un >>> año que estoy trabajando solo y tengo la oportunidad de desarrollar todos >>> estos módulos, es un reto muy grande y una oportunidad muy buena que se me >>> ha presentado. De aquí que nacen todas estas consultas y posiblemente haré >>> otro montón más. De antemano le agradezco a usted y a toda la gente que me >>> ha estado apoyando en todo este proceso. >>> >>> Muchas gracias. >>> >>> Roberto. >>> >>> El 13 de diciembre de 2017, 8:03, Mario R. Osorio >>> escribió: >>> >>> Pues, si estas utilizando PyQt ya tienes tu respuesta. Lo que necesitas >>> es el control *ComboBox* >>> de Qt. Aca >>> esta la lista completa de *Qt Quick Controls* >>> . >>> >>> En otro orden de ideas, y aunque no me estas preguntando; estoy seguro >>> que te trivializes un montón de dolores de cabeza utilizando algún >>> framework. De esa manera no tundras que inventar la rueda de nuevo. >>> >>> Para eso te invito a que analices estas dos excelentes herramientas: >>> >>> - *Dabo:* Es un framework 3-tier para >>> aplicaciones de escritorio muy sencillo pero poderoso. Yo lo he utilizado >>> en python 2, pero también logré hacerlo trabajar con python 3. Nunca lo >>> intenté, pero hay maneras de convertir una aplicación Dabo de escritorio en >>> una aplicación web.. >>> - *Tryton:* Otro framework 3-tier para >>> aplicaciones de escritorio, super completo que viene ya con módulos de >>> contabilidad, facturación, ventas, inventario, gerencia de proyectos y >>> otros mas. Adicionalmente, existe un proyecto que te permite convertir una >>> aplicación Tryton en a una aplicación web (*Tryton nereid >>> *). Ahora >>> bien, si tienes una base de datos compartida con otras aplicaciones, este >>> podría un problema ya que tryton utiliza PosgreSQL, aunque tengo entendido >>> que existen módulos que permite utilizar otras bases de datos. En lo >>> personal, PostgreSQL es mi caballito de batalla preferido. >>> >>> La posibilidad de convertir cualquier aplicación de escritorio en una >>> aplicación web es una bendición ya que muchas veces me he encontrado con >>> esa necesidad. >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solu tions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-12 16:25 GMT-05:00 Roberto Matarrita : >>> >>> Perfecto Don Mario, omití esos detalles. >>> >>> 1. La aplicación es de escritorio, hecha en Python 3.5 >>> 2. La base de datos es PostgreSQL. >>> 3. Para el diseño de las pantallas estoy utilizando PYQT5. >>> 4. La aplicación no es de tipo consola. >>> >>> Gracias. >>> >>> Roberto. >>> >>> >>> El 12 de diciembre de 2017, 15:17, Mario R. Osorio >> > escribió: >>> >>> No creo que sea posible contestarte sin que nos des informacion sobre tu >>> aplicacion. >>> >>> Por ejemplo. si es una aplicacion web seria bueno que nos indicaras el >>> framework que utilizas, pero si es una aplicacion de escritorio tendrias >>> que indicar si es de consola o decirnos cual libreria estas utilizando para >>> el GUI. >>> >>> Tambien podria ser util saber si estas utilizando algun ORM y cual. >>> >>> Es posible que se necesiten algunos otros detalles, pero esa informacion >>> es un punto solido para iniciar. >>> >>> >>> >>> Dtb/Gby >>> ======= >>> Mario R. Osorio >>> A.S. of Computer Programming and Analysis >>> Web page: *http;//mario.osorio.solu tions >>> * >>> Email: *mario en osorio.solutions* >>> *Just Choose Python!* >>> >>> >>> ?If I had asked people what they wanted, they would have said faster >>> horses.? >>> ? Henry Ford >>> >>> >>> >>> >>> >>> >>> >>> 2017-12-12 12:19 GMT-05:00 Roberto Matarrita : >>> >>> Buenos días. Expongo la siguiente inquietud, para ver si alguien tiene >>> el código, o bien me puedan ayudar. >>> >>> En la realización de mi proyecto financiero, tengo un módulo que es de >>> Información General, ahí se ingresan una gran cantidad de datos generales. >>> Entre ellos existe un módulo de clientes, donde se registra toda la >>> información de los clientes y se consultan los mismos. >>> >>> Aprenderse los códigos de los clientes es bastante difícil y tedioso. La >>> idea es la siguiente, estando en el campo código cliente, si se da enter >>> por ejemplo y este campo está vació, desplegar una pantalla donde salen >>> todos los clientes. Seguidamente si yo voy digitado, por ejemplo el nombre >>> del cliente o bien el apellido, el cursor se debe posicionar en la primera >>> ocurrencia que va encontrando, con forme se va digitando la información. >>> Esto me permite localizar más rápidamente el nombre y código de un cliente. >>> >>> Para los que trabajaron con Oracle, son las famosas listas de valores. >>> >>> Mucho agradecería me pudieran ayudar con esta información, o bien ideas >>> para realizar el proceso, desconozco si en Python ya existen librerías >>> que realizan lo solicitado. >>> >>> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From turriano en gmail.com Sat Dec 16 11:54:37 2017 From: turriano en gmail.com (Turriano) Date: Sat, 16 Dec 2017 17:54:37 +0100 Subject: [Python-es] =?utf-8?q?Problema_con_ejercicio_de_animaci=C3=B3n_e?= =?utf-8?q?n_python?= Message-ID: <67ef326d-ce92-0356-6322-074177542e27@gmail.com> Hola amigos de Python Estoy siguiendo el tutorial "Doma de serpientes" ( https://argentinaenpython.com/quiero-aprender-python/doma-de-serpientes-para-ninos_swfk-es-win-0.0.4.pdf ) y en el ejercicio 9.9 me he quedado atascado, pues no me funciona: import time ventana = Tk() lienzo = Canvas(ventana, width=400, height=400) lienzo.pack() lienzo.create_polygon(10, 10, 10, 60, 50, 35) 1 for x in range(0, 60):  lienzo.move(1, 5, 5)  tk.update()  time.sleep(0.05) ----------------------------------------- El error que me lanza, es este: Traceback (most recent call last):   File "C:\Users\turri\Desktop\AnimBasTkinterOblicua.py", line 2, in     ventana = Tk() NameError: name 'Tk' is not defined ----------------------------------------- Uso Python 3.6 ¿Dónde podría estar el error? Gracias! 8-) --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus From gerardo.diez.garcia en gmail.com Sat Dec 16 12:02:58 2017 From: gerardo.diez.garcia en gmail.com (Gerardo Diez) Date: Sat, 16 Dec 2017 18:02:58 +0100 Subject: [Python-es] =?utf-8?q?Problema_con_ejercicio_de_animaci=C3=B3n_e?= =?utf-8?q?n_python?= In-Reply-To: <67ef326d-ce92-0356-6322-074177542e27@gmail.com> References: <67ef326d-ce92-0356-6322-074177542e27@gmail.com> Message-ID: El 16 dic. 2017 5:56 p. m., "Turriano" escribió: Hola amigos de Python Estoy siguiendo el tutorial "Doma de serpientes" ( https://argentinaenpython.com/quiero-aprender-python/doma-de -serpientes-para-ninos_swfk-es-win-0.0.4.pdf ) y en el ejercicio 9.9 me he quedado atascado, pues no me funciona: import time ventana = Tk() lienzo = Canvas(ventana, width=400, height=400) lienzo.pack() lienzo.create_polygon(10, 10, 10, 60, 50, 35) 1 for x in range(0, 60): lienzo.move(1, 5, 5) tk.update() time.sleep(0.05) ----------------------------------------- El error que me lanza, es este: Traceback (most recent call last): File "C:\Users\turri\Desktop\AnimBasTkinterOblicua.py", line 2, in ventana = Tk() NameError: name 'Tk' is not defined ----------------------------------------- Uso Python 3.6 ¿Dónde podría estar el error? Gracias! 8-) --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es Está en que no has importado el módulo tkinter. Si te fijas en los anteriores ejercicios sí cargas el módulo. Un saludo ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From elmau en amigos.email Sat Dec 16 12:11:28 2017 From: elmau en amigos.email (Mauricio Baeza Servin) Date: Sat, 16 Dec 2017 11:11:28 -0600 (CST) Subject: [Python-es] =?utf-8?q?Problema_con_ejercicio_de_animaci=C3=B3n_e?= =?utf-8?q?n_python?= In-Reply-To: <67ef326d-ce92-0356-6322-074177542e27@gmail.com> Message-ID: On Sat, 16 Dec 2017 17:54:37 +0100, Turriano wrote: > Hola amigos de Python > Estoy siguiendo el tutorial "Doma de serpientes" ( > https://argentinaenpython.com/quiero-aprender-python/doma-de-serpientes-para-ninos_swfk-es-win-0.0.4.pdf > ) y en el ejercicio 9.9 me he quedado atascado, pues no me funciona: > > import time > ventana = Tk() > lienzo = Canvas(ventana, width=400, height=400) > lienzo.pack() > lienzo.create_polygon(10, 10, 10, 60, 50, 35) > 1 > for x in range(0, 60): >  lienzo.move(1, 5, 5) >  tk.update() >  time.sleep(0.05) > > ----------------------------------------- > El error que me lanza, es este: > > Traceback (most recent call last): >   File "C:\Users\turri\Desktop\AnimBasTkinterOblicua.py", line 2, in > >     ventana = Tk() > NameError: name 'Tk' is not defined > > ----------------------------------------- > Uso Python 3.6 > > ¿Dónde podría estar el error? > Gracias! 8-) Asegurate de que Tk esta instalado e importalo... el siguiente código funciona bien en mi distribución (ArchLinux) con Py 3.6 https://gitlab.com/snippets/1689154 Saludos From larepisa en gmail.com Tue Dec 19 10:17:39 2017 From: larepisa en gmail.com (LA REPISA) Date: Tue, 19 Dec 2017 16:17:39 +0100 Subject: [Python-es] Importar grandes ficheros txt Message-ID: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> Buenas tardes, Tengo un fichero plano cuyos campos están separados por ?;?, cópo puedo importarlo a un dataframe de Python. Al intentar importarlo me devuelve ?python no responde?, la máquina se queda sin recursos (es una máquina con 32 GB de memoria RAM) Mil gracias From minibota en gmail.com Tue Dec 19 10:32:11 2017 From: minibota en gmail.com (=?UTF-8?Q?Pavel_Stephan_Mu=C3=B1oz?=) Date: Tue, 19 Dec 2017 16:32:11 +0100 Subject: [Python-es] Importar grandes ficheros txt In-Reply-To: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> References: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> Message-ID: Hola. Y qué tamaño tiene el fichero? Con Pandas podrías intentar leyéndolo parte por parte utilizando el parámetro chunksize de la función read_table: pd.read_table('tmp.sv', sep=';', chunksize=100) A lo mejor y esto ayuda. Más info acá: http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk Saludos, Pavel Muñoz El 19 de diciembre de 2017, 16:17, LA REPISA escribió: > Buenas tardes, > > Tengo un fichero plano cuyos campos están separados por ?;?, cópo puedo > importarlo a un dataframe de Python. Al intentar importarlo me devuelve > ?python no responde?, la máquina se queda sin recursos (es una máquina con > 32 GB de memoria RAM) > > Mil gracias > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > -- *Pavel Stephan Muñoz* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From larepisa en gmail.com Tue Dec 19 10:43:59 2017 From: larepisa en gmail.com (LA REPISA) Date: Tue, 19 Dec 2017 16:43:59 +0100 Subject: [Python-es] Importar grandes ficheros txt In-Reply-To: References: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> Message-ID: <57385723-E2C6-47BD-A835-D706CE6206A6@gmail.com> Gracias, es un fichero de más de 1 GB. Son más de 5 millones de registros con 34 variables... Parece que le cuesta con el chunk. La verdad que necesito trabajar con ese tipo de ficheros y python me gusta, pero creo que me voy a tener que cambiar de Software. Una pena. Gracias de nuevo Enviado desde mi iPhone > El 19 dic 2017, a las 16:32, Pavel Stephan Muñoz escribió: > > Hola. > > Y qué tamaño tiene el fichero? > Con Pandas podrías intentar leyéndolo parte por parte utilizando el parámetro chunksize de la función read_table: > pd.read_table('tmp.sv', sep=';', chunksize=100) > A lo mejor y esto ayuda. Más info acá: > http://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk > > Saludos, > Pavel Muñoz > > > > El 19 de diciembre de 2017, 16:17, LA REPISA escribió: >> Buenas tardes, >> >> Tengo un fichero plano cuyos campos están separados por ?;?, cópo puedo importarlo a un dataframe de Python. Al intentar importarlo me devuelve ?python no responde?, la máquina se queda sin recursos (es una máquina con 32 GB de memoria RAM) >> >> Mil gracias >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es > > > > -- > Pavel Stephan Muñoz > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From minibota en gmail.com Tue Dec 19 11:34:39 2017 From: minibota en gmail.com (=?UTF-8?Q?Pavel_Stephan_Mu=C3=B1oz?=) Date: Tue, 19 Dec 2017 17:34:39 +0100 Subject: [Python-es] Importar grandes ficheros txt In-Reply-To: <57385723-E2C6-47BD-A835-D706CE6206A6@gmail.com> References: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> <57385723-E2C6-47BD-A835-D706CE6206A6@gmail.com> Message-ID: Me extraña un poco que una máquina con 32GB de RAM tenga problemas con un fichero de 1GB. Qué posibilidades tienes de dividir el fichero en varios más pequeños? Como con el comando split de unix/linux https://www.computerhope.com/unix/usplit.htm Saludos, Pavel Muñoz El 19 de diciembre de 2017, 16:43, LA REPISA escribió: > Gracias, es un fichero de más de 1 GB. Son más de 5 millones de registros > con 34 variables... > > Parece que le cuesta con el chunk. La verdad que necesito trabajar con ese > tipo de ficheros y python me gusta, pero creo que me voy a tener que > cambiar de Software. Una pena. > > Gracias de nuevo > > Enviado desde mi iPhone > > El 19 dic 2017, a las 16:32, Pavel Stephan Muñoz > escribió: > > Hola. > > Y qué tamaño tiene el fichero? > Con Pandas podrías intentar leyéndolo parte por parte utilizando el > parámetro chunksize de la función read_table: > > pd.read_table('tmp.sv', sep=';', chunksize=100) > > A lo mejor y esto ayuda. Más info acá: > http://pandas-docs.github.io/pandas-docs-travis/io.html# > iterating-through-files-chunk-by-chunk > > Saludos, > Pavel Muñoz > > > > El 19 de diciembre de 2017, 16:17, LA REPISA > escribió: > >> Buenas tardes, >> >> Tengo un fichero plano cuyos campos están separados por ?;?, cópo puedo >> importarlo a un dataframe de Python. Al intentar importarlo me devuelve >> ?python no responde?, la máquina se queda sin recursos (es una máquina con >> 32 GB de memoria RAM) >> >> Mil gracias >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > > -- > *Pavel Stephan Muñoz* > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > -- *Pavel Stephan Muñoz* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pixukideak en gmail.com Thu Dec 21 03:41:21 2017 From: pixukideak en gmail.com (Pixu Kideak) Date: Thu, 21 Dec 2017 09:41:21 +0100 Subject: [Python-es] Importar grandes ficheros txt In-Reply-To: References: <49F2E706-589A-4DC0-8681-3F315467FA53@gmail.com> <57385723-E2C6-47BD-A835-D706CE6206A6@gmail.com> Message-ID: Posibles soluciones que se me ocurren además de las que te han comentado: 1) Utilizar PyTables (http://www.pytables.org/) 2) En lugar de volcar toda la información a memoria y trabajar contra ésta, ¿volcarlo a una base de datos SQLite y trabajar contra la base de datos? Salu2 2017-12-19 17:34 GMT+01:00 Pavel Stephan Muñoz : > Me extraña un poco que una máquina con 32GB de RAM tenga problemas con un > fichero de 1GB. > > Qué posibilidades tienes de dividir el fichero en varios más pequeños? > Como con el comando split de unix/linux https://www. > computerhope.com/unix/usplit.htm > > Saludos, > Pavel Muñoz > > El 19 de diciembre de 2017, 16:43, LA REPISA > escribió: > >> Gracias, es un fichero de más de 1 GB. Son más de 5 millones de registros >> con 34 variables... >> >> Parece que le cuesta con el chunk. La verdad que necesito trabajar con >> ese tipo de ficheros y python me gusta, pero creo que me voy a tener que >> cambiar de Software. Una pena. >> >> Gracias de nuevo >> >> Enviado desde mi iPhone >> >> El 19 dic 2017, a las 16:32, Pavel Stephan Muñoz >> escribió: >> >> Hola. >> >> Y qué tamaño tiene el fichero? >> Con Pandas podrías intentar leyéndolo parte por parte utilizando el >> parámetro chunksize de la función read_table: >> >> pd.read_table('tmp.sv', sep=';', chunksize=100) >> >> A lo mejor y esto ayuda. Más info acá: >> http://pandas-docs.github.io/pandas-docs-travis/io.html#iter >> ating-through-files-chunk-by-chunk >> >> Saludos, >> Pavel Muñoz >> >> >> >> El 19 de diciembre de 2017, 16:17, LA REPISA >> escribió: >> >>> Buenas tardes, >>> >>> Tengo un fichero plano cuyos campos están separados por ?;?, cópo puedo >>> importarlo a un dataframe de Python. Al intentar importarlo me devuelve >>> ?python no responde?, la máquina se queda sin recursos (es una máquina con >>> 32 GB de memoria RAM) >>> >>> Mil gracias >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >> >> >> >> -- >> *Pavel Stephan Muñoz* >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > > -- > *Pavel Stephan Muñoz* > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From horacio9573 en gmail.com Thu Dec 21 09:26:01 2017 From: horacio9573 en gmail.com (Horacio) Date: Thu, 21 Dec 2017 11:26:01 -0300 Subject: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS Message-ID: Buenas por medio de PANDAS leo archivos de datos como dataframe por medio de: import pandas as pd archivo="car-C-01.csv" S1=pd.read_csv(archivo,decimal=',',sep=';') ahora bien S1 tiene etiquetas en cada campo que quiero cambiar, pues originalmente son: In [4]: print(S1.head(n=4)) Tiempo[s] Velocidad[RPM] Longitudinal[arb] Transversal[arb] 0 0.000061 70.65625 32699.53 1.35 1 0.000122 70.65625 30938.89 12737.35 2 0.000183 70.65625 30938.89 12705.51 3 0.000244 70.65625 31106.57 12609.99 Y quiero cambiar Tiempo[S] por tiempo, o Longitudinal[arb] por R, etc. Saludos y gracias Horacio. From gollum23 en gmail.com Thu Dec 21 09:33:12 2017 From: gollum23 en gmail.com (gollum23 en gmail.com) Date: Thu, 21 Dec 2017 09:33:12 -0500 Subject: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS In-Reply-To: References: Message-ID: Puedes usar el parametro name=['columna1', columna2'] reemplazas columna por el nombre de la etiqueta, tienes que ponerlas todas From horacio9573 en gmail.com Thu Dec 21 13:49:52 2017 From: horacio9573 en gmail.com (Horacio) Date: Thu, 21 Dec 2017 15:49:52 -0300 Subject: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS In-Reply-To: References: Message-ID: El día 21 de diciembre de 2017, 11:33, escribió: > Puedes usar el parametro name=['columna1', columna2'] reemplazas > columna por el nombre de la etiqueta, tienes que ponerlas todas Ya lo he probado, y cambia el tipo en el dataframe,,, a ver,,, acá se puede comparar En el caso mio,,, S1=pd.read_csv(archivo,decimal=',',sep=';') type(S1["Tiempo[s]"][2]) Out[7]: numpy.float64 En tu sugerencia,,, nombre_cabeceras=['tiempo','velocidad','R','T'] S2=pd.read_csv(archivo,decimal=',',sep=';',names=nombre_cabeceras) type(S2["tiempo"][2]) Out[12]: str deja de ser tipo numérico para guardarlo como tipo caracter,,, cosa que no quiero > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es From lgmerino en yahoo.com Fri Dec 22 03:55:14 2017 From: lgmerino en yahoo.com (Luis Garcia Merino) Date: Fri, 22 Dec 2017 08:55:14 +0000 (UTC) Subject: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS References: <1248173635.5524447.1513932914147.ref@mail.yahoo.com> Message-ID: <1248173635.5524447.1513932914147@mail.yahoo.com> Buenos días, ¿has probado con rename? https://stackoverflow.com/questions/11346283/renaming-columns-in-pandas#11354850 Un saludo, Luis -------------------------------------------- El jue, 21/12/17, Horacio escribió: Asunto: Re: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS Para: "La lista de python en castellano" Fecha: jueves, 21 de diciembre, 2017 19:49 El día 21 de diciembre de 2017, 11:33,  escribió: > Puedes usar el parametro name=['columna1', columna2'] reemplazas > columna por el nombre de la etiqueta, tienes que ponerlas todas Ya lo he probado, y cambia el tipo en el dataframe,,, a ver,,, acá se puede comparar En el caso mio,,, S1=pd.read_csv(archivo,decimal=',',sep=';') type(S1["Tiempo[s]"][2]) Out[7]: numpy.float64 En tu sugerencia,,, nombre_cabeceras=['tiempo','velocidad','R','T'] S2=pd.read_csv(archivo,decimal=',',sep=';',names=nombre_cabeceras) type(S2["tiempo"][2]) Out[12]: str deja de ser tipo numérico para guardarlo como tipo caracter,,, cosa que no quiero > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es _______________________________________________ Python-es mailing list Python-es en python.org https://mail.python.org/mailman/listinfo/python-es From horacio9573 en gmail.com Fri Dec 22 14:07:19 2017 From: horacio9573 en gmail.com (Horacio) Date: Fri, 22 Dec 2017 16:07:19 -0300 Subject: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS In-Reply-To: <1248173635.5524447.1513932914147@mail.yahoo.com> References: <1248173635.5524447.1513932914147.ref@mail.yahoo.com> <1248173635.5524447.1513932914147@mail.yahoo.com> Message-ID: El día 22 de diciembre de 2017, 5:55, Luis Garcia Merino via Python-es escribió: > Buenos días, > > ¿has probado con rename? > > https://stackoverflow.com/questions/11346283/renaming-columns-in-pandas#11354850 Funcionó a las mil maravillas, gracias es lo que buscaba > > Un saludo, > Luis > > -------------------------------------------- > El jue, 21/12/17, Horacio escribió: > > Asunto: Re: [Python-es] Cambiar las etiquetas en un dataframe en PANDAS > Para: "La lista de python en castellano" > Fecha: jueves, 21 de diciembre, 2017 19:49 > > El día 21 de diciembre de 2017, > 11:33, > escribió: > > Puedes usar el parametro > name=['columna1', columna2'] reemplazas > > columna por el nombre de la etiqueta, > tienes que ponerlas todas > > Ya lo he probado, y cambia el tipo en el > dataframe,,, a ver,,, acá se > puede > comparar > > En el caso > mio,,, > > S1=pd.read_csv(archivo,decimal=',',sep=';') > type(S1["Tiempo[s]"][2]) > Out[7]: numpy.float64 > > En tu sugerencia,,, > > nombre_cabeceras=['tiempo','velocidad','R','T'] > > S2=pd.read_csv(archivo,decimal=',',sep=';',names=nombre_cabeceras) > type(S2["tiempo"][2]) > Out[12]: str > > deja de ser tipo numérico para guardarlo como > tipo caracter,,, cosa > que no quiero > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > https://mail.python.org/mailman/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es From turriano en gmail.com Tue Dec 26 11:50:04 2017 From: turriano en gmail.com (Turriano) Date: Tue, 26 Dec 2017 17:50:04 +0100 Subject: [Python-es] Posicionar imagen en canvas tkinter Message-ID: <0da71fa8-1f3f-79d9-60a3-99f86c5b167e@gmail.com> ¡Hola amigos! Haciendo experimentos con python, en la esperanza de mover algún día un gráfico por la pantalla, me he topado con algo que no esperaba: Que cuando intento poner un gráfico en un lugar determinado (por ejemplo, en la posición 0,0, como intento en este ejercicio que os muestro), no me funciona en absoluto (me o coloca, pero no en lugar que desearía. En este caso, la "0,0"). ¿Qué es lo que falla aquí? Saludos /from tkinter import *////win = Tk()////lienzo = Canvas(win, width=600, height=200)////lienzo.pack()////img = PhotoImage(file="tux.gif")////can = Canvas(win)////can.pack(fill=BOTH)////can.create_image(0, 0, image=img, anchor=NW)////win.mainloop()/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: