Sorry. The errors are below. Some background first. As described in the ‘readme’ information for the
python script, I started up digikam and pointed it at my f-spot Photos directory hierarchy for the photos,
and at the ~/digikam directory I created to store the digikam database. Then the script incantation
goes as follows:
Myprompt: python fspot_to_digikam.py digikam
Checking for F-Spot database file
→ OK
Checking for Digikam database file
→ OK
Making a backup of the Digikam database…
→ OK, the backup file is located at: /home/photos/digikam/digikam4.db-2015-12-27_1109.bak
If there are problems after running this script rename to /home/photos/digikam/digikam4.db
Traceback (most recent call last):
File “fspot_to_digikam.py”, line 217, in <module>
ud_manager_obj = bus.get_object(“org.freedesktop.UDisks”, “/org/freedesktop/UDisks”)
File “/usr/lib/python2.7/site-packages/dbus/bus.py”, line 241, in get_object
follow_name_owner_changes=follow_name_owner_changes)
File “/usr/lib/python2.7/site-packages/dbus/proxies.py”, line 248, in init
self._named_service = conn.activate_name_owner(bus_name)
File “/usr/lib/python2.7/site-packages/dbus/bus.py”, line 180, in activate_name_owner
self.start_service_by_name(bus_name)
File “/usr/lib/python2.7/site-packages/dbus/bus.py”, line 278, in start_service_by_name
‘su’, (bus_name, flags)))
File “/usr/lib/python2.7/site-packages/dbus/connection.py”, line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UDisks was not provided by any .service files
The script at this point has (with line numbers added):
212 # Setup a DBUS helper function
213 #
214 # Yes! we are murking with Dbus and devices’ UUIDs because we need to map digikam’s
215 # volume identifier to a mountpoint in the system, as fspot uses
216 bus = dbus.SystemBus()
217 ud_manager_obj = bus.get_object(“org.freedesktop.UDisks”, “/org/freedesktop/UDisks”)
218 ud_manager = dbus.Interface(ud_manager_obj, ‘org.freedesktop.UDisks’)
219
220 uuid_mapper = {}
221
222 for dev in ud_manager.EnumerateDevices():
223 device_obj = bus.get_object(“org.freedesktop.UDisks”, dev)
224 device_props = dbus.Interface(device_obj, dbus.PROPERTIES_IFACE)
225
226 # make a mapping mountpoint ==> UUID
227 if device_props.Get(‘org.freedesktop.UDisks.Device’, “IdUuid”) and
228 device_props.Get(‘org.freedesktop.UDisks.Device’, “DeviceMountPaths”):
229 uuid_mapper[str(device_props.Get(‘org.freedesktop.UDisks.Device’, “DeviceMountPaths”)[0])] =
230 str(device_props.Get(‘org.freedesktop.UDisks.Device’, “IdUuid”))
So it appears that the error comes primarily from not having an /org/freedesktop/UDisks
file/directory hierarchy, which presumably means version skew between what opensuse does and what ever
the distribution the script expects does.
I took a look and I have installed on my machine both a udisk package and a udisk2 package, according to yast.
Don’t know what the difference is or what they do.
Thanks for any information you can provide.
Andy