Hi Michael,

I have an issue syncing opimd with my sim card. It seems the
GetPhonebookInfo return value doesn't match type dict (on current
SHR-T), it returns dbus.Dictionary:

infos is dbus.Dictionary({dbus.String(u'max_index'): dbus.Int32(150, 
variant_level=1), dbus.String(u'name_length'): dbus.Int32(18, variant_level=1), 
dbus.String(u'min_index'): dbus.Int32(1, variant_level=1), 
dbus.String(u'number_length'): dbus.Int32(44, variant_level=1)}, 
signature=dbus.Signature('sv'))


Here's the error message and a proposed patch (worksforme):


r...@om-gta02 ~/.pisi $ pisi -v opimd shrsim

*******************************************************
**********************   PISI    **********************
*******************************************************
** PISI is synchronizing information ******************
** http://freshmeat.net/projects/pisiom ********
*******************************************************

*************** PHASE 0 - Configuration ***************
Verbose mode on
In case of conflicts I use the following strategy: Skip
Reading configfile: /home/root/.pisi/conf
contact opimd module loaded using file
/usr/lib/python2.6/site-packages/gdata/tlslite/utils/cryptomath.py:9: 
DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
Traceback (most recent call last):
  File "/bin/pisi", line 153, in <module>
    pisicli.startCLI()
  File "/opt/pisi/pisicli.py", line 215, in startCLI
    source = pisi.importModules(configfolder,  config,  modulesToLoad,  
modulesNamesCombined, soft)
  File "/opt/pisi/pisi.py", line 79, in importModules
    exec "source.append( 
module"+i.__str__()+".SynchronizationModule(modulesNamesCombined, config, 
modulesToLoad[i], modulesFolder+modulesToLoad[i]+'/', True, soft) )"
  File "<string>", line 1, in <module>
  File "/opt/pisi/modules/contacts_dbussim.py", line 70, in __init__
    self._determineSimLimitations()        
  File "/opt/pisi/modules/contacts_dbussim.py", line 89, in 
_determineSimLimitations
    slots, numberlength, namelength = infos
ValueError: too many values to unpack



--- contacts_dbussim.py.ORG     Mon May 10 14:39:06 2010
+++ contacts_dbussim.py Mon May 10 15:35:25 2010
@@ -82,7 +82,7 @@
         gsm_device_obj = bus.get_object(DBUS_GSM_DEVICE[0], DBUS_GSM_DEVICE[1])
         sim = dbus.Interface(gsm_device_obj,DBUS_SIM)
         infos = sim.GetPhonebookInfo(DBUS_CONTACTS)
-        if type(infos) == dict: # old ogsmd
+        if type(infos) == dict or type(infos) == dbus.Dictionary: # old ogsmd
             self._max_simentries = infos["max_index"]
             self._name_maxlength = infos["name_length"]
         else: # new fsogsmd 
(http://git.freesmartphone.org/?p=specs.git;a=blob_plain;f=html/org.freesmartphone.GSM.SIM.html;hb=HEAD#GetPhonebookInfo)


Florian


_______________________________________________
Shr-devel mailing list
[email protected]
http://lists.shr-project.org/mailman/listinfo/shr-devel

Reply via email to