Re: [Sugar-devel] [PATCH Maze] Maze icon in the toolbar SL #3380

2012-05-09 Thread Manuel Kaufmann
On Tue, May 8, 2012 at 8:07 PM, James Cameron qu...@laptop.org wrote:
 Might you also fix olpcgames build_toolbar and check that sugargames
 has been fixed too?

I tried to migrate Maze to sugargame but there a lot of functionabilty
missing on that library, for example mesh, pausescreen, etc...

About the toolbar, sugargame does not provide anything to create the
toolbar automagically. So, there are nothing to fix.

Do you know why olpcgames is obsolete and is unmanteined? Should I try
to fix olpcgames? Should I improve it or these things does not make
sense?

-- 
Kaufmann Manuel
Blog: http://humitos.wordpress.com/
Porfolio: http://fotos.mkaufmann.com.ar/
PyAr: http://www.python.com.ar/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [SWEETS] Testing collaboration related fixes

2012-05-09 Thread Esteban Bordón
In 0.94 branch collaboration using ad-hoc network is not working. When a
laptop shares an activity the icon did not see int the other laptop.

I attach shell.log for details.


2012/4/10 Rafael Ortiz raf...@activitycentral.com



 On Tue, Apr 10, 2012 at 2:32 PM, Aleksey Lim alsr...@sugarlabs.orgwrote:

 On Tue, Apr 10, 2012 at 02:11:01PM -0500, Rafael Ortiz wrote:
  On Tue, Apr 10, 2012 at 12:00 PM, Rafael Ortiz
  raf...@activitycentral.comwrote:
 
  
  
   On Tue, Apr 10, 2012 at 11:00 AM, Aleksey Lim alsr...@sugarlabs.org
 wrote:
  
   On Tue, Apr 10, 2012 at 10:48:40AM -0500, Rafael Ortiz wrote:
   
A note while testing sweets-sugar-emulator
   
I cannot connect to a wpa enabled WiFi point.
nothing useful on the logs.
  
   Even after enabling all debug variables?
  
   Checking..
  
  
  Attaching shell.log in case it helps.

 There are several Momory errors..
 Did you run SD on a XO-1? Did it have any heavy applications launched at
 the same time?


 No. I'm running it on my laptop, should be o.k regarding memory.


  --
 Aleksey



 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel




shell.log
Description: Binary data
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Browse] Graphic for the cancel loading button in the URL entry changed #3499

2012-05-09 Thread Manuel Quiñones
2012/5/2 Simon Schampijer si...@schampijer.de:
 On 04/27/2012 11:58 AM, Manuel Quiñones wrote:

 Now features a square black background, to distingish it from the
 upcoming clear URL entry button.

 Signed-off-by: Manuel Quiñonesma...@laptop.org


 Hi Manu,

 thanks for the patch, I commented on the visual aspect in
 http://bugs.sugarlabs.org/ticket/3499#comment:8

Thanks for the comment, I have attached a new patch in the trac.

-- 
.. manuq ..
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread godiard
From: Gonzalo Odiard godi...@gmail.com

To avoid stoping playing the text when the xo go to sleep.
This patch creates a file in /var/run/powerd-inhibit-suspend/
and remove it when finish. Is the same technique used in activities
(the code is copied from Distance activity) but we need decide
if is the right thing to do in sugar.

Signed-off-by: Gonzalo Odiard gonz...@laptop.org
---
 src/jarabe/model/speech.py |   69 
 1 file changed, 63 insertions(+), 6 deletions(-)

diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
index 1cb0ad4..24f4152 100644
--- a/src/jarabe/model/speech.py
+++ b/src/jarabe/model/speech.py
@@ -21,6 +21,7 @@ import gconf
 import gst
 import gtk
 import gobject
+import dbus
 
 
 DEFAULT_PITCH = 0
@@ -30,6 +31,10 @@ DEFAULT_RATE = 0
 
 _speech_manager = None
 
+# directory exists if powerd is running.  create a file here,
+# named after our pid, to inhibit suspend.
+POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
+
 
 class SpeechManager(gobject.GObject):
 
@@ -138,7 +143,20 @@ class _GstSpeechPlayer(gobject.GObject):
 gobject.GObject.__init__(self)
 self._pipeline = None
 
+self.using_powerd = False
+if not self.powerd_running():
+try:
+bus = dbus.SystemBus()
+proxy = bus.get_object('org.freedesktop.ohm',
+   '/org/freedesktop/ohm/Keystore')
+self.ohm_keystore = dbus.Interface(
+proxy, 'org.freedesktop.ohm.Keystore')
+except dbus.DBusException, e:
+logging.warning(Error setting OHM inhibit: %s, e)
+self.ohm_keystore = None
+
 def restart_sound_device(self):
+self._inhibit_suspend()
 if self._pipeline is None:
 logging.debug('Trying to restart not initialized sound device')
 return
@@ -147,6 +165,7 @@ class _GstSpeechPlayer(gobject.GObject):
 self.emit('play')
 
 def pause_sound_device(self):
+self._allow_suspend()
 if self._pipeline is None:
 return
 
@@ -154,6 +173,7 @@ class _GstSpeechPlayer(gobject.GObject):
 self.emit('pause')
 
 def stop_sound_device(self):
+self._allow_suspend()
 if self._pipeline is None:
 return
 
@@ -172,12 +192,9 @@ class _GstSpeechPlayer(gobject.GObject):
 bus.connect('message', self.__pipe_message_cb)
 
 def __pipe_message_cb(self, bus, message):
-if message.type == gst.MESSAGE_EOS:
-self._pipeline.set_state(gst.STATE_NULL)
-self.emit('stop')
-elif message.type == gst.MESSAGE_ERROR:
-self._pipeline.set_state(gst.STATE_NULL)
-self.emit('stop')
+if message.type == gst.MESSAGE_EOS or \
+message.type == gst.MESSAGE_ERROR:
+self.stop_sound_device()
 
 def speak(self, pitch, rate, voice_name, text):
 # TODO workaround for http://bugs.sugarlabs.org/ticket/1801
@@ -223,6 +240,46 @@ class _GstSpeechPlayer(gobject.GObject):
 locale, best)
 return best
 
+def powerd_running(self):
+self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
+logging.debug(using_powerd: %d, self.using_powerd)
+return self.using_powerd
+
+def _inhibit_suspend(self):
+if self.using_powerd:
+fd = open(POWERD_INHIBIT_DIR + /%u % os.getpid(), 'w')
+logging.debug(inhibit_suspend file is %s % \
+   POWERD_INHIBIT_DIR + /%u % os.getpid())
+fd.close()
+return True
+
+if self.ohm_keystore is not None:
+try:
+self.ohm_keystore.SetKey('suspend.inhibit', 1)
+return self.ohm_keystore.GetKey('suspend.inhibit')
+except dbus.exceptions.DBusException:
+logging.warning(failed to inhibit suspend)
+return False
+else:
+return False
+
+def _allow_suspend(self):
+if self.using_powerd:
+os.unlink(POWERD_INHIBIT_DIR + /%u % os.getpid())
+logging.debug(allow_suspend unlinking %s % \
+   POWERD_INHIBIT_DIR + /%u % os.getpid())
+return True
+
+if self.ohm_keystore is not None:
+try:
+self.ohm_keystore.SetKey('suspend.inhibit', 0)
+return self.ohm_keystore.GetKey('suspend.inhibit')
+except dbus.exceptions.DBusException:
+logging.error(failed to allow suspend)
+return False
+else:
+return False
+
 
 def get_speech_manager():
 global _speech_manager
-- 
1.7.10.1

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread Paul Fox
i would much prefer that we could prevent suspend during any
audio playback, rather than have to have anyone that wants
to make noise do it individually.

that being said, you can eliminate any of the code below that deals
with the ohm keystore.  if we move away from powerd, it likely won't
be back to ohmd.

paul

godi...@sugarlabs.org wrote:
  From: Gonzalo Odiard godi...@gmail.com
  
  To avoid stoping playing the text when the xo go to sleep.
  This patch creates a file in /var/run/powerd-inhibit-suspend/
  and remove it when finish. Is the same technique used in activities
  (the code is copied from Distance activity) but we need decide
  if is the right thing to do in sugar.
  
  Signed-off-by: Gonzalo Odiard gonz...@laptop.org
  ---
   src/jarabe/model/speech.py |   69 
  
   1 file changed, 63 insertions(+), 6 deletions(-)
  
  diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
  index 1cb0ad4..24f4152 100644
  --- a/src/jarabe/model/speech.py
  +++ b/src/jarabe/model/speech.py
  @@ -21,6 +21,7 @@ import gconf
   import gst
   import gtk
   import gobject
  +import dbus
   
   
   DEFAULT_PITCH = 0
  @@ -30,6 +31,10 @@ DEFAULT_RATE = 0
   
   _speech_manager = None
   
  +# directory exists if powerd is running.  create a file here,
  +# named after our pid, to inhibit suspend.
  +POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
  +
   
   class SpeechManager(gobject.GObject):
   
  @@ -138,7 +143,20 @@ class _GstSpeechPlayer(gobject.GObject):
   gobject.GObject.__init__(self)
   self._pipeline = None
   
  +self.using_powerd = False
  +if not self.powerd_running():
  +try:
  +bus = dbus.SystemBus()
  +proxy = bus.get_object('org.freedesktop.ohm',
  +   '/org/freedesktop/ohm/Keystore')
  +self.ohm_keystore = dbus.Interface(
  +proxy, 'org.freedesktop.ohm.Keystore')
  +except dbus.DBusException, e:
  +logging.warning(Error setting OHM inhibit: %s, e)
  +self.ohm_keystore = None
  +
   def restart_sound_device(self):
  +self._inhibit_suspend()
   if self._pipeline is None:
   logging.debug('Trying to restart not initialized sound device')
   return
  @@ -147,6 +165,7 @@ class _GstSpeechPlayer(gobject.GObject):
   self.emit('play')
   
   def pause_sound_device(self):
  +self._allow_suspend()
   if self._pipeline is None:
   return
   
  @@ -154,6 +173,7 @@ class _GstSpeechPlayer(gobject.GObject):
   self.emit('pause')
   
   def stop_sound_device(self):
  +self._allow_suspend()
   if self._pipeline is None:
   return
   
  @@ -172,12 +192,9 @@ class _GstSpeechPlayer(gobject.GObject):
   bus.connect('message', self.__pipe_message_cb)
   
   def __pipe_message_cb(self, bus, message):
  -if message.type == gst.MESSAGE_EOS:
  -self._pipeline.set_state(gst.STATE_NULL)
  -self.emit('stop')
  -elif message.type == gst.MESSAGE_ERROR:
  -self._pipeline.set_state(gst.STATE_NULL)
  -self.emit('stop')
  +if message.type == gst.MESSAGE_EOS or \
  +message.type == gst.MESSAGE_ERROR:
  +self.stop_sound_device()
   
   def speak(self, pitch, rate, voice_name, text):
   # TODO workaround for http://bugs.sugarlabs.org/ticket/1801
  @@ -223,6 +240,46 @@ class _GstSpeechPlayer(gobject.GObject):
   locale, best)
   return best
   
  +def powerd_running(self):
  +self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
  +logging.debug(using_powerd: %d, self.using_powerd)
  +return self.using_powerd
  +
  +def _inhibit_suspend(self):
  +if self.using_powerd:
  +fd = open(POWERD_INHIBIT_DIR + /%u % os.getpid(), 'w')
  +logging.debug(inhibit_suspend file is %s % \
  +   POWERD_INHIBIT_DIR + /%u % os.getpid())
  +fd.close()
  +return True
  +
  +if self.ohm_keystore is not None:
  +try:
  +self.ohm_keystore.SetKey('suspend.inhibit', 1)
  +return self.ohm_keystore.GetKey('suspend.inhibit')
  +except dbus.exceptions.DBusException:
  +logging.warning(failed to inhibit suspend)
  +return False
  +else:
  +return False
  +
  +def _allow_suspend(self):
  +if self.using_powerd:
  +os.unlink(POWERD_INHIBIT_DIR + /%u % os.getpid())
  +logging.debug(allow_suspend unlinking %s % \
  +   POWERD_INHIBIT_DIR + /%u % os.getpid())
  +return True
  +
  +if self.ohm_keystore is not None:
  +   

Re: [Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread Gonzalo Odiard
On Wed, May 9, 2012 at 12:42 PM, Paul Fox p...@laptop.org wrote:

 i would much prefer that we could prevent suspend during any
 audio playback, rather than have to have anyone that wants
 to make noise do it individually.


But this should be done at a lower level, right?



 that being said, you can eliminate any of the code below that deals
 with the ohm keystore.  if we move away from powerd, it likely won't
 be back to ohmd.


Thanks. I was not sure if needed.

Gonzalo


 paul

 godi...@sugarlabs.org wrote:
   From: Gonzalo Odiard godi...@gmail.com
  
   To avoid stoping playing the text when the xo go to sleep.
   This patch creates a file in /var/run/powerd-inhibit-suspend/
   and remove it when finish. Is the same technique used in activities
   (the code is copied from Distance activity) but we need decide
   if is the right thing to do in sugar.
  
   Signed-off-by: Gonzalo Odiard gonz...@laptop.org
   ---
src/jarabe/model/speech.py |   69
 
1 file changed, 63 insertions(+), 6 deletions(-)
  
   diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
   index 1cb0ad4..24f4152 100644
   --- a/src/jarabe/model/speech.py
   +++ b/src/jarabe/model/speech.py
   @@ -21,6 +21,7 @@ import gconf
import gst
import gtk
import gobject
   +import dbus
  
  
DEFAULT_PITCH = 0
   @@ -30,6 +31,10 @@ DEFAULT_RATE = 0
  
_speech_manager = None
  
   +# directory exists if powerd is running.  create a file here,
   +# named after our pid, to inhibit suspend.
   +POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
   +
  
class SpeechManager(gobject.GObject):
  
   @@ -138,7 +143,20 @@ class _GstSpeechPlayer(gobject.GObject):
gobject.GObject.__init__(self)
self._pipeline = None
  
   +self.using_powerd = False
   +if not self.powerd_running():
   +try:
   +bus = dbus.SystemBus()
   +proxy = bus.get_object('org.freedesktop.ohm',
   +   '/org/freedesktop/ohm/Keystore')
   +self.ohm_keystore = dbus.Interface(
   +proxy, 'org.freedesktop.ohm.Keystore')
   +except dbus.DBusException, e:
   +logging.warning(Error setting OHM inhibit: %s, e)
   +self.ohm_keystore = None
   +
def restart_sound_device(self):
   +self._inhibit_suspend()
if self._pipeline is None:
logging.debug('Trying to restart not initialized sound
 device')
return
   @@ -147,6 +165,7 @@ class _GstSpeechPlayer(gobject.GObject):
self.emit('play')
  
def pause_sound_device(self):
   +self._allow_suspend()
if self._pipeline is None:
return
  
   @@ -154,6 +173,7 @@ class _GstSpeechPlayer(gobject.GObject):
self.emit('pause')
  
def stop_sound_device(self):
   +self._allow_suspend()
if self._pipeline is None:
return
  
   @@ -172,12 +192,9 @@ class _GstSpeechPlayer(gobject.GObject):
bus.connect('message', self.__pipe_message_cb)
  
def __pipe_message_cb(self, bus, message):
   -if message.type == gst.MESSAGE_EOS:
   -self._pipeline.set_state(gst.STATE_NULL)
   -self.emit('stop')
   -elif message.type == gst.MESSAGE_ERROR:
   -self._pipeline.set_state(gst.STATE_NULL)
   -self.emit('stop')
   +if message.type == gst.MESSAGE_EOS or \
   +message.type == gst.MESSAGE_ERROR:
   +self.stop_sound_device()
  
def speak(self, pitch, rate, voice_name, text):
# TODO workaround for http://bugs.sugarlabs.org/ticket/1801
   @@ -223,6 +240,46 @@ class _GstSpeechPlayer(gobject.GObject):
locale, best)
return best
  
   +def powerd_running(self):
   +self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
   +logging.debug(using_powerd: %d, self.using_powerd)
   +return self.using_powerd
   +
   +def _inhibit_suspend(self):
   +if self.using_powerd:
   +fd = open(POWERD_INHIBIT_DIR + /%u % os.getpid(), 'w')
   +logging.debug(inhibit_suspend file is %s % \
   +   POWERD_INHIBIT_DIR + /%u %
 os.getpid())
   +fd.close()
   +return True
   +
   +if self.ohm_keystore is not None:
   +try:
   +self.ohm_keystore.SetKey('suspend.inhibit', 1)
   +return self.ohm_keystore.GetKey('suspend.inhibit')
   +except dbus.exceptions.DBusException:
   +logging.warning(failed to inhibit suspend)
   +return False
   +else:
   +return False
   +
   +def _allow_suspend(self):
   +if self.using_powerd:
   +

Re: [Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread Paul Fox
gonzalo wrote:
  On Wed, May 9, 2012 at 12:42 PM, Paul Fox p...@laptop.org wrote:
  
   i would much prefer that we could prevent suspend during any
   audio playback, rather than have to have anyone that wants
   to make noise do it individually.
  
  
  But this should be done at a lower level, right?

yes, sorry -- that comment wasn't really directed at sugar.

  
   that being said, you can eliminate any of the code below that deals
   with the ohm keystore.  if we move away from powerd, it likely won't
   be back to ohmd.
  
  
  Thanks. I was not sure if needed.

i'd say that code supporting ohm can be removed anywhere you happen
to find it, these days.

paul

  
  Gonzalo
  
  
   paul
  
   godi...@sugarlabs.org wrote:
 From: Gonzalo Odiard godi...@gmail.com

 To avoid stoping playing the text when the xo go to sleep.
 This patch creates a file in /var/run/powerd-inhibit-suspend/
 and remove it when finish. Is the same technique used in activities
 (the code is copied from Distance activity) but we need decide
 if is the right thing to do in sugar.

 Signed-off-by: Gonzalo Odiard gonz...@laptop.org
 ---
  src/jarabe/model/speech.py |   69
   
  1 file changed, 63 insertions(+), 6 deletions(-)

 diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
 index 1cb0ad4..24f4152 100644
 --- a/src/jarabe/model/speech.py
 +++ b/src/jarabe/model/speech.py
 @@ -21,6 +21,7 @@ import gconf
  import gst
  import gtk
  import gobject
 +import dbus


  DEFAULT_PITCH = 0
 @@ -30,6 +31,10 @@ DEFAULT_RATE = 0

  _speech_manager = None

 +# directory exists if powerd is running.  create a file here,
 +# named after our pid, to inhibit suspend.
 +POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
 +

  class SpeechManager(gobject.GObject):

 @@ -138,7 +143,20 @@ class _GstSpeechPlayer(gobject.GObject):
  gobject.GObject.__init__(self)
  self._pipeline = None

 +self.using_powerd = False
 +if not self.powerd_running():
 +try:
 +bus = dbus.SystemBus()
 +proxy = bus.get_object('org.freedesktop.ohm',
 +   '/org/freedesktop/ohm/Keystore')
 +self.ohm_keystore = dbus.Interface(
 +proxy, 'org.freedesktop.ohm.Keystore')
 +except dbus.DBusException, e:
 +logging.warning(Error setting OHM inhibit: %s, e)
 +self.ohm_keystore = None
 +
  def restart_sound_device(self):
 +self._inhibit_suspend()
  if self._pipeline is None:
  logging.debug('Trying to restart not initialized sound
   device')
  return
 @@ -147,6 +165,7 @@ class _GstSpeechPlayer(gobject.GObject):
  self.emit('play')

  def pause_sound_device(self):
 +self._allow_suspend()
  if self._pipeline is None:
  return

 @@ -154,6 +173,7 @@ class _GstSpeechPlayer(gobject.GObject):
  self.emit('pause')

  def stop_sound_device(self):
 +self._allow_suspend()
  if self._pipeline is None:
  return

 @@ -172,12 +192,9 @@ class _GstSpeechPlayer(gobject.GObject):
  bus.connect('message', self.__pipe_message_cb)

  def __pipe_message_cb(self, bus, message):
 -if message.type == gst.MESSAGE_EOS:
 -self._pipeline.set_state(gst.STATE_NULL)
 -self.emit('stop')
 -elif message.type == gst.MESSAGE_ERROR:
 -self._pipeline.set_state(gst.STATE_NULL)
 -self.emit('stop')
 +if message.type == gst.MESSAGE_EOS or \
 +message.type == gst.MESSAGE_ERROR:
 +self.stop_sound_device()

  def speak(self, pitch, rate, voice_name, text):
  # TODO workaround for http://bugs.sugarlabs.org/ticket/1801
 @@ -223,6 +240,46 @@ class _GstSpeechPlayer(gobject.GObject):
  locale, best)
  return best

 +def powerd_running(self):
 +self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
 +logging.debug(using_powerd: %d, self.using_powerd)
 +return self.using_powerd
 +
 +def _inhibit_suspend(self):
 +if self.using_powerd:
 +fd = open(POWERD_INHIBIT_DIR + /%u % os.getpid(), 'w')
 +logging.debug(inhibit_suspend file is %s % \
 +   POWERD_INHIBIT_DIR + /%u %
   os.getpid())
 +fd.close()
 +return True
 +
 +if self.ohm_keystore is not None:
 +try:

[Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Christophe Guéret
Dear all,

A part of the project SemanticXO concerns the implementation of an
alternative Journal implementation making use of the triple store backend.
Triple store are data bases optimised to store factual information in the
form of statements linking a subject, a property and a value. This makes
them particularly fit to store key/value metadata, such as the one the
Journal uses. The feature proposal for SemanticXO gives more detailled
about what this is about: http://wiki.sugarlabs.org/go/Features/Semantic_Web

I've just finished removing a couple of bugs and would be interested in
getting a first round of feedback.
The installation procedure is not super convenient but should be manageable
anyway: http://wiki.sugarlabs.org/go/Features/Semantic_Web/Testing

The code is based on two parts:
* a module common that allows to store arbitrary data in the triple store
* a module datastore which uses common to store the data from the
Journal
I'm now working on implementing other usage examples for common. In the
Journal, the most visible change is the possibility to browse the content
through the SPARQL interface of the triple store. This means it is
possible, and rather easy, to gather statistics about the activities
performed in a class room or do backup of the metadata without having to
interupt any other activity.

Looking forward to your feedback, cheers,
Christophe
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread godiard
From: Gonzalo Odiard godi...@gmail.com

To avoid stoping playing the text when the xo go to sleep.
This patch creates a file in /var/run/powerd-inhibit-suspend/
and remove it when finish. Is the same technique used in activities
(the code is copied from Distance activity) but we need decide
if is the right thing to do in sugar.

Signed-off-by: Gonzalo Odiard gonz...@laptop.org

---

v2: Remove ohmd code
---
 src/jarabe/model/speech.py |   37 +++--
 1 file changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py
index 1cb0ad4..f07171c 100644
--- a/src/jarabe/model/speech.py
+++ b/src/jarabe/model/speech.py
@@ -30,6 +30,10 @@ DEFAULT_RATE = 0
 
 _speech_manager = None
 
+# directory exists if powerd is running.  create a file here,
+# named after our pid, to inhibit suspend.
+POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
+
 
 class SpeechManager(gobject.GObject):
 
@@ -137,8 +141,10 @@ class _GstSpeechPlayer(gobject.GObject):
 def __init__(self):
 gobject.GObject.__init__(self)
 self._pipeline = None
+self.using_powerd = self._verify_powerd_running()
 
 def restart_sound_device(self):
+self._inhibit_suspend()
 if self._pipeline is None:
 logging.debug('Trying to restart not initialized sound device')
 return
@@ -147,6 +153,7 @@ class _GstSpeechPlayer(gobject.GObject):
 self.emit('play')
 
 def pause_sound_device(self):
+self._allow_suspend()
 if self._pipeline is None:
 return
 
@@ -154,6 +161,7 @@ class _GstSpeechPlayer(gobject.GObject):
 self.emit('pause')
 
 def stop_sound_device(self):
+self._allow_suspend()
 if self._pipeline is None:
 return
 
@@ -172,12 +180,9 @@ class _GstSpeechPlayer(gobject.GObject):
 bus.connect('message', self.__pipe_message_cb)
 
 def __pipe_message_cb(self, bus, message):
-if message.type == gst.MESSAGE_EOS:
-self._pipeline.set_state(gst.STATE_NULL)
-self.emit('stop')
-elif message.type == gst.MESSAGE_ERROR:
-self._pipeline.set_state(gst.STATE_NULL)
-self.emit('stop')
+if message.type == gst.MESSAGE_EOS or \
+message.type == gst.MESSAGE_ERROR:
+self.stop_sound_device()
 
 def speak(self, pitch, rate, voice_name, text):
 # TODO workaround for http://bugs.sugarlabs.org/ticket/1801
@@ -223,6 +228,26 @@ class _GstSpeechPlayer(gobject.GObject):
 locale, best)
 return best
 
+def _verify_powerd_running(self):
+self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
+logging.debug(using_powerd: %d, self.using_powerd)
+return self.using_powerd
+
+def _inhibit_suspend(self):
+if self.using_powerd:
+flag_file_name = POWERD_INHIBIT_DIR + /%u % os.getpid()
+if not os.path.exists(flag_file_name):
+fd = open(flag_file_name, 'w')
+logging.debug(inhibit_suspend file is %s % flag_file_name)
+fd.close()
+
+def _allow_suspend(self):
+if self.using_powerd:
+flag_file_name = POWERD_INHIBIT_DIR + /%u % os.getpid()
+if os.path.exists(flag_file_name):
+os.unlink(flag_file_name)
+logging.debug(allow_suspend unlinking %s % flag_file_name)
+
 
 def get_speech_manager():
 global _speech_manager
-- 
1.7.10.1

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Log v3] Don't update search results every keystroke SL #2734

2012-05-09 Thread Gonzalo Odiard
Thanks humitos and James, pushed.

Gonzalo

On Mon, May 7, 2012 at 10:14 PM, James Cameron qu...@laptop.org wrote:

 Reviewed-by: James Cameron qu...@laptop.org

 --
 James Cameron
 http://quozl.linux.org.au/
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Maze] Maze icon in the toolbar SL #3380

2012-05-09 Thread Rafael Ortiz
On Wed, May 9, 2012 at 7:31 AM, Manuel Kaufmann humi...@gmail.com wrote:

 On Tue, May 8, 2012 at 8:07 PM, James Cameron qu...@laptop.org wrote:
  Might you also fix olpcgames build_toolbar and check that sugargames
  has been fixed too?

 I tried to migrate Maze to sugargame but there a lot of functionabilty
 missing on that library, for example mesh, pausescreen, etc...

 About the toolbar, sugargame does not provide anything to create the
 toolbar automagically. So, there are nothing to fix.

 Do you know why olpcgames is obsolete and is unmanteined? Should I try
 to fix olpcgames? Should I improve it or these things does not make
 sense?


The real non-go case was commented by Gary about specific errors he has
with olpc-games, besides that I don't see other reason for not maintain it.
Also an idea will be release it in parallel with activities that use it.
i.e Maze.




--
 Kaufmann Manuel
 Blog: http://humitos.wordpress.com/
 Porfolio: http://fotos.mkaufmann.com.ar/
 PyAr: http://www.python.com.ar/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [SWEETS] Testing collaboration related fixes

2012-05-09 Thread Aleksey Lim
On Wed, May 09, 2012 at 09:40:44AM -0300, Esteban Bordón wrote:
 In 0.94 branch collaboration using ad-hoc network is not working. When a
 laptop shares an activity the icon did not see int the other laptop.
 
 I attach shell.log for details.

Did you use recent 0.94 packages?

Attached logs show that shell doesn't use new telepathy code at all (it
shouldn't happen with 0.94 packages).

-- 
Aleksey
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [SWEETS] Testing collaboration related fixes

2012-05-09 Thread Esteban Bordón
I have installed this versions:

ii  sweets-telepathy- 0.10.5-10.1   A Jabber/XMPP connection manager
for Telepathy
ii  sweets-telepathy- 0.11.16-5.1   GLib bindings for the Telepathy
D-Bus protocol
ii  sweets-telepathy- 5.6.1-6.1 A Jabber/XMPP connection manager
for Telepathy
ii  sweets-telepathy- 0.4.0-6.1 A link-local XMPP connection
manager for Telepathy

If I run apt-get install sweets-telepathy apt returns that those are the
latest packages.

cheers.
 Esteban.



2012/5/9 Aleksey Lim alsr...@sugarlabs.org

 On Wed, May 09, 2012 at 09:40:44AM -0300, Esteban Bordón wrote:
  In 0.94 branch collaboration using ad-hoc network is not working. When a
  laptop shares an activity the icon did not see int the other laptop.
 
  I attach shell.log for details.

 Did you use recent 0.94 packages?

 Attached logs show that shell doesn't use new telepathy code at all (it
 shouldn't happen with 0.94 packages).

 --
 Aleksey

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Maze] Maze icon in the toolbar SL #3380

2012-05-09 Thread Rafael Ortiz
On Tue, May 8, 2012 at 10:04 AM, Manuel Kaufmann humi...@gmail.com wrote:

  - Show the Maze icon in the toolbar.

  - Don't use olpcgames.PygameActivity.build_toolbar anymore because it
   doesn't do what we need. Used our own build_toolbar method instead.

 Signed-off-by: Manuel Kaufmann humi...@gmail.com
 ---
  activity.py |   42 ++
  1 file changed, 30 insertions(+), 12 deletions(-)

 diff --git a/activity.py b/activity.py
 index 46a942c..4afbf56 100755
 --- a/activity.py
 +++ b/activity.py
 @@ -4,6 +4,9 @@ import olpcgames
  import pygame
  import gtk

 +from sugar.activity.widgets import ActivityToolbarButton
 +from sugar.activity.widgets import StopButton
 +from sugar.graphics.toolbarbox import ToolbarBox
  from sugar.graphics.toolbutton import ToolButton
  from gettext import gettext as _

 @@ -15,26 +18,41 @@ class MazeActivity(olpcgames.PyGameActivity):

 def build_toolbar(self):
 Build our Activity toolbar for the Sugar system.
 -toolbar = super(MazeActivity, self).build_toolbar()
 +
 +toolbar_box = ToolbarBox()
 +activity_button = ActivityToolbarButton(self)
 +toolbar_box.toolbar.insert(activity_button, 0)
 +activity_button.show()

 separator = gtk.SeparatorToolItem()
 -separator.set_expand(True)
 -separator.set_draw(False)
 -toolbar.insert(separator, 0)
 +toolbar_box.toolbar.insert(separator, -1)
 +separator.show()
 +
 +easier_button = ToolButton('create-easier')
 +easier_button.set_tooltip(_('Easier level'))
 +easier_button.connect('clicked', self._easier_button_cb)
 +toolbar_box.toolbar.insert(easier_button, -1)

 harder_button = ToolButton('create-harder')
 harder_button.set_tooltip(_('Harder level'))
 harder_button.connect('clicked', self._harder_button_cb)
 -toolbar.insert(harder_button, 2)
 -harder_button.show()
 +toolbar_box.toolbar.insert(harder_button, -1)

 -easier_button = ToolButton('create-easier')
 -easier_button.set_tooltip(_('Easier level'))
 -easier_button.connect('clicked', self._easier_button_cb)
 -toolbar.insert(easier_button, 2)
 -easier_button.show()
 +separator = gtk.SeparatorToolItem()
 +separator.props.draw = False
 +separator.set_size_request(0, -1)
 +separator.set_expand(True)
 +toolbar_box.toolbar.insert(separator, -1)
 +separator.show()
 +
 +stop_button = StopButton(self)
 +toolbar_box.toolbar.insert(stop_button, -1)
 +stop_button.show()
 +
 +self.set_toolbar_box(toolbar_box)
 +toolbar_box.show_all()

 -return toolbar
 +return toolbar_box

 def _easier_button_cb(self, button):
 pygame.event.post(olpcgames.eventwrap.Event(
 --
 1.7.10

 Ok applied the patch with changed description to include SL bugs to be
closed.

http://git.sugarlabs.org/maze/mainline/commit/87f832850ba242b1606acb0f1d60bc5631920f34

should be in next version, thanks humitos.
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [SWEETS] Testing collaboration related fixes

2012-05-09 Thread Aleksey Lim
On Wed, May 09, 2012 at 04:08:09PM -0300, Esteban Bordón wrote:
 I have installed this versions:
 
 ii  sweets-telepathy- 0.10.5-10.1   A Jabber/XMPP connection manager
 for Telepathy
 ii  sweets-telepathy- 0.11.16-5.1   GLib bindings for the Telepathy
 D-Bus protocol
 ii  sweets-telepathy- 5.6.1-6.1 A Jabber/XMPP connection manager
 for Telepathy
 ii  sweets-telepathy- 0.4.0-6.1 A link-local XMPP connection
 manager for Telepathy
 
 If I run apt-get install sweets-telepathy apt returns that those are the
 latest packages.

To make sure that SD packages are correctly came from select SD repo,
run:

sweets-distribution sync

I've just tested current 0.94 packages w/ Salut connection, and it
sounds like it works as assumed.

-- 
Aleksey
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [ASLO] Release Maze-20

2012-05-09 Thread Sugar Labs Activities
Activity Homepage:
http://activities.sugarlabs.org/addon/4071

Sugar Platform:
0.82 - 0.96

Download Now:
http://activities.sugarlabs.org/downloads/file/28028/maze-20.xo

Release notes:
New translations
Show the Maze icon in the toolbar, Don't use 
olpcgames.PygameActivity.build_toolbar anymore because it doesn't do what we 
need (SL#3474 and SL#3380) by Manuel Kaufmann humi...@gmail.com.


Sugar Labs Activities
http://activities.sugarlabs.org

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:
 Dear all,

 A part of the project SemanticXO concerns the implementation of an
 alternative Journal implementation making use of the triple store backend.
 Triple store are data bases optimised to store factual information in the
 form of statements linking a subject, a property and a value. This makes
 them particularly fit to store key/value metadata, such as the one the
 Journal uses. The feature proposal for SemanticXO gives more detailled
 about what this is about: http://wiki.sugarlabs.org/go/Features/Semantic_Web

 I've just finished removing a couple of bugs and would be interested in
 getting a first round of feedback.
 The installation procedure is not super convenient but should be manageable
 anyway: http://wiki.sugarlabs.org/go/Features/Semantic_Web/Testing

 The code is based on two parts:
 * a module common that allows to store arbitrary data in the triple store
 * a module datastore which uses common to store the data from the
 Journal
 I'm now working on implementing other usage examples for common. In the
 Journal, the most visible change is the possibility to browse the content
 through the SPARQL interface of the triple store. This means it is possible,
 and rather easy, to gather statistics about the activities performed in a
 class room or do backup of the metadata without having to interupt any other
 activity.

 Looking forward to your feedback, cheers,
 Christophe


 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel


Hi,
Followed the steps in the wiki page. At the last step, sugar-emulator
crashes when launching. This is running sugar 0.96.1 in Fedora 17. I
renamed ~/.sugar to another name before launching sugar-emulator:

** (process:21449): WARNING **: Trying to register gtype
'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:21449): WARNING **: Trying to register gtype
'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:21449): WARNING **: Trying to register gtype
'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Gtk-Message: Failed to load module pk-gtk-module
GNOME_KEYRING_CONTROL=/run/user/jobezone/keyring-rHyu00
GNOME_KEYRING_PID=21469

** (process:21456): WARNING **: Trying to register gtype
'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:21456): WARNING **: Trying to register gtype
'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:21456): WARNING **: Trying to register gtype
'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
** Message: pygobject_register_sinkfunc is deprecated (HippoCanvasBox)
Traceback (most recent call last):
  File /usr/bin/sugar-session, line 289, in module
main()
  File /usr/bin/sugar-session, line 228, in main
from jarabe.desktop import homewindow
  File /usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py,
line 25, in module
from jarabe.desktop.meshbox import MeshBox
  File /usr/lib/python2.7/site-packages/jarabe/desktop/meshbox.py,
line 48, in module
from jarabe.journal import misc
  File /usr/lib/python2.7/site-packages/jarabe/journal/misc.py, line
26, in module
from sugar.activity import activityfactory
  File /usr/lib/python2.7/site-packages/sugar/activity/activityfactory.py,
line 34, in module
from sugar.datastore import datastore
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
line 77, in module
_get_data_store()
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
line 51, in _get_data_store
DS_DBUS_PATH),
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 244, in get_object
follow_name_owner_changes=follow_name_owner_changes)
  File /usr/lib/python2.7/site-packages/dbus/proxies.py, line 241, in __init__
self._named_service = conn.activate_name_owner(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 183, in
activate_name_owner
self.start_service_by_name(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 281, in
start_service_by_name
'su', (bus_name, flags)))
  File /usr/lib/python2.7/site-packages/dbus/connection.py, line
630, in call_blocking
message, timeout)
dbus.exceptions.DBusException:
org.freedesktop.DBus.Error.Spawn.ChildExited: Process
/usr/bin/datastore-service exited with status 1
g_dbus_connection_real_closed: Remote peer vanished with error:
Underlying GIOStream returned 0 bytes on an async read
(g-io-error-quark, 0). Exiting.
Aviso do gestor de janelas: Erro IO fatal 11 (Resource temporarily
unavailable) no ecrã ':30'.

This last line translates to:
TRANS:window manager warning: [...] in screen':30'.]

Eduardo
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Eduardo H. Silva hoboprim...@gmail.com:
 2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:
 Dear all,

 A part of the project SemanticXO concerns the implementation of an
 alternative Journal implementation making use of the triple store backend.
 Triple store are data bases optimised to store factual information in the
 form of statements linking a subject, a property and a value. This makes
 them particularly fit to store key/value metadata, such as the one the
 Journal uses. The feature proposal for SemanticXO gives more detailled
 about what this is about: http://wiki.sugarlabs.org/go/Features/Semantic_Web

 I've just finished removing a couple of bugs and would be interested in
 getting a first round of feedback.
 The installation procedure is not super convenient but should be manageable
 anyway: http://wiki.sugarlabs.org/go/Features/Semantic_Web/Testing

 The code is based on two parts:
 * a module common that allows to store arbitrary data in the triple store
 * a module datastore which uses common to store the data from the
 Journal
 I'm now working on implementing other usage examples for common. In the
 Journal, the most visible change is the possibility to browse the content
 through the SPARQL interface of the triple store. This means it is possible,
 and rather easy, to gather statistics about the activities performed in a
 class room or do backup of the metadata without having to interupt any other
 activity.

 Looking forward to your feedback, cheers,
 Christophe


 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel


 Hi,
 Followed the steps in the wiki page. At the last step, sugar-emulator
 crashes when launching. This is running sugar 0.96.1 in Fedora 17. I
 renamed ~/.sugar to another name before launching sugar-emulator:

 ** (process:21449): WARNING **: Trying to register gtype
 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

 ** (process:21449): WARNING **: Trying to register gtype
 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

 ** (process:21449): WARNING **: Trying to register gtype
 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
 Gtk-Message: Failed to load module pk-gtk-module
 GNOME_KEYRING_CONTROL=/run/user/jobezone/keyring-rHyu00
 GNOME_KEYRING_PID=21469

 ** (process:21456): WARNING **: Trying to register gtype
 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

 ** (process:21456): WARNING **: Trying to register gtype
 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

 ** (process:21456): WARNING **: Trying to register gtype
 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
 ** Message: pygobject_register_sinkfunc is deprecated (HippoCanvasBox)
 Traceback (most recent call last):
  File /usr/bin/sugar-session, line 289, in module
    main()
  File /usr/bin/sugar-session, line 228, in main
    from jarabe.desktop import homewindow
  File /usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py,
 line 25, in module
    from jarabe.desktop.meshbox import MeshBox
  File /usr/lib/python2.7/site-packages/jarabe/desktop/meshbox.py,
 line 48, in module
    from jarabe.journal import misc
  File /usr/lib/python2.7/site-packages/jarabe/journal/misc.py, line
 26, in module
    from sugar.activity import activityfactory
  File /usr/lib/python2.7/site-packages/sugar/activity/activityfactory.py,
 line 34, in module
    from sugar.datastore import datastore
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
 line 77, in module
    _get_data_store()
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
 line 51, in _get_data_store
    DS_DBUS_PATH),
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 244, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File /usr/lib/python2.7/site-packages/dbus/proxies.py, line 241, in 
 __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 183, in
 activate_name_owner
    self.start_service_by_name(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 281, in
 start_service_by_name
    'su', (bus_name, flags)))
  File /usr/lib/python2.7/site-packages/dbus/connection.py, line
 630, in call_blocking
    message, timeout)
 dbus.exceptions.DBusException:
 org.freedesktop.DBus.Error.Spawn.ChildExited: Process
 /usr/bin/datastore-service exited with status 1
 g_dbus_connection_real_closed: Remote peer vanished with error:
 Underlying GIOStream returned 0 bytes on an async read
 (g-io-error-quark, 0). Exiting.
 Aviso do gestor de janelas: Erro IO fatal 11 (Resource temporarily
 unavailable) no ecrã ':30'.

 This last line translates to:
 TRANS:window manager warning: [...] in screen':30'.]

 Eduardo

Ah, the error actually starts with /usr/bin/sugar-datastore (which I
replaced with the one included in the 

Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Christophe Guéret
Hi Eduardo,

Thanks for testing!

Ah, the error actually starts with /usr/bin/sugar-datastore (which I
 replaced with the one included in the semanticXO directory):

 datastore-service:13:module:ImportError: No module named
 semanticstore.datastore

Have you modified the first lines of this script to include the path were
the code his?

Christophe
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:

 I did modify, but mistyped them. I get a different error now:

 connection.py:630:call_blocking:DBusException:
 org.freedesktop.DBus.Error.Spawn.ChildExited: Process
 /usr/bin/datastore-service exited with status 1

 Traceback (most recent call last):
  File /usr/bin/sugar-session, line 289, in module
    main()
  File /usr/bin/sugar-session, line 228, in main
    from jarabe.desktop import homewindow
  File /usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py,
 line 25, in module
    from jarabe.desktop.meshbox import MeshBox
  File /usr/lib/python2.7/site-packages/jarabe/desktop/meshbox.py,
 line 48, in module
    from jarabe.journal import misc
  File /usr/lib/python2.7/site-packages/jarabe/journal/misc.py, line
 26, in module
    from sugar.activity import activityfactory
  File
 /usr/lib/python2.7/site-packages/sugar/activity/activityfactory.py,
 line 34, in module
    from sugar.datastore import datastore
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
 line 77, in module
    _get_data_store()
  File /usr/lib/python2.7/site-packages/sugar/datastore/datastore.py,
 line 51, in _get_data_store
    DS_DBUS_PATH),
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 244, in
 get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File /usr/lib/python2.7/site-packages/dbus/proxies.py, line 241, in
 __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 183, in
 activate_name_owner
    self.start_service_by_name(bus_name)
  File /usr/lib/python2.7/site-packages/dbus/bus.py, line 281, in
 start_service_by_name
    'su', (bus_name, flags)))
  File /usr/lib/python2.7/site-packages/dbus/connection.py, line
 630, in call_blocking
    message, timeout)
 DBusException: org.freedesktop.DBus.Error.Spawn.ChildExited: Process
 /usr/bin/datastore-service exited with status 1

 If you just start the datastore-service, does it work?
 Did redstore receive any query before crashing?



Ah, running datastore-service standalone showed that it was looking
for the python module rdflib . After install python-rdflib package, it
complains of missing SPARQLWrapper (python?) module. Searching yum for
sparql only shows the package rasqal which I have installed.

Eduardo
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Christophe Guéret
 Ah, running datastore-service standalone showed that it was looking
 for the python module rdflib . After install python-rdflib package, it
 complains of missing SPARQLWrapper (python?) module. Searching yum for
 sparql only shows the package rasqal which I have installed.


Ok, I totally forgot about the dependencies :-P
This is the SPARQLWrapper you need: http://sparql-wrapper.sourceforge.net/
Please let me know how you install it on Fedora and I'll update the wiki.

Christophe
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:

 Ah, running datastore-service standalone showed that it was looking
 for the python module rdflib . After install python-rdflib package, it
 complains of missing SPARQLWrapper (python?) module. Searching yum for
 sparql only shows the package rasqal which I have installed.


 Ok, I totally forgot about the dependencies :-P
 This is the SPARQLWrapper you need: http://sparql-wrapper.sourceforge.net/
 Please let me know how you install it on Fedora and I'll update the wiki.

 Christophe


There were also some dependencies I needed to install beforehand:

To compile redstore:

raptor2-devel
rasqal-devel
redland-devel

To use semanticstore:

python-rdflib

and of course SPARQLWrapper, downloaded it from your link, extracted,
and ran inside its directory (as root):

python setup.py install

Launches fine for me now.

Eduardo
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Eduardo H. Silva hoboprim...@gmail.com:
 2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:

 Ah, running datastore-service standalone showed that it was looking
 for the python module rdflib . After install python-rdflib package, it
 complains of missing SPARQLWrapper (python?) module. Searching yum for
 sparql only shows the package rasqal which I have installed.


 Ok, I totally forgot about the dependencies :-P
 This is the SPARQLWrapper you need: http://sparql-wrapper.sourceforge.net/
 Please let me know how you install it on Fedora and I'll update the wiki.

 Christophe


 There were also some dependencies I needed to install beforehand:

 To compile redstore:

 raptor2-devel
 rasqal-devel
 redland-devel

 To use semanticstore:

 python-rdflib

 and of course SPARQLWrapper, downloaded it from your link, extracted,
 and ran inside its directory (as root):

 python setup.py install

 Launches fine for me now.

 Eduardo

But nothing is saved to the Journal, neither you can copy a clipping
from the clipboard or copy a document from Documents.
Here's the datastore log:

None
process 22342: Array or variant type requires that type variant be
written, but end_dict_entry was written.
The overall signature expected here was 'a{sv}' and we are on byte 3
of that signature.
  D-Bus not built with -rdynamic so unable to print a backtrace
Start data store

And shell log:


:30
1336596606.175720 ERROR dbus.proxies: Introspect error on
org.freedesktop.ohm:/org/freedesktop/ohm/Keystore:
dbus.exceptions.DBusException:
org.freedesktop.DBus.Error.ServiceUnknown: The name
org.freedesktop.ohm was not provided by any .service files
1336596606.177181 ERROR root: Cannot unfreeze the DCON
1336596611.067728 WARNING root: No gtk.AccelGroup in the top level window.
1336596611.072582 WARNING root: No gtk.AccelGroup in the top level window.
/usr/lib/python2.7/site-packages/sugar/graphics/palette.py:412:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  _sugarext.Menu.do_insert(self, item, position)
/usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py:73:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.add(self._home_box)
/usr/bin/sugar-session:273: Warning: g_object_set_qdata: assertion
`G_IS_OBJECT (object)' failed
  gtk.main()
:30
1336596620.757267 ERROR root: Launcher was not registered for None
1336596621.137413 WARNING root: No gtk.AccelGroup in the top level window.
1336596621.141241 WARNING root: No gtk.AccelGroup in the top level window.
1336596621.144938 WARNING root: No gtk.AccelGroup in the top level window.
1336596621.148422 WARNING root: No gtk.AccelGroup in the top level window.
/usr/lib/python2.7/site-packages/jarabe/frame/framewindow.py:132:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self._container.get_child().pack_start(child, expand=expand, fill=fill)
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
1336596623.650210 WARNING root: _Account.__set_current_activity_cb
Traceback (most recent call last):
  File /usr/lib/python2.7/site-packages/jarabe/frame/activitiestray.py,
line 251, in __activity_removed_cb
button = self._buttons[home_activity]
KeyError: Activity object at 0x90dc3c4 (SugarHomeActivity at 0x8ecc830)
1336596627.123099 WARNING root: No gtk.AccelGroup in the top level window.
1336596627.123411 WARNING root: No gtk.AccelGroup in the top level window.
/usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py:177:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.add(self._home_box)
1336596627.140964 WARNING root: _Account.__set_current_activity_cb
/usr/lib/python2.7/site-packages/sugar/graphics/palette.py:211:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if menu_item.props.submenu is not None:
1336596996.768278 WARNING root: _Account.__set_current_activity_cb
1336597052.709367 WARNING root: No gtk.AccelGroup in the top level window.
1336597052.710177 WARNING root: No gtk.AccelGroup in the top level window.
1336597052.717397 WARNING root: _Account.__set_current_activity_cb
1336597052.890916 ERROR root: set_active() failed:
org.freedesktop.DBus.Error.NoReply: Message did not receive a reply
(timeout by message bus)
/usr/lib/python2.7/site-packages/jarabe/journal/palettes.py:350:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.append(menu_item)
/usr/lib/python2.7/site-packages/jarabe/journal/palettes.py:192:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.append(clipboard_menu)
/usr/lib/python2.7/site-packages/jarabe/journal/palettes.py:324:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.append(menu_item)
/usr/lib/python2.7/site-packages/sugar/graphics/palette.py:361:
Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.menu.embed(self._menu_box)
/usr/lib/python2.7/site-packages/sugar/graphics/palette.py:367:
Warning: 

Re: [Sugar-devel] Call for testing and feedback: alternative Journal implementation

2012-05-09 Thread Eduardo H. Silva
2012/5/9 Christophe Guéret c.d.m.gue...@vu.nl:

 Launches fine for me now.

 Great! Now, most of the fun happens at http://localhost:8080
 After having created some Journal entries, go to this address and display
 the content of named graphs to see how the records are turned into
 triples. The port is public so you can also browse the content of a journal
 remotely.

 Christophe

Hm, the Journal doesn't show entries (says Your Journal is empty) but
I do see the entries in localhost:8080 .

Eduardo
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] Fwd: Atencion: problemas de compatibilidad de actividades con SO 0.94

2012-05-09 Thread Martin Langhoff
Hola Aura,

copiando a la lista de desarrolladores Sugar. Sabes qué versiones son
las actividades que no arrancan? Has probado de bajar la versión mas
reciente de http://activities.sugarlabs.org/ ?

un abrazo,


m

-- Forwarded message --
From: Aura Mora - OLPC Colombia a...@laptop.org
Date: 2012/5/9
Subject: Atencion: problemas de compatibilidad de actividades con SO 0.94
To: SUR olpc-...@lists.laptop.org
Cc: mar...@laptop.org


Hola a todos,

les escribo para llamar su atencion frente a un tema importante, la
version de Sugar 0.94 no esta siendo compatible con varias
actividades, se instalan y mandan un mensaje que Falló al iniciar la
Actividad. Les listo algunas de ellas que he identificado, que aunque
dicen que son compatibles no funcionan:

Geogebra
DrGeo
Timer Line
PiraCalculos

Estas otras actividades inician pero no se dejan usar...

Tetris Math
Saludame

Les encargo por favor que puedan revisar esto, porque aunque hay
mejoras en la interfas de la nueva versión de Sugar, dejan de servir
varias actividades :( que son muy usadas por nuestros estudiantes.


Gracias y si ven más actividades con dificultades de arranque
incluyanlas en la lista ;).

Seguimos en contacto,

Aura

--
Cordialmente,


Aura Mora
Coordinadora Pedagógica
One Laptop per Child Association
OLPC Colombia
Mobile: +57-312 321 5851
www.laptop.org



-- 
 mar...@laptop.org -- Software Architect - OLPC
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] [PATCH Terminal] Prevent Sugar capture Ctrlz and Ctrlq send them to vte SL #3222 OLPC #11836

2012-05-09 Thread Manuel Quiñones
Used the same approach than the solution for the Escape
capture when the activity is fullscreen mode.  Refactored the
method to allow this keystrokes.

This fixes http://dev.laptop.org/ticket/11836 and
http://bugs.sugarlabs.org/ticket/3222 .

Signed-off-by: Manuel Quiñones ma...@laptop.org
---
 terminal.py |   23 +++
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/terminal.py b/terminal.py
index 6de7500..2488b5b 100644
--- a/terminal.py
+++ b/terminal.py
@@ -380,15 +380,30 @@ class TerminalActivity(activity.Activity):
 vt.fork_command(/bin/su, ('/bin/su', '-'))
 
 def __key_press_cb(self, window, event):
-# Escape keypresses are routed directly to the vte and then dropped.
-# This hack prevents Sugar from hijacking them and canceling
-# fullscreen mode.
-if gtk.gdk.keyval_name(event.keyval) == 'Escape':
+Route some keypresses directly to the vte and then drom them.
+
+This prevents Sugar from hijacking events that are useful in
+the vte.
+
+
+
+def event_to_vt(event):
 current_page = self._notebook.get_current_page()
 vt = self._notebook.get_nth_page(current_page).vt
 vt.event(event)
+
+key_name = gtk.gdk.keyval_name(event.keyval)
+
+# Escape is used in Sugar to cancel fullscreen mode.
+if key_name == 'Escape':
+event_to_vt(event)
 return True
 
+elif event.get_state()  gtk.gdk.CONTROL_MASK:
+if key_name in ['z', 'q']:
+event_to_vt(event)
+return True
+
 return False
 
 def read_file(self, file_path):
-- 
1.7.7.6

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de actividades con SO 0.94

2012-05-09 Thread Chris Leonard
Several of these have recent updates.

GeoGebra 4 for Sugar 6
http://activities.sugarlabs.org/en-US/sugar/addon/4284
Updated March 20, 2012

Dr. Geo 1204
http://activities.sugarlabs.org/en-US/sugar/addon/4561
Updated: April 22, 2012

Time Line 2
http://activities.sugarlabs.org/en-US/sugar/addon/4497
Updated: January 26, 2012

PiraCalculos ???

TetrisMat 1
http://activities.sugarlabs.org/en-US/sugar/addon/4292
Updated: March 29, 2010

Saludame ???


cjl



2012/5/9 Martin Langhoff mar...@laptop.org:
 Hola Aura,

 copiando a la lista de desarrolladores Sugar. Sabes qué versiones son
 las actividades que no arrancan? Has probado de bajar la versión mas
 reciente de http://activities.sugarlabs.org/ ?

 un abrazo,


 m

 -- Forwarded message --
 From: Aura Mora - OLPC Colombia a...@laptop.org
 Date: 2012/5/9
 Subject: Atencion: problemas de compatibilidad de actividades con SO 0.94
 To: SUR olpc-...@lists.laptop.org
 Cc: mar...@laptop.org


 Hola a todos,

 les escribo para llamar su atencion frente a un tema importante, la
 version de Sugar 0.94 no esta siendo compatible con varias
 actividades, se instalan y mandan un mensaje que Falló al iniciar la
 Actividad. Les listo algunas de ellas que he identificado, que aunque
 dicen que son compatibles no funcionan:

 Geogebra
 DrGeo
 Timer Line
 PiraCalculos

 Estas otras actividades inician pero no se dejan usar...

 Tetris Math
 Saludame

 Les encargo por favor que puedan revisar esto, porque aunque hay
 mejoras en la interfas de la nueva versión de Sugar, dejan de servir
 varias actividades :( que son muy usadas por nuestros estudiantes.


 Gracias y si ven más actividades con dificultades de arranque
 incluyanlas en la lista ;).

 Seguimos en contacto,

 Aura

 --
 Cordialmente,


 Aura Mora
 Coordinadora Pedagógica
 One Laptop per Child Association
 OLPC Colombia
 Mobile: +57-312 321 5851
 www.laptop.org



 --
  mar...@laptop.org -- Software Architect - OLPC
  - ask interesting questions
  - don't get distracted with shiny stuff  - working code first
  - http://wiki.laptop.org/go/User:Martinlanghoff
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Terminal] Prevent Sugar capture Ctrlz and Ctrlq send them to vte SL #3222 OLPC #11836

2012-05-09 Thread James Cameron
Minor spelling error, drom should be drop.

Reviewed-by: James Cameron qu...@laptop.org

Tested on OLPC 12.1.0 os9, ^Z and ^Q work fine now.

Tested-by: James Cameron qu...@laptop.org

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de actividades con SO 0.94

2012-05-09 Thread Alan Jhonn Aguiar Schwyn


Salúdame:http://ceibaljam.org/drupal/sites/default/files/Saludame-1.xo
 From: cjlhomeaddr...@gmail.com
 Date: Wed, 9 May 2012 21:28:38 -0400
 To: mar...@laptop.org
 CC: auraestelam...@gmail.com; sugar-devel@lists.sugarlabs.org
 Subject: Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de 
 actividades con SO 0.94
 
 Several of these have recent updates.
 
 GeoGebra 4 for Sugar 6
 http://activities.sugarlabs.org/en-US/sugar/addon/4284
 Updated March 20, 2012
 
 Dr. Geo 1204
 http://activities.sugarlabs.org/en-US/sugar/addon/4561
 Updated: April 22, 2012
 
 Time Line 2
 http://activities.sugarlabs.org/en-US/sugar/addon/4497
 Updated: January 26, 2012
 
 PiraCalculos ???
 
 TetrisMat 1
 http://activities.sugarlabs.org/en-US/sugar/addon/4292
 Updated: March 29, 2010
 
 Saludame ???
 
 
 cjl
 
 
 
 2012/5/9 Martin Langhoff mar...@laptop.org:
  Hola Aura,
 
  copiando a la lista de desarrolladores Sugar. Sabes qué versiones son
  las actividades que no arrancan? Has probado de bajar la versión mas
  reciente de http://activities.sugarlabs.org/ ?
 
  un abrazo,
 
 
  m
 
  -- Forwarded message --
  From: Aura Mora - OLPC Colombia a...@laptop.org
  Date: 2012/5/9
  Subject: Atencion: problemas de compatibilidad de actividades con SO 0.94
  To: SUR olpc-...@lists.laptop.org
  Cc: mar...@laptop.org
 
 
  Hola a todos,
 
  les escribo para llamar su atencion frente a un tema importante, la
  version de Sugar 0.94 no esta siendo compatible con varias
  actividades, se instalan y mandan un mensaje que Falló al iniciar la
  Actividad. Les listo algunas de ellas que he identificado, que aunque
  dicen que son compatibles no funcionan:
 
  Geogebra
  DrGeo
  Timer Line
  PiraCalculos
 
  Estas otras actividades inician pero no se dejan usar...
 
  Tetris Math
  Saludame
 
  Les encargo por favor que puedan revisar esto, porque aunque hay
  mejoras en la interfas de la nueva versión de Sugar, dejan de servir
  varias actividades :( que son muy usadas por nuestros estudiantes.
 
 
  Gracias y si ven más actividades con dificultades de arranque
  incluyanlas en la lista ;).
 
  Seguimos en contacto,
 
  Aura
 
  --
  Cordialmente,
 
 
  Aura Mora
  Coordinadora Pedagógica
  One Laptop per Child Association
  OLPC Colombia
  Mobile: +57-312 321 5851
  www.laptop.org
 
 
 
  --
   mar...@laptop.org -- Software Architect - OLPC
   - ask interesting questions
   - don't get distracted with shiny stuff  - working code first
   - http://wiki.laptop.org/go/User:Martinlanghoff
  ___
  Sugar-devel mailing list
  Sugar-devel@lists.sugarlabs.org
  http://lists.sugarlabs.org/listinfo/sugar-devel
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel
  ___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de actividades con SO 0.94

2012-05-09 Thread Walter Bender
2012/5/9 Alan Jhonn Aguiar Schwyn alan...@hotmail.com:

 Salúdame:
 http://ceibaljam.org/drupal/sites/default/files/Saludame-1.xo


Starts in Sugar 0.94 for me.

-walter

 From: cjlhomeaddr...@gmail.com
 Date: Wed, 9 May 2012 21:28:38 -0400
 To: mar...@laptop.org
 CC: auraestelam...@gmail.com; sugar-devel@lists.sugarlabs.org
 Subject: Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de
 actividades con SO 0.94


 Several of these have recent updates.

 GeoGebra 4 for Sugar 6
 http://activities.sugarlabs.org/en-US/sugar/addon/4284
 Updated March 20, 2012

 Dr. Geo 1204
 http://activities.sugarlabs.org/en-US/sugar/addon/4561
 Updated: April 22, 2012

 Time Line 2
 http://activities.sugarlabs.org/en-US/sugar/addon/4497
 Updated: January 26, 2012

 PiraCalculos ???

 TetrisMat 1
 http://activities.sugarlabs.org/en-US/sugar/addon/4292
 Updated: March 29, 2010

 Saludame ???


 cjl



 2012/5/9 Martin Langhoff mar...@laptop.org:
  Hola Aura,
 
  copiando a la lista de desarrolladores Sugar. Sabes qué versiones son
  las actividades que no arrancan? Has probado de bajar la versión mas
  reciente de http://activities.sugarlabs.org/ ?
 
  un abrazo,
 
 
  m
 
  -- Forwarded message --
  From: Aura Mora - OLPC Colombia a...@laptop.org
  Date: 2012/5/9
  Subject: Atencion: problemas de compatibilidad de actividades con SO
  0.94
  To: SUR olpc-...@lists.laptop.org
  Cc: mar...@laptop.org
 
 
  Hola a todos,
 
  les escribo para llamar su atencion frente a un tema importante, la
  version de Sugar 0.94 no esta siendo compatible con varias
  actividades, se instalan y mandan un mensaje que Falló al iniciar la
  Actividad. Les listo algunas de ellas que he identificado, que aunque
  dicen que son compatibles no funcionan:
 
  Geogebra
  DrGeo
  Timer Line
  PiraCalculos
 
  Estas otras actividades inician pero no se dejan usar...
 
  Tetris Math
  Saludame
 
  Les encargo por favor que puedan revisar esto, porque aunque hay
  mejoras en la interfas de la nueva versión de Sugar, dejan de servir
  varias actividades :( que son muy usadas por nuestros estudiantes.
 
 
  Gracias y si ven más actividades con dificultades de arranque
  incluyanlas en la lista ;).
 
  Seguimos en contacto,
 
  Aura
 
  --
  Cordialmente,
 
 
  Aura Mora
  Coordinadora Pedagógica
  One Laptop per Child Association
  OLPC Colombia
  Mobile: +57-312 321 5851
  www.laptop.org
 
 
 
  --
   mar...@laptop.org -- Software Architect - OLPC
   - ask interesting questions
   - don't get distracted with shiny stuff  - working code first
   - http://wiki.laptop.org/go/User:Martinlanghoff
  ___
  Sugar-devel mailing list
  Sugar-devel@lists.sugarlabs.org
  http://lists.sugarlabs.org/listinfo/sugar-devel
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel




-- 
Walter Bender
Sugar Labs
http://www.sugarlabs.org
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Sugar] Inhibit power suspend while playing text to speech - OLPC #11830

2012-05-09 Thread James Cameron
Regarding your general approach, this is okay for the moment, since
nothing else in the Sugar shell process will use it, but watch out in
future.

/var/run/powerd-inhibit-suspend/%s is unique by process id only.

See stopwatch.git/powerd.py for a reference counted implementation
that would avoid this.

In my opinion a reference counted implementation should be added to
the Sugar toolkit for use by activities as well as Sugar.

Reviewed-by: James Cameron qu...@laptop.org

On Wed, May 09, 2012 at 02:39:02PM -0300, godi...@sugarlabs.org wrote:
 +def _verify_powerd_running(self):
 +self.using_powerd = os.access(POWERD_INHIBIT_DIR, os.W_OK)
 +logging.debug(using_powerd: %d, self.using_powerd)
 +return self.using_powerd

This function should not use the word running, since it isn't
actually testing if powerd is running, it only tests if powerd inhibit
directory is present.

There is no need to verify that powerd is present.  Just try to create
or delete the files and ignore any IOError.

 +
 +def _inhibit_suspend(self):
 +if self.using_powerd:
 +flag_file_name = POWERD_INHIBIT_DIR + /%u % os.getpid()
 +if not os.path.exists(flag_file_name):
 +fd = open(flag_file_name, 'w')
 +logging.debug(inhibit_suspend file is %s % flag_file_name)
 +fd.close()

This only creates the file if it does not exist, and is a potential race
condition.  You should just create the file, for example as done in
distance.git/activity.py or stopwatch.git/powerd.py

 +
 +def _allow_suspend(self):
 +if self.using_powerd:
 +flag_file_name = POWERD_INHIBIT_DIR + /%u % os.getpid()
 +if os.path.exists(flag_file_name):
 +os.unlink(flag_file_name)
 +logging.debug(allow_suspend unlinking %s % flag_file_name)
 +

Again, there is no need to check that it exists before unlinking it.

The determination of flag_file_name might be placed into a common
function, as done in stopwatch/powerd.py

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de actividades con SO 0.94

2012-05-09 Thread Rafael Ortiz
2012/5/9 Walter Bender walter.ben...@gmail.com

 2012/5/9 Alan Jhonn Aguiar Schwyn alan...@hotmail.com:
 
  Salúdame:
  http://ceibaljam.org/drupal/sites/default/files/Saludame-1.xo
 

 Starts in Sugar 0.94 for me.

 -walter

  From: cjlhomeaddr...@gmail.com
  Date: Wed, 9 May 2012 21:28:38 -0400
  To: mar...@laptop.org
  CC: auraestelam...@gmail.com; sugar-devel@lists.sugarlabs.org
  Subject: Re: [Sugar-devel] Fwd: Atencion: problemas de compatibilidad de
  actividades con SO 0.94
 
 
  Several of these have recent updates.
 
  GeoGebra 4 for Sugar 6
  http://activities.sugarlabs.org/en-US/sugar/addon/4284


I think GeoGebra needs java installed.


  Updated March 20, 2012
 
  Dr. Geo 1204
  http://activities.sugarlabs.org/en-US/sugar/addon/4561


This was having some problems you can try this bundle (on XO-1.5 and 1.75),
not working on the xo-1.0:
http://people.sugarlabs.org/rafael/UY/DrGeo-1204.1.xo




  Updated: April 22, 2012
 
  Time Line 2
  http://activities.sugarlabs.org/en-US/sugar/addon/4497
  Updated: January 26, 2012
 


This Version should work ok.


   PiraCalculos ???
 
  TetrisMat 1
  http://activities.sugarlabs.org/en-US/sugar/addon/4292
  Updated: March 29, 2010
 
  Saludame ???
 
 
  cjl
 
 
 
  2012/5/9 Martin Langhoff mar...@laptop.org:
   Hola Aura,
  
   copiando a la lista de desarrolladores Sugar. Sabes qué versiones son
   las actividades que no arrancan? Has probado de bajar la versión mas
   reciente de http://activities.sugarlabs.org/ ?
  
   un abrazo,
  
  
   m
  
   -- Forwarded message --
   From: Aura Mora - OLPC Colombia a...@laptop.org
   Date: 2012/5/9
   Subject: Atencion: problemas de compatibilidad de actividades con SO
   0.94
   To: SUR olpc-...@lists.laptop.org
   Cc: mar...@laptop.org
  
  
   Hola a todos,
  
   les escribo para llamar su atencion frente a un tema importante, la
   version de Sugar 0.94 no esta siendo compatible con varias
   actividades, se instalan y mandan un mensaje que Falló al iniciar la
   Actividad. Les listo algunas de ellas que he identificado, que aunque
   dicen que son compatibles no funcionan:
  
   Geogebra
   DrGeo
   Timer Line
   PiraCalculos
  
   Estas otras actividades inician pero no se dejan usar...
  
   Tetris Math
   Saludame
  
   Les encargo por favor que puedan revisar esto, porque aunque hay
   mejoras en la interfas de la nueva versión de Sugar, dejan de servir
   varias actividades :( que son muy usadas por nuestros estudiantes.
  
  
   Gracias y si ven más actividades con dificultades de arranque
   incluyanlas en la lista ;).
  
   Seguimos en contacto,
  
   Aura
  
   --
   Cordialmente,
  
  
   Aura Mora
   Coordinadora Pedagógica
   One Laptop per Child Association
   OLPC Colombia
   Mobile: +57-312 321 5851
   www.laptop.org
  
  
  
   --
mar...@laptop.org -- Software Architect - OLPC
- ask interesting questions
- don't get distracted with shiny stuff  - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
   ___
   Sugar-devel mailing list
   Sugar-devel@lists.sugarlabs.org
   http://lists.sugarlabs.org/listinfo/sugar-devel
  ___
  Sugar-devel mailing list
  Sugar-devel@lists.sugarlabs.org
  http://lists.sugarlabs.org/listinfo/sugar-devel
 
  ___
  Sugar-devel mailing list
  Sugar-devel@lists.sugarlabs.org
  http://lists.sugarlabs.org/listinfo/sugar-devel
 



 --
 Walter Bender
 Sugar Labs
 http://www.sugarlabs.org
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] [PATCH Maze] Maze icon in the toolbar SL #3380

2012-05-09 Thread James Cameron
On Wed, May 09, 2012 at 09:31:08AM -0300, Manuel Kaufmann wrote:
 On Tue, May 8, 2012 at 8:07 PM, James Cameron qu...@laptop.org wrote:
  Might you also fix olpcgames build_toolbar and check that sugargames
  has been fixed too?
 
 I tried to migrate Maze to sugargame but there a lot of functionabilty
 missing on that library, for example mesh, pausescreen, etc...

That is unfortunate.  Perhaps those functions should eventually be
added.

 About the toolbar, sugargame does not provide anything to create the
 toolbar automagically. So, there are nothing to fix.

I am surprised.

 Do you know why olpcgames is obsolete and is unmanteined? Should I try
 to fix olpcgames? Should I improve it or these things does not make
 sense?

While I have heard that olpcgames is obsolete, unmaintained, and
replaced by sugargames, there are still activities that use olpcgames,
and there are still features that olpcgames has that sugargames does
not.

You may be able to decide whether to maintain the code in olpcgames by
looking at what activities use it, and checking to see how old the
olpcgames is in each activity.

Judge for yourself whether the changes should be done in olpcgames or
in your activity?  Whatever is most effective, I guess.

-- 
James Cameron
http://quozl.linux.org.au/
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel