Re: [Python-es] problema con OpenGL

2010-04-09 Por tema Angel Lis
El día 6 de abril de 2010 11:51, Jesuz Lopez Arada
 escribió:
>  Hola lista el problema es el siguiente tengo una PC con Ubuntu 9.10
> instalado estoy tratando de corre un programa hecho python utilizando las
> librerias Opengl y me da el siguiente error 'Segmentation fault' , las
> librerias estan bien instaladas desde c trabajan bien , en otra maquina con
> ubuntu 8.4 no me pasa esto.
>  Gracias.
>
> --
> La ignorancia es temporal, la estupidez es para siempre.
>
> 
> This message was sent using IMP, the Internet Messaging Program.
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>

Algo más de información?, pq eso puede ser desde un buffer que te
pasas, a algo mal linkado, pasando por tdas las posibilidades.


-- 
--
Liso^TLOTB
Bite my shiny metal ass
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Desarrollo Web facil python

2010-06-01 Por tema Angel Lis
creo que deberías echar un ojo a :
http://httpd.apache.org/docs/2.1/suexec.html
y el SetUID para cualquier sistema *nix.

un saludo.

El día 1 de junio de 2010 16:31, Carlos Herrera Polo
 escribió:
> Gracias por la respuesta Juan.
> He intentado correr apache (httpd) como root pero ademas de no levantar el
> servicio, me da una serie de advertencias sobre inestabilidad en el servicio
> si es que se configura de esta forma (me lo temia)...
>
> Existe alguna otra alternativa ? Dentro del codigo python existe la
> posibilidad de ejecutar algo como "sudo" ? he leido que esto se puede hacer
> pero invocando subprocesos pero creo que no va por ahi la solucion,
> alguien mas tendra alguna idea ?
>
> Muchas gracias a todos por su interes.
>
>
>
> El 1 de junio de 2010 05:53, Juan Ignacio  escribió:
>>>
>>> Se que no es la mejor practica, pero, descontando el tema de
>>> seguridad Es posible que el script en python invocado por cgi
>>> corra como super usuario ?
>>
>> Normalmente los scripts que se ejecutan por cgi en apache lo hacen con el
>> mismo usuario con el que ejecuta el propio apache. Como bien dices, no  es
>> recomendable, por seguridad, que el servidor se ejecute como root, pero si
>> puedes configurarlo así, tus scripts también correrían como root.
>>
>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>



-- 
--
Liso^TLOTB
Bite my shiny metal ass
___
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


Re: [Python-es] Mejora de codigo.

2017-07-06 Por tema Angel Lis
Hola César,
tu solución es bastante correcta, lo único que te diría es que el except
genérico, puede darte problemas. Deberías capturar la excepción que
quieres.Me explico:

Imaginate que usas tu función, pero no has hecho un
>from datetime import datetime
si no que lo has importado como
>import datetime
o incluso no lo has importado ( siempre se nos puede olvidar )

Bueno, en ese caso, siempre te va a dar un False, aunque le pases un ts
correcto, ya que la excepción NameError o AttributeError la estas
capturando y enmascarando. Y eso es fuente de bugs muy "jodios" de cazar.

podrías usar tu función como:

def is_timestamp(var):
try:
datetime.fromtimestamp(var)
return True
except TypeError:
return False
except OSError:
#llamada con un float("nan")
return False
except OverflowError:
#llamada con un float("inf")
return False



aunque si no quieres, o estas en contra de usar tantos try/except, también
puedes comprobar si es un valor numérico, aunque el float("nan") y el
float("inf") tendrías que capturarlo también:

def is_timestamp_no_try_except(var):
return isinstance(var,float) | isinstance(var,int)


Un saludo.

El 5 de julio de 2017, 17:28, César García Tapia 
escribió:

> ¿Por qué no te gusta? Las excepciones sirven exactamente para eso. Que se
> suelan usar para control de errores no significa que sea su único uso
> correcto.
>
> Eso sí, siempre debes usar la excepción más específica posible, así que en
> vez de "except" deberías poner "except TypeError", que es la excepción que
> lanza fromtimestamp() si le pasas algo que no sea un número.
>
> Un saludo.
>
>
> *César García Tapia*
> Director técnico
> Tlf: +34 663 273 481 <+34+663+273+481>
> Skype: cesargarciatapia
> <#m_-1228148143883588336_UNIQUE_ID_SafeHtmlFilter_>
> Web: https://www.openshine.com/
>
> El 3 de julio de 2017, 17:41, Nicolas lino 
> escribió:
>
>> Buenas.
>>
>> A alguien se le ocurre una manera mas prolija o una librería para hacer
>> lo siguiente:
>>
>>
>> >>> a
>> 1499095933.289
>> >>> b
>> 'asdasdsa'
>> >>> def is_timestamp(var):
>> ...   try:
>> ... datetime.fromtimestamp(var)
>> ... return True
>> ...   except:
>> ... return False
>> ...
>> >>> is_timestamp(a)
>> True
>> >>> is_timestamp(b)
>> False
>>
>>
>> No me gusta la idea de usar un try y forzar una excepción para validar si
>> es un timestamp. Pero no se me a ocurrido nada mejor.
>>
>>
>> Gracias!
>>
>>
>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
>


-- 
--
Liso^TLOTB
Bite my shiny metal ass
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Mejora de codigo.

2017-07-06 Por tema Angel Lis
Perdón César,
la respuesta era para Nicolas ;)

El 6 de julio de 2017, 11:32, Angel Lis  escribió:

> Hola César,
> tu solución es bastante correcta, lo único que te diría es que el except
> genérico, puede darte problemas. Deberías capturar la excepción que
> quieres.Me explico:
>
> Imaginate que usas tu función, pero no has hecho un
> >from datetime import datetime
> si no que lo has importado como
> >import datetime
> o incluso no lo has importado ( siempre se nos puede olvidar )
>
> Bueno, en ese caso, siempre te va a dar un False, aunque le pases un ts
> correcto, ya que la excepción NameError o AttributeError la estas
> capturando y enmascarando. Y eso es fuente de bugs muy "jodios" de cazar.
>
> podrías usar tu función como:
>
> def is_timestamp(var):
> try:
> datetime.fromtimestamp(var)
> return True
> except TypeError:
> return False
> except OSError:
> #llamada con un float("nan")
> return False
> except OverflowError:
> #llamada con un float("inf")
> return False
>
>
>
> aunque si no quieres, o estas en contra de usar tantos try/except, también
> puedes comprobar si es un valor numérico, aunque el float("nan") y el
> float("inf") tendrías que capturarlo también:
>
> def is_timestamp_no_try_except(var):
> return isinstance(var,float) | isinstance(var,int)
>
>
> Un saludo.
>
> El 5 de julio de 2017, 17:28, César García Tapia 
> escribió:
>
>> ¿Por qué no te gusta? Las excepciones sirven exactamente para eso. Que se
>> suelan usar para control de errores no significa que sea su único uso
>> correcto.
>>
>> Eso sí, siempre debes usar la excepción más específica posible, así que
>> en vez de "except" deberías poner "except TypeError", que es la excepción
>> que lanza fromtimestamp() si le pasas algo que no sea un número.
>>
>> Un saludo.
>>
>>
>> *César García Tapia*
>> Director técnico
>> Tlf: +34 663 273 481 <+34+663+273+481>
>> Skype: cesargarciatapia
>> <#m_8858629466002260070_m_-1228148143883588336_UNIQUE_ID_SafeHtmlFilter_>
>> Web: https://www.openshine.com/
>>
>> El 3 de julio de 2017, 17:41, Nicolas lino 
>> escribió:
>>
>>> Buenas.
>>>
>>> A alguien se le ocurre una manera mas prolija o una librería para hacer
>>> lo siguiente:
>>>
>>>
>>> >>> a
>>> 1499095933.289
>>> >>> b
>>> 'asdasdsa'
>>> >>> def is_timestamp(var):
>>> ...   try:
>>> ... datetime.fromtimestamp(var)
>>> ... return True
>>> ...   except:
>>> ... return False
>>> ...
>>> >>> is_timestamp(a)
>>> True
>>> >>> is_timestamp(b)
>>> False
>>>
>>>
>>> No me gusta la idea de usar un try y forzar una excepción para validar
>>> si es un timestamp. Pero no se me a ocurrido nada mejor.
>>>
>>>
>>> Gracias!
>>>
>>>
>>>
>>> ___
>>> Python-es mailing list
>>> Python-es@python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>>
>>>
>>
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>>
>
>
> --
> --
> Liso^TLOTB
> Bite my shiny metal ass
>



-- 
--
Liso^TLOTB
Bite my shiny metal ass
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Distintos Encodings en Python

2018-11-01 Por tema Angel Lis
Hola,
en Python3 todo texto es unicode por defecto y el encoding del source es
siempre unicode.
En este pagina te lo explica:
https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit

Un saludo.

El mié., 31 oct. 2018 a las 14:24, Sergio Fernández ()
escribió:

> Primero, definiendo en la cabecera de tus ficheros
> https://docs.python.org/2.3/whatsnew/section-encodings.html
>
> #!/usr/bin/env python
> # -*- coding: UTF-8 -*-
>
> Segundo, defiendo explicitamente el encoding cuando abres ficheros para
> lectura/escritura:
>
> open('some.csv', encoding='utf-8')
>
>
>
>
>
> On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak  wrote:
>
>> Gracias por el consejo Sergio.
>>
>> ¿Cómo podría forzar a que el script / app  fuera obligado a utilizar
>> Unicode?
>>
>> Saludos ;-)
>>
>> On Wed, 31 Oct 2018 at 13:44, Sergio Fernández  wrote:
>>
>>> Utiliza siempre un encoding independiente de la plataforma que soporte
>>> el juego de caracteres que necesitas. Unicode es tu amigo ;-)
>>>
>>> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak 
>>> wrote:
>>>
 Hola,

 Estoy trabajando en un entorno Windows con Python 3.7 y según veo en el
 encoding utilizo cp1252 - windows -1252 Western Europe.

 Quiero obtener información de una web con caracteres rusos y guardar la
 información en un fichero CSV.

 Según he visto el encoding necesario es cp1251 - windows - 1251 -
 Bulgarian, Byelorussian, Macedonian, Russian, Serbian.

 Pero no sé cómo puedo usarlo desde Python o qué debo hacer para poder
 grabar la información correctamente en el fichero CSV.

 ¿Alguien me podría mostrar algo de luz?

 Un saludo ;-)


 ___
 Python-es mailing list
 Python-es@python.org
 https://mail.python.org/mailman/listinfo/python-es

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


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Distintos Encodings en Python

2018-11-01 Por tema Angel Lis
Creo que estas dandole demasiadas vueltas.
Mi recomendacion es que trabajes siempre con unicode.

Por lo que explicas quieres algo asi:

~~~ Python

import urllib
from bs4 import BeautifulSoup

url = 'https://www.yandex.ru/'

req = urllib.request.Request(url, data=None, headers={'User-Agent':
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/35.0.1916.47 Safari/537.36'})
html = urllib.request.urlopen(req).read()

soup = BeautifulSoup(html)
title_text = soup.find('title').text
# el titulo ya es un unicode, o 'str' en python3x
print("Type of title: ".format(type(title_text)))
print(f"Title of the page: {title_text}")

# si quieres convertilo a cp1251, pero yo trabajaria siempre con unicode
title_encoded_cp1251 =  title_text.encode('cp1251')

~~~



echale un ojo a esta presentacion que te aclarara muchas cosas:
http://farmdev.com/talks/unicode/


Un saludo

El jue., 1 nov. 2018 a las 12:35, Ander Garmendia ()
escribió:

> Hola,
>
> tiene pinta de que al scrapear la página no estás ulizando el codec
> adecuado (creo que pusiste cp1251) y por lo tanto el programa no es capaz
> de interpretar el texto.
>
> Primero, cerciorarte del encoding que están ulizando esas páginas web y
> utiliza ese encoding en BeautifulSoup para obtener el contenido ( no
> conozco la librería, por lo que no te puedo decir mas, pero seguro que hay
> alguna manera de definir el encoding).
>
> Una vez que tienes el contenido bien descodificado, puedes trabajar con el
> tranquilamente, ya que Python3 trabaja con bytes.
>
> Para terminar si quieres guardar el contenido tendrás que volver a
> codificarlo, preferiblemente en UTF8, y como te han comentado en los
> ejemplos que te han enviado anteriormente.
>
> Un saludo.
>
>
>
> El jue., 1 nov. 2018 11:59, Pixu Kideak  escribió:
>
>> Hola,
>>
>> En la prueba que estoy realizando, utilizo BeautifulSoup [
>> https://www.crummy.com/software/BeautifulSoup/bs4/doc/] con Python 3.7.
>>
>> Mi objetivo es mediante BeautifulSoup tener todo el código de la página y
>> por ejemplo almacenar el título de ésta en un fichero CSV. (En realidad se
>> tratan de más datos de la web que lo realiza mediante un búcle recorriendo
>> las distintas webs existentes; pero creo que es suficiente si consigo
>> almacenar el título de la web que tiene letras del alfabeto cirílico en el
>> fichero CSV).
>>
>> Primeramente quiero verlo todo en consola, así soy capaz de obtener el
>> título de la web y pintarlo en la consola; pero a la hora de mostrarlo, no
>> me muestra los caracteres cirílicos  sino "" es por eso que enfocaba el
>> problema cómo si se tratara de un problema de encoding.
>>
>> Un saludo,
>>
>> On Thu, 1 Nov 2018 at 08:11, Angel Lis  wrote:
>>
>>> Hola,
>>> en Python3 todo texto es unicode por defecto y el encoding del source es
>>> siempre unicode.
>>> En este pagina te lo explica:
>>>
>>> https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
>>>
>>> Un saludo.
>>>
>>> El mié., 31 oct. 2018 a las 14:24, Sergio Fernández ()
>>> escribió:
>>>
>>>> Primero, definiendo en la cabecera de tus ficheros
>>>> https://docs.python.org/2.3/whatsnew/section-encodings.html
>>>>
>>>> #!/usr/bin/env python
>>>> # -*- coding: UTF-8 -*-
>>>>
>>>> Segundo, defiendo explicitamente el encoding cuando abres ficheros para
>>>> lectura/escritura:
>>>>
>>>> open('some.csv', encoding='utf-8')
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak 
>>>> wrote:
>>>>
>>>>> Gracias por el consejo Sergio.
>>>>>
>>>>> ¿Cómo podría forzar a que el script / app  fuera obligado a utilizar
>>>>> Unicode?
>>>>>
>>>>> Saludos ;-)
>>>>>
>>>>> On Wed, 31 Oct 2018 at 13:44, Sergio Fernández 
>>>>> wrote:
>>>>>
>>>>>> Utiliza siempre un encoding independiente de la plataforma que
>>>>>> soporte el juego de caracteres que necesitas. Unicode es tu amigo ;-)
>>>>>>
>>>>>> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak 
>>>>>> wrote:
>>>>>>
>>>>>>> Hola,
>>>>>>

Re: [Python-es] copy.deepcopy() falla cuando el objeto a copiar tiene logging

2018-11-26 Por tema Angel Lis
Hola Jose,
el problema que describes es la razon de por que existe el metodo
copy.copy() y copy.deepcopy()
de la documentacion:

https://docs.python.org/2.7/library/copy.html

"""

   - A *shallow copy* constructs a new compound object and then (to the
   extent possible) inserts *references* into it to the objects found in
   the original.
   - A *deep copy* constructs a new compound object and then, recursively,
   inserts *copies* into it of the objects found in the original.


"""

Y para el objeto logging:

https://docs.python.org/2.7/library/logging.html?highlight=logging#thread-safety
"""
The logging module is intended to be thread-safe without any special work
needing to be done by its clients. It achieves this though using threading
locks; there is one lock to serialize access to the module’s shared data,
and each handler also creates a lock to serialize access to its underlying
I/O.
"""

En este caso, probablemente deberas usar un copy() en vez de deepcopy.
Espero haberte ayudado.

Un saludo.

PD: Yo tampoco tengo tildes en el teclado

El lun., 26 nov. 2018 a las 23:30, Jose Caballero ()
escribió:

> Hola,
>
> tengo una clase C, a cuyos objetos puedo, en principio, hacer copias
> con copy.deepcopy().
> Sin embargo, cuando a la clase C le agrego logging en el __init__ [1],
> ya no funciona [2].
> ?No me queda mas remedio que copiar el objeto "manualmente"?
> ?O existe alguna forma limpia de evitar este problema?
>
> Gracias por adelantado.
> Un saludo, y perdon por la falta de tildes.
> Jose
>
>
> [1]
> def __init__(self):
>   self.log = logging.getLogger()
>   logStream = logging.StreamHandler()
>   
>   self.log.addHandler(logStream)
>
> [2]
>  File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
>   File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
> state = deepcopy(state, memo)
>   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
> y = copier(x, memo)
>   File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
> y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
>   File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
> state = deepcopy(state, memo)
>   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
> y = copier(x, memo)
>   File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
> y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
> y = copier(x, memo)
>   File "/usr/lib64/python2.7/copy.py", line 230, in _deepcopy_list
> y.append(deepcopy(a, memo))
>   File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
>   File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
> state = deepcopy(state, memo)
>   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
> y = copier(x, memo)
>   File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
> y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
>   File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct
> state = deepcopy(state, memo)
>   File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy
> y = copier(x, memo)
>   File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict
> y[deepcopy(key, memo)] = deepcopy(value, memo)
>   File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
> y = _reconstruct(x, rv, 1, memo)
>   File "/usr/lib64/python2.7/copy.py", line 329, in _reconstruct
> y = callable(*args)
>   File "/usr/lib64/python2.7/copy_reg.py", line 93, in __newobj__
> return cls.__new__(cls, *args)
> TypeError: object.__new__(thread.lock) is not safe, use
> thread.lock.__new__()
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Necesito ayuda con hilos o algún método para que no salga el mensaje: La aplicación no responde.

2019-03-01 Por tema Angel Lis
Buenas Hector,
creo, sin haber adentrado demasiado en tu codigo, que estas usando
incorrectamente el Popen, ademas the un poco de confusion con el tema de
Threads vs Processes.

Supongo que tu objetivo es lanzar un proceso ( programa externo, con su
heap propio, etc) y cada X tiempo "checkear" si  el programa ha acabado, ha
fallado o cualquier cosa entre medio.

Con Popen, el primer parametro es un array (o lista) de string, que definen
en proceso y los parametros, asi que en tu caso seria algo asi como:

comando1 = ["adb", "push" , f"{abrirzip}", " /sdcard/"]

Y luego, para checkear el status podrias hacer algo como esto:

In [3]: with
subprocess.Popen(["/bin/bash","/tmp/blah.sh"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
as myproc:
...: while True:
...: try:
...: res = myproc.wait(1) #wait for the process to end for
1 second
...: print(res) # if 0 ok, for any other value...
mastercard ;)
...: print(myproc.stdout.read()) #show the output, or
stderr if you want to show teh error
...: break
...: except subprocess.TimeoutExpired as e:
...: print("still running")
...: continue
...:
...:
ahora mismo no puedo ofrecerte una respuesta mas extensa, pero si tienes
cualqueir duda, pregunta que te respondere en cuando pueda.


Un saludo.




El vie., 1 mar. 2019 a las 10:01, Héctor J. Benítez Corredera (<
facturasxebo...@gmail.com>) escribió:

> Hola empezare diciendo que soy nuevo en Python y autodidacta por lo que lo
> de buscar es lo único que hago.
>
>
>
> Bien me encuentro en un problema el cual no consigo encontrar solución ni
> ningún ejemplo el cual me aclare el concepto o como usar el tema de los
> hilos, creo que los hilos es la solución a mi problema.
>
>
>
> Bien paso a detallarlo, e programado una interface con wxpython y estoy
> usando Python 3.7 DE 64 BITS, la cual tiene una consola que captura stdout
> y stderr y da el resultado en esa consola. Los resultados vienen de la
> interacción con la aplicación adb.exe la cual llamo através de popen.
>
> Bien todo funciona correctamente hasta que hago la llamada adb.exe através
> de popen y como es copiar un archivo grande al móvil la interface se cuelga
> hasta que no termina el proceso saliendo el mensaje la aplicación no
> responde…
>
>
>
> Bien e leído mucho sobre los hilos y la verdad no tengo nada claro, e
> mirado muchos ejemplos y e intentado integrarlos pero sin éxito en ninguno.
>
>
>
> Quiero algo sencillo que se ejecute popen, me deje capturar el stdout,
> stderr y el returncode, decir que antes de lanzar popen lanzo una ventana
> de Espere por favor… y deseo que no se pueda interactuar con la aplicación
> hasta que no termine bien o mal el proceso de popen. Esto ultimo lo consigo
> con la ventana de Espere por favor.
>
>
>
> Bien lo ultimo que creía que me podía funcionar es:
>
>
> http://stackoverflow.com/questions/1191374/subprocess-with-timeout/4825933#4825933
>
>
>
> E visto mucho como capturar el stdout y stderr en tiempo real, e visto
> como actualizar la consola conforme llegan los datos a dichos parámetros
> pero nada de eso me interesa y los ejemplos son muy complicados para mi
> nivel actual.
>
>
>
> Bien dejo parte del código el cual me tiene parado ya que no quiero
> continuar hasta encontrarle una solución al problema de la aplicación no
> responde.
>
>
>
> Comentar que estoy en Windows 10.
>
>
>
> ### Inicio código
>
>
>
> wildcard = "Archivos flash (*.ZIP)|*.zip"
>
>
>
> dlg = wx.FileDialog(
>
> self, message="Seleccione un Archivo",
>
> defaultDir=os.getcwd(),
>
> defaultFile="",
>
> wildcard=wildcard,
>
> style=wx.FD_OPEN |
>
>   wx.FD_CHANGE_DIR | wx.FD_FILE_MUST_EXIST |
>
>   wx.FD_PREVIEW
>
> )
>
> if dlg.ShowModal() == wx.ID_OK:
>
> paths = dlg.GetPaths()
>
> for path in paths:
>
> global abrirzip
>
> abrirzip = path
>
> global archivoresultado
>
> archivoresultado = os.path.basename(abrirzip)
>
> dlg.Destroy()
>
> result = Result()
>
> loadDlg = PopupDialog(None, "Espere por favor...",
> "Ejecutando la acción, no cierre esta ventana y espere información...")
>
> print(time.strftime("%H:%M:%S") + " *** Inicio de la copia al
> Almacenamiento Interno de " + archivoresultado + " ***\n")
>
>
>
> play_sound()
>
>
>
> os.chdir(directorio + "/zbin")
>
> ### Esto es lo que me gustaría que no bloqueara el programa
>
> ### Que trabajara detrás de la ventana Espere por favor…
>
> comando1 = "adb push " + abrirzip + " /sdcard/"
>
> p = Popen(comando1, stdin=PIPE, stdout=PIPE, stderr=PIPE,
> encoding='utf8', startupinfo=si)
>
> (stdout, stderr) = p.communicate()
>
>
>
> ### Estos da

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

2019-03-22 Por tema Angel Lis
Hola Pixu,
Tienes varias opciones para eso.
La mas directa es utilizar virtualenv para tu proyecto ya que es bastante
sencillo de usar y te ahorrara muchos problemas.
el modo de trabajo eso es siguiente.
Creas un 'virtualenv' para tu proyecto:
$ cd myprojectdir
ejecutas python -m venv DIRECTORIO_DONDE_TENDRAS_VENV
Esto crea una "copia local especifica para tu sistema'. Vamos, que copia el
ejecutable de python, el pip, libs, etc dentro de ese directorio.

$ python -m venv venv
Activas el entorno virtual:
$ source ./venv/bin/activate  # Para *nix systems
$ .\venv\scripts\activate  # para Windoze.
instalas los requerimientos
$ pip install -r requeriments.txt
Ejecutas lo que quieras:
$python my_super_programa.py

Algunas cosas interesantes.
Cuando tengas tu proyecto listo, o simplemente has hecho pruebas y funciona
bien, es recomendable crearte un 'requeriments.txt' con las librerias de
terceros que uses y la version EXACTA que estas usando, asi podras evitar
el Version Hell
$ pip freeze > requeriment.txt

Por que es una buena idea hacer esto, pues inicialmente para usar siempre
la misma libreria con la que has comprobado que tu sistema funciona.
Luego para evitar que, si tienes las librerias instaladas a nivel de
sistema o de tu usuario local, haya incompatibilidades entre software.
Tipico este programa necesita numpy==10.x y este otro un numpy<=11.x, con
tu virtualenv tienes en cada sistema la lib que necesitas.


Otra opcion que puedes hacer es desplegar tu proyecto dentro de un docker.
Para las ventajas, desventajas, problemas y tips de docker, pregunta en un
mail aparte ;)

PS: me quedo sin timpo para responder mas extensamente.
PS2: sorry por las tildes, teclado ingles.




El vie., 22 mar. 2019 a las 11:12, Pixu Kideak ()
escribió:

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


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] lñibrería de audio 3d

2019-05-19 Por tema Angel Lis
Buenos días Miguel,
No se como está el tema de audio ultimamente, pero para este tipo de cosas
se ha utilizado normalmente OpenAL:
https://www.openal.org/

Y los bindings para python:
https://pypi.org/project/PyOpenAL/


Lamento no poder ayudarte más .

Un saludo.




El jue., 16 may. 2019 a las 1:19, Miguel Barraza (<
miguelbarraza2...@gmail.com>) escribió:

> Buenas grupo, estoy desarrollando un audiojuego (juego accesible para
> ciegos en audio), con pygame en python 3.7. estoy teniendo algunos
> problemas para encontrar una librería de audio con posicionamiento 3d: a
> que me refiero con esto, que pueda reproducir un audio en loop y
> posicionarlo en algun punto 3d, que no solo se escuche de izquierda a
> derecha, si no detrás, adelante, arriba, abajo, etc.
> las que vengo probando son: libaudioverse, pyglet, y openAl, este ultimo
> me cuesta un poco mas porque la documentación y ejemplos son un poco
> escasos.
>
> ¿conocen alguna otra librería que me pueda ayudar?.
>
> gracias.
>
> atte, Miguel
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Presentación] y [Consulta]

2020-06-19 Por tema Angel Lis
Hola Veronica y bienvenida,
sobre tu cuestión, fchdir vs chdir se diferencian en que chdir cambia en
directorio de trabajo al que tu le pases con un string,
en cambio fchdir le pasas un descriptor de fichero, o sea que tienes que
hacer un open del directorio y luego gestionar tu el close del descrito.

A nivel de performance con esas funciones no te preocupes, no creo que sea
algo que ejecutes constantemente.

De todas maneras, si lo que quieres para trabajar con paths es recomendable
intentar usar la pathlib ( https://docs.python.org/3.8/library/pathlib.html
) que viene por defecto en python3, ya que te abstrae del sistema de
ficheros (vamos que funciona igual en windows, linux, etc).

Échale un ojo si te apetece.

sobre tu función, te estás dejando un descriptor de fichero abierto, y eso
generará errores. Si es posible intenta acostumbrarte a usar el idiomatic
with para trabajar con descriptores, si puedes, claro.

Para tu función podría quedar así:

def cambio_ruta(self, cambio, cambiado):
cambio = input("\nIngrese ruta a la que quiere cambiar: ")
with os.open(cambio, os.O_RDONLY) as cambiado:
os.fchdir(fd=cambiado)
contador = 0
for elemento in os.scandir(cambio):
contador = contador + 1
print(elemento)
print(f"\nTotal de elementos: {contador}")
# al salir del scope de with, "ejecuta" cambiado.close() automagicamente.
return "\nDirectorio actual de trabajo: {}".format(os.getcwd())



usando el with, cuando sale del scope, ejecuta el close() de "cambiado"


Espero haberte ayudado,

un saludo!
Angel Lis ^ aka Liso


El jue., 18 jun. 2020 a las 9:46, Lemarchand Barker (<
lemarchand8...@gmail.com>) escribió:

> Hola, me llamo Verónica y después de muchos años estoy retomando
> nuevamente python. Estoy en Python 3.8.
> Actualmente estoy usando Ubuntu 20.04 - Gnome, ide PyCharm 2020.1.2.
> Como bien mencioné, estoy retomando y cuando abandoné el lenguaje, tampoco
> es que estaba muy avanzada pero la diferencia es que ahora estoy más
> decidida. Quiero aprender porque es un lenguaje que para mi es fácil y lo
> puedo entender.
> Mi consulta es respecto a lo siguiente. Si bien hay muchos reproductores
> multimedia para elegir yo quiero hacer uno similar al moc (reproductor de
> mp3 para consola) pero de video.
> Lo que necesito prácticamente y para ser puntual es algo que me permita
> ejecutar el video en cuestión.
> Hasta ahora lo que tengo hecho es; todo por consola:
> 1- Que la aplicación te muestre la ruta actual en la que estás:
> *os.getcwd()*
> 2- Que te permita ingresar la ruta a la cual querés ir:
>
> def cambio_ruta(self, cambio, cambiado):
> cambio = input("\nIngrese ruta a la que quiere cambiar: ")
> cambiado = os.open(cambio, os.O_RDONLY)
> os.fchdir(fd=cambiado)
> contador = 0
> for elemento in os.scandir(cambio):
> contador = contador + 1
> print(elemento)
> print(f"\nTotal de elementos: {contador}")
> return "\nDirectorio actual de trabajo: {}".format(os.getcwd())
>
> Buscando como hacer para cambiar de ruta me encontré con el planteo de
> mucha gente que quería saber cuál era la diferencia entre *chdir()* y
> *fchdir()*. Si bien no me quedó muy en claro la diferencia la mayoría
> coincidía en que fchdir es el que tiene mejor rendimiento. Lo mismo me pasó
> con la opción *scandir()*, que de todas las opciones era la que mejor
> funcionaba también respecto a rendimiento.
> Todo este código es para ver si funcionaba, y logro cambiarme cuando
> ingreso la ruta, e incluso puedo ver el contenido de la misma pero mi
> problema viene cuando quiero ejecutar el archivo de video (mp4).
> Todo lo que encontraba era con entorno gráfico como qt, tkinter, cv y no
> es eso lo que necesito.
> Encontré algo similar pero que reproduce mp3 que es lo que voy a probar
> más tarde y lo encontré acá:
> Probando pydub para convertir y reproducir audio
> <https://www.elarraydejota.com/probando-pydub-para-convertir-y-reproducir-audio/>
> Eso es todo, y pido disculpas por mi código, seguramente se lo puede pulir
> más para que quede mucho mejor, y esa es la idea más adelante.
> Muchas gracias y espero me puedan ayudar.
> Saludos desde Argentina
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Progreso]Reproducción de video con opencv

2020-06-23 Por tema Angel Lis
Hola Lemarchand,
no entiendo muy bien que quieres decir con que corra en la misma terminal
que lo ejecutas.
La terminal solo es capaz de pintar texto, si quieres gfx, debes tener una
ventana aparte.

Si lo que quieres es "ver" el video en ascii art, puedes jugar con aalib (
http://jwilk.net/software/python-aalib)

Por cierto, Grande Nightwish ;)

El mar., 23 jun. 2020 a las 9:41, Lemarchand Barker (<
lemarchand8...@gmail.com>) escribió:

> Hola cómo me habían aconsejado antes, para reproducir un video que use
> opencv.
> Busqué y me encontré con un código que me permitió ejecutarlo pero sin
> sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la
> imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se
> escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi
> con opencv.
> Si bien creo que me estoy acercando a lo que necesito no es precisamente
> lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver
> el video, sino que corra en la misma terminal que lo ejecuto, si esto no es
> posible o ya es muy complejo, no tiene mucho sentido seguir porque hay
> miles de reproductores muy buenos.
> Saludos y gracias a todos y sobre todo por la paciencia
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Progreso]Reproducción de video con opencv

2020-06-23 Por tema Angel Lis
Mostrar gráficos en una terminal standard no es posible.
La terminal está diseñada para trabajar solo con texto, X caracteres Y
líneas sin necesidad de tener memoria de video ni demás "moderneces" :D
Las terminales, o consolas, nacieron como un sistema para mandar comandos (
y recibir respuestas) de los primeros ordenadores a través de los famosos
puertos serie, o por red ( telnet -> *Teletype Network *)
*. *
De hecho, cuando se dió el boom de los ordenadores personales, fue algo que
no todos los sistemas implementaron así. Por ejemplo, si no me equivoco,
Amiga trabajaba directamente en modo gráfico y emulaba la terminal.
Obviamente sistemas más antiguos hacían implementaciones mixtas. Todavia
recuerdo modificar los UDG de mi spectrum :).

/mode abuelo cebolleta off.


De todas maneras, si te interesa seguir investigando el tema, está
discusión en askubuntu está bastante bien:
https://askubuntu.com/questions/97542/how-do-i-make-my-terminal-display-graphical-pictures


Un saludo,
Angel.



El mar., 23 jun. 2020 a las 13:55, lemarchand8679 ()
escribió:

> Hola Angel, mi idea era reproducir un video en la terminal. Por ej en
> Ubuntu (mi s.o):
> user@user-note: python3 script.py
> Y se reptoduzca sin tener que abrirse una ventana.
> Quería saber si era posible hacer algo como moc (reproductor mp3 para
> terminal, sin interfaz gráfica), pero por lo visto la única forma es pasar
> la imagen a ascii.
> Muchas gracias
> PS: amo Nightwish pero la época de Tarja.
> Saludos
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
>  Mensaje original 
> De: Angel Lis 
> Fecha: 23/6/20 04:56 (GMT-03:00)
> A: La lista de python en castellano 
> Asunto: Re: [Python-es] [Progreso]Reproducción de video con opencv
>
> Hola Lemarchand,
> no entiendo muy bien que quieres decir con que corra en la misma terminal
> que lo ejecutas.
> La terminal solo es capaz de pintar texto, si quieres gfx, debes tener una
> ventana aparte.
>
> Si lo que quieres es "ver" el video en ascii art, puedes jugar con aalib (
> http://jwilk.net/software/python-aalib)
>
> Por cierto, Grande Nightwish ;)
>
> El mar., 23 jun. 2020 a las 9:41, Lemarchand Barker (<
> lemarchand8...@gmail.com>) escribió:
>
>> Hola cómo me habían aconsejado antes, para reproducir un video que use
>> opencv.
>> Busqué y me encontré con un código que me permitió ejecutarlo pero sin
>> sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la
>> imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se
>> escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi
>> con opencv.
>> Si bien creo que me estoy acercando a lo que necesito no es precisamente
>> lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver
>> el video, sino que corra en la misma terminal que lo ejecuto, si esto no es
>> posible o ya es muy complejo, no tiene mucho sentido seguir porque hay
>> miles de reproductores muy buenos.
>> Saludos y gracias a todos y sobre todo por la paciencia
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>
>
> --
> --
> Àngel Lis.
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>


-- 
--
Àngel Lis.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] Que libro me recomendaís

2020-07-18 Por tema Angel Lis
IMHO,
Sin lugar a dudas, automate the boring stuff with python.

https://automatetheboringstuff.com/



El sáb., 18 jul. 2020 10:39, Javier Perez 
escribió:

> Hola,
>
>
> Para un nivel medio de python, ¿qué libro me recomendáis?
>
> No tiene porque ser impreso, me valdría: PDF, web, curso.
>
> Es que veo mucho por internet pero suele ser un nivel inicial.
>
> Que siendo sinceros, todavía me queda, pero bueno, por ir un poco sobre
> seguro.
>
>
>
> Saludos,
>
> --
> Javier Pérez
> http://es.linkedin.com/in/javierperez1
> http://www.perasalvino.es/
>
>
>
>
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es