[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