def _saveOperationAdd(self, sim, id): """ Writing through: Adds a single value to the SIM Card """ c = self.getContact(id) fullName = pisitools.assembleFullName(c) if len(fullName) > self._name_maxlength - len(DBUS_NAME_MOBILEPHONE_SUFFIX): # let's assume, all suffixes are of same length fullName = fullName[:self._name_maxlength - len(DBUS_NAME_MOBILEPHONE_SUFFIX)] # 1st - mobile if len(self._availableIds) == 0: return try: number = c.attributes['mobile'] if number and number != '': myid = self._availableIds.keys()[0] sim.StoreEntry(DBUS_CONTACTS, myid, fullName + DBUS_NAME_MOBILEPHONE_SUFFIX, number) del self._availableIds[myid] except KeyError: pass # fine - no mobile; no entry! #2nd - home phone if len(self._availableIds) == 0: return try: number = c.attributes['phone'] if number and number != '': myid = self._availableIds.keys()[0] sim.StoreEntry(DBUS_CONTACTS, myid, fullName + DBUS_NAME_HOMEPHONE_SUFFIX, number) del self._availableIds[myid] except KeyError: pass # fine - no home phone; no entry! #3rd - office phone if len(self._availableIds) == 0: return try: number = c.attributes['officePhone'] if number and number != '': myid = self._availableIds.keys()[0] sim.StoreEntry(DBUS_CONTACTS, myid, fullName + DBUS_NAME_WORKPHONE_SUFFIX, number) del self._availableIds[myid] except KeyError: pass # fine - no work phone; no entry!
def _assembleTitle(self, contactEntry): """ Assembles all information from a contact entry for the packed version of a title in google contacts """ return pisitools.assembleFullName(contactEntry)