Hi,
there's currently a bug in datastore's git which impedes activities to
launch.
If you are using jhbuild and need to work with latest git, apply this
patch to the datastore module and activities should work again.
Cheers,
Tomeu
diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py
index d10dd34..5871623 100644
--- a/src/olpc/datastore/datastore.py
+++ b/src/olpc/datastore/datastore.py
@@ -56,7 +56,7 @@ class DataStore(dbus.service.Object):
self.backends.append(backendClass)
## MountPoint API
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature="sa{sv}",
out_signature='s')
@@ -68,8 +68,16 @@ class DataStore(dbus.service.Object):
# medium (maybe an SD card for example) and we'd want to keep
# that on the XO itself. In these cases their might be very
# little identifying information on the media itself.
- if not options: options = {}
- mp = self.connect_backingstore(uri, **options)
+
+ uri = str(uri)
+
+ _options = {}
+ if options:
+ for key, value in options.iteritems():
+ logging.debug('%r %r' % (type(str(key)), type(str(value))))
+ _options[str(key)] = str(value)
+
+ mp = self.connect_backingstore(uri, **_options)
if not mp: return ''
if mp.id in self.mountpoints:
self.mountpoints[mp.id].stop()
@@ -82,7 +90,7 @@ class DataStore(dbus.service.Object):
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature="",
- out_signature="aa{ss}")
+ out_signature="aa{sv}")
def mounts(self):
"""return a list of mount point descriptiors where each
descriptor is a dict containing atleast the following keys:
@@ -90,9 +98,11 @@ class DataStore(dbus.service.Object):
'title' -- Human readable identifier for the mountpoint
'uri' -- The uri which triggered the mount
"""
+ logging.debug([mp.descriptor() for mp in self.mountpoints.itervalues()])
+ print "%r" % [mp.descriptor() for mp in self.mountpoints.itervalues()]
return [mp.descriptor() for mp in self.mountpoints.itervalues()]
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature="s",
out_signature="")
@@ -132,7 +142,7 @@ class DataStore(dbus.service.Object):
return mp
# PUBLIC API
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='a{sv}s',
out_signature='s')
@@ -195,7 +205,7 @@ class DataStore(dbus.service.Object):
return d, len(d)
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='a{sv}',
out_signature='aa{sv}u')
@@ -304,7 +314,7 @@ class DataStore(dbus.service.Object):
if c: break
return c
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='s',
out_signature='s')
@@ -323,7 +333,7 @@ class DataStore(dbus.service.Object):
def put_data(self, uid, data):
self.update(uid, None, StringIO(data))
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='s',
out_signature='a{sv}')
@@ -334,7 +344,7 @@ class DataStore(dbus.service.Object):
dictionary[prop.key] = prop.marshall()
return dictionary
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='sa{sv}s',
out_signature='')
@@ -352,7 +362,7 @@ class DataStore(dbus.service.Object):
@dbus.service.signal(DS_DBUS_INTERFACE, signature="s")
def Updated(self, uid): pass
- @utils.sanitize_dbus
+ [EMAIL PROTECTED]
@dbus.service.method(DS_DBUS_INTERFACE,
in_signature='s',
out_signature='')
_______________________________________________
Sugar mailing list
[email protected]
http://lists.laptop.org/listinfo/sugar