Changeset 3456 for branches/gajim_0.8.2

Show
Ignore:
Timestamp:
09/06/05 14:03:23 (3 years ago)
Author:
dkirov
Message:

fix: show vcard on contact_info

Location:
branches/gajim_0.8.2/src
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/gajim_0.8.2/src/gajim-remote.py

    r3443 r3456  
    3939 
    4040def send_error(error_message): 
    41         '''  Writes error message to stderr and exits ''' 
    42         sys.stderr.write(error_message + '\n') 
    43         sys.stderr.flush() 
    44         sys.exit(1) 
     41                '''  Writes error message to stderr and exits ''' 
     42                sys.stderr.write(error_message + '\n') 
     43                sys.stderr.flush() 
     44                sys.exit(1) 
     45 
    4546try: 
    4647        import dbus 
     
    156157                        send_error(self.compose_help()) 
    157158                self.command = sys.argv[1] 
    158                  
    159159                if self.command == 'help': 
    160160                        if self.argv_len == 3: 
     
    173173                                id = self.sbus.add_signal_receiver(self.show_vcard_info,  
    174174                                        'VcardInfo', INTERFACE, SERVICE, OBJ_PATH) 
    175                         except: 
     175                        except Exception, e: 
    176176                                send_error(_('Service not available')) 
    177177                 
     
    223223                        interface = self.service.get_object(OBJ_PATH, INTERFACE) 
    224224                else: 
    225                         send_error(_('Unknown D-Bus version: %s') % _version) 
     225                        send_error(_('Unknown D-Bus version: %s') % _version[1]) 
    226226                         
    227227                # get the function asked 
     
    297297                                        if res != '': 
    298298                                                ret_str += '\t' + res 
     299                                elif type(val) == dict: 
     300                                        ret_str += self.print_info(level+1, val) 
    299301                        ret_str = '%s(%s)\n' % (spacing, ret_str[1:]) 
    300302                elif isinstance(prop_dict, dict): 
     
    316318                                        if res != '': 
    317319                                                ret_str += '%s%s: \n%s' % (spacing, key, res) 
    318                                 else: 
    319                                         self.send_warning(_('Unknown type %s ') % type(val)) 
    320320                return ret_str 
    321321                 
     
    442442                        if args and len(args) >= 5: 
    443443                                props_dict = self.unrepr(args[4].get_args_list()[0]) 
    444  
    445444                if props_dict: 
    446445                        print self.print_info(0,props_dict[0]) 
     
    448447                # so we leave the leak - nothing can be done 
    449448                if _version[1] >= 41: 
    450                         self.sbus.remove_signal_receiver(show_vcard_info, 'VcardInfo',  
     449                        self.sbus.remove_signal_receiver(self.show_vcard_info, 'VcardInfo',  
    451450                                INTERFACE, SERVICE, OBJ_PATH) 
    452451         
     
    464463        def gtk_quit(self): 
    465464                if _version[1] >= 41: 
    466                         self.sbus.remove_signal_receiver(show_vcard_info, 'VcardInfo',  
     465                        self.sbus.remove_signal_receiver(self.show_vcard_info, 'VcardInfo',  
    467466                                INTERFACE, SERVICE, OBJ_PATH) 
    468467                gtk.main_quit() 
     
    489488                return None 
    490489 
     490 
    491491if __name__ == '__main__': 
    492492        GajimRemote() 
  • branches/gajim_0.8.2/src/remote_control.py

    r3170 r3456  
    279279                if self.disabled: 
    280280                        return 
    281                  
    282281                [jid] = self._get_real_arguments(args, 1) 
     282                if not isinstance(jid, unicode): 
     283                        jid = unicode(jid) 
    283284                if not jid: 
    284285                        # FIXME: raise exception for missing argument (0.3+) 
     
    288289                 
    289290                for account in accounts: 
    290                         if gajim.contacts[account].has_key(jid): 
     291                        if gajim.contacts[account].__contains__(jid): 
    291292                                self.vcard_account =  account 
    292                                 gajim.connections[account].register_handler('VCARD',  
    293                                         self._receive_vcard) 
    294293                                gajim.connections[account].request_vcard(jid) 
    295294                                break 
     
    303302                        result = gajim.contacts.keys() 
    304303                        if result and len(result) > 0: 
    305                                 return result 
     304                                result_array = [] 
     305                                for account in result: 
     306                                        result_array.append(account.encode('utf-8')) 
     307                                return result_array 
    306308                return None 
    307309 
     
    325327                        else: 
    326328                                # 'for_account: is not recognised:',  
    327                                 # FIXME: there can be a return status for this [0.3+] 
    328329                                return None 
    329330                else: 
     
    358359                        return True 
    359360                return False 
    360  
    361         def _receive_vcard(self,account, array): 
    362                 if self.vcard_account: 
    363                         gajim.connections[self.vcard_account].unregister_handler('VCARD',  
    364                                 self._receive_vcard) 
    365                         self.unregistered_vcard = None 
    366                         if self.disabled: 
    367                                 return 
    368                         if _version[1] >=30: 
    369                                 self.VcardInfo(repr(array)) 
    370                         else: 
    371                                 self.emit_signal(INTERFACE, 'VcardInfo',  
    372                                         repr(array)) 
    373361 
    374362        def _get_real_arguments(self, args, desired_length):