[Olpc-uruguay] Cómo mantener interactuando actividades
amviera en adinet.com.uy
amviera en adinet.com.uy
Vie Jun 3 21:43:22 EDT 2011
Muchas gracias Agustín.
Por ahora no entendí mucho ya que eso no lo conocía, pero lo voy a
probar y a estudiar. Seguramente la solución vendrá por ahí.
En realidad, estoy corrigiendo y agregando cosas a CeibalTerminal, que
no funcionaba con la nueva versión de sugar, al menos en las máquinas
Olidata.
Mi interés es agregarle más herramientas, por eso hace algún tiempo
subí una nueva versión que, entre otras cosas, reconocía ciertos
archivos y permitía leerlos, ya sean imágenes, sonido, textos, flash,
pdf y otros.
Ahora le agregué nuevas funciones y cuando lo tenga funcionando lo
subiré al portal.
Una de las cosas que hace es reconocer los archivos de python y
también las actividades que corren bajo sugar (desde la vista hogar) e
incluso también si están en otros directorios diferentes a ...
/Activities/.
Eso ayuda a programar directamente en la XO. Por ejemplo, ahora estoy
haciendo también otra actividad, y para eso, CeibalTerminal me permite
editar el texto de los archivo .py correspondientes. Si guardo los
cambios SIN CERRAR el editor de texto puedo hacer correr esos archivos
y ver cómo va quedando la actividad. Pero hasta que no cierro la
actividad que estoy probando, no puedo modificar el texto del archivo .
py
Eso es sólo un ejemplo, pero se me han presentado muchos casos más,
por ejemplo cuando tengo que tener abiertos al mismo tiempo dos o más
archivos para comparar su contenido.
Bueno, voy a probar threading.
Gracias, Mauricio Viera.
>----Mensaje original----
>De: aguszs97 en gmail.com
>Fecha: 03/06/2011 18:58
>Para: "Comunidad ceibalJAM"<olpc-uruguay en lists.laptop.org>
>Asunto: Re: [Olpc-uruguay] Cómo mantener interactuando actividades
>
>Hola Mauricio, para hacer lo que tu quieres (si entendí bien) hay
que
>trabajar con hilos.
>Si estas utilizando gtk esto se hace así:
>
>import threading # Importamos un modulo para trabajar con hilos
>
>gtk.threads_init() # iniciamos threads de gtk
>
>def ejecutar_mozilla(self): # una funcion para ejecutar un comando
externo
> gtk.threads_enter() # entra a threads (todo lo que se ejecuta
>abajo va por otro hilo)
> os.system("sugar-launch Mozilla") # ejecuta el comando
> gtk.threads_leave() # "soltamos" a threads
>
>hilo = threading.Thread(self.ejecutar_mozilla) # crea el hilo
>hilo.start() # y lo ejecuta
>
>Haber si te sirve.
>Suerte con tu actividad-
>
>El 03/06/11, Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com> escribió:
>>
>>
>> Hola!
>> Estoy casi seguro que es un tema de como llamás a los programas
externos.Con
>> lo del robot Butiá tenenmos que "levantar" un servidor de LUA y
luegose abre
>> la tortuga (TurtleArt). Para llamar a el servidor LUA usamos .sh
queejecuta:
>> "./lua bobot-server.lua &"
>> Cuál es el secreto?
>> El ampersand (&) del final es el secreto...Esto hace que se
ejecute, el
>> servidor en este caso, y quede "en un hilo separado",y continúe la
ejecución
>> del resto del programa...En tu caso debe pasar que se ejecuta y
queda a la
>> espera hasta que termineese proceso.En conclusión: buscá la forma
de hacer
>> eso que hace el ampersand (&).Generalmente alcanza con poner un
ampersand..
>> Depende el comando...
>> Alan
>>> Date: Fri, 3 Jun 2011 13:42:59 -0300
>>> From: amviera en adinet.com.uy
>>> To: olpc-uruguay en lists.laptop.org
>>> Subject: [Olpc-uruguay] Cómo mantener interactuando actividades
>>>
>>> Hola.
>>>
>>> Para un proyecto de actividad que tengo ya casi terminado, y
pronto
>>> para subir al portal, sólo me falta solucionar un pequeño
>>> inconveniente. Quizá alguien me pueda ayudar.
>>>
>>> En ciertos momentos es probable que el usuario necesite utilizar
>>> algunas de las herramientas con que cuenta esta actividad. Algunas
de
>>> ellas se encuentran en mòdulos que se importan al programa
principal, y
>>> se pueden utilizar varias al mismo tiempo sin ningún tipo de
>>> inconveniente. Si quedan en el marco se pueden utilizar unas u
otras, e
>>> incluso pueden interactuar.
>>>
>>> Mi problema es que en algunos casos no se trata de mòdulos sino de
>>> archivos independientes que se ejecutan con os.system("...")
>>>
>>> En ese caso sólo se puede utilizar aquel programa al que se llamó
>>> desde ese comando, mientras el resto de la actividad deja de
funcionar
>>> temjporalmente hasta que se cierre ese nuevo programa. Por eso no
es
>>> posible interactuar ni compartir información.
>>>
>>> Un ejemplo: Una de mis herramientas es un editor de texto (es un
>>> módulo y con él no hay problemas) con el que puedo crear un
archivo
>>> web. Si desde el mismo programa abro el Mozilla haciendo os.system
>>> ("sugar-launch Mozilla") para ver cómo va quedando el web, el
editor
>>> deja de funcionar al igual que el programa principal hasta que
cierro
>>> Mozilla.
>>>
>>> ¿Alguna posible solución?
>>>
>>> Gracias, Mauricio Viera.
>>>
>>>
>>> _______________________________________________
>>> Olpc-uruguay mailing list
>>> Olpc-uruguay en lists.laptop.org
>>> http://lists.laptop.org/listinfo/olpc-uruguay
>>
>
>
>--
>*Agustín Zubiaga <http://www.agustinzubiaga.k25.net/>*
>*
>*
>
>Alumno Utu Rafael Perazza
><http://sites.google.com/site/utuperaza2009>Miembro Python Joven
><http://sites.google.com/site/flaviodanesse/python-joven>Miembro
ceibalJAM!
><http://drupal.ceibaljam.org>Miembro SugarLabs <http://sugarlabs.org>
>
>
>Tel: 4340 - 2321
>Cel: 099 88 16 59
>
>*
>*
>_______________________________________________
>Olpc-uruguay mailing list
>Olpc-uruguay en lists.laptop.org
>http://lists.laptop.org/listinfo/olpc-uruguay
>
More information about the Olpc-uruguay
mailing list