Show
Ignore:
Timestamp:
05/20/08 16:18:12 (6 months ago)
Author:
asterix
Message:

upadte all contact instances when we get a pep event for a contact. See #3953

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/common/pep.py

    r9625 r9690  
    3636 
    3737        (user, resource) = gajim.get_room_and_nick_from_fjid(jid) 
    38         contact = gajim.contacts.get_contact(name, user, resource=resource) 
    39         if not contact: 
    40                 return 
    41         if has_child: 
    42                 if contact.mood.has_key('mood'): 
    43                         del contact.mood['mood'] 
    44                 if contact.mood.has_key('text'): 
    45                         del contact.mood['text'] 
    46                 if mood is not None: 
    47                         contact.mood['mood'] = mood 
    48                 if text is not None: 
    49                         contact.mood['text'] = text 
    50         elif retract: 
    51                 if contact.mood.has_key('mood'): 
    52                         del contact.mood['mood'] 
    53                 if contact.mood.has_key('text'): 
    54                         del contact.mood['text'] 
     38        for contact in gajim.contacts.get_contacts(name, user) 
     39                if has_child: 
     40                        if contact.mood.has_key('mood'): 
     41                                del contact.mood['mood'] 
     42                        if contact.mood.has_key('text'): 
     43                                del contact.mood['text'] 
     44                        if mood is not None: 
     45                                contact.mood['mood'] = mood 
     46                        if text is not None: 
     47                                contact.mood['text'] = text 
     48                elif retract: 
     49                        if contact.mood.has_key('mood'): 
     50                                del contact.mood['mood'] 
     51                        if contact.mood.has_key('text'): 
     52                                del contact.mood['text'] 
    5553 
    5654def user_tune(items, name, jid): 
     
    117115 
    118116        (user, resource) = gajim.get_room_and_nick_from_fjid(jid) 
    119         contact = gajim.contacts.get_contact(name, user, resource=resource) 
    120         if not contact: 
    121                 return 
    122         if has_child: 
    123                 if contact.tune.has_key('artist'): 
    124                         del contact.tune['artist'] 
    125                 if contact.tune.has_key('title'): 
    126                         del contact.tune['title'] 
    127                 if contact.tune.has_key('source'): 
    128                         del contact.tune['source'] 
    129                 if contact.tune.has_key('track'): 
    130                         del contact.tune['track'] 
    131                 if contact.tune.has_key('length'): 
    132                         del contact.tune['length'] 
    133                 if artist is not None: 
    134                         contact.tune['artist'] = artist 
    135                 if title is not None: 
    136                         contact.tune['title'] = title 
    137                 if source is not None: 
    138                         contact.tune['source'] = source 
    139                 if track is not None: 
    140                         contact.tune['track'] = track 
    141                 if length is not None: 
    142                         contact.tune['length'] = length 
    143         elif retract: 
    144                 if contact.tune.has_key('artist'): 
    145                         del contact.tune['artist'] 
    146                 if contact.tune.has_key('title'): 
    147                         del contact.tune['title'] 
    148                 if contact.tune.has_key('source'): 
    149                         del contact.tune['source'] 
    150                 if contact.tune.has_key('track'): 
    151                         del contact.tune['track'] 
    152                 if contact.tune.has_key('length'): 
    153                         del contact.tune['length'] 
     117        for contact in gajim.contacts.get_contacts(name, user) 
     118                if has_child: 
     119                        if contact.tune.has_key('artist'): 
     120                                del contact.tune['artist'] 
     121                        if contact.tune.has_key('title'): 
     122                                del contact.tune['title'] 
     123                        if contact.tune.has_key('source'): 
     124                                del contact.tune['source'] 
     125                        if contact.tune.has_key('track'): 
     126                                del contact.tune['track'] 
     127                        if contact.tune.has_key('length'): 
     128                                del contact.tune['length'] 
     129                        if artist is not None: 
     130                                contact.tune['artist'] = artist 
     131                        if title is not None: 
     132                                contact.tune['title'] = title 
     133                        if source is not None: 
     134                                contact.tune['source'] = source 
     135                        if track is not None: 
     136                                contact.tune['track'] = track 
     137                        if length is not None: 
     138                                contact.tune['length'] = length 
     139                elif retract: 
     140                        if contact.tune.has_key('artist'): 
     141                                del contact.tune['artist'] 
     142                        if contact.tune.has_key('title'): 
     143                                del contact.tune['title'] 
     144                        if contact.tune.has_key('source'): 
     145                                del contact.tune['source'] 
     146                        if contact.tune.has_key('track'): 
     147                                del contact.tune['track'] 
     148                        if contact.tune.has_key('length'): 
     149                                del contact.tune['length'] 
    154150 
    155151def user_geoloc(items, name, jid): 
     
    201197 
    202198        (user, resource) = gajim.get_room_and_nick_from_fjid(jid) 
    203         contact = gajim.contacts.get_contact(name, user, resource=resource) 
    204         if not contact: 
    205                 return 
    206         if has_child: 
    207                 if contact.activity.has_key('activity'): 
    208                         del contact.activity['activity'] 
    209                 if contact.activity.has_key('subactivity'): 
    210                         del contact.activity['subactivity'] 
    211                 if contact.activity.has_key('text'): 
    212                         del contact.activity['text'] 
    213                 if activity is not None: 
    214                         contact.activity['activity'] = activity 
    215                 if subactivity is not None: 
    216                         contact.activity['subactivity'] = subactivity 
    217                 if text is not None: 
    218                         contact.activity['text'] = text 
    219         elif retract: 
    220                 if contact.activity.has_key('activity'): 
    221                         del contact.activity['activity'] 
    222                 if contact.activity.has_key('subactivity'): 
    223                         del contact.activity['subactivity'] 
    224                 if contact.activity.has_key('text'): 
    225                         del contact.activity['text'] 
     199        for contact in gajim.contacts.get_contacts(name, user) 
     200                if has_child: 
     201                        if contact.activity.has_key('activity'): 
     202                                del contact.activity['activity'] 
     203                        if contact.activity.has_key('subactivity'): 
     204                                del contact.activity['subactivity'] 
     205                        if contact.activity.has_key('text'): 
     206                                del contact.activity['text'] 
     207                        if activity is not None: 
     208                                contact.activity['activity'] = activity 
     209                        if subactivity is not None: 
     210                                contact.activity['subactivity'] = subactivity 
     211                        if text is not None: 
     212                                contact.activity['text'] = text 
     213                elif retract: 
     214                        if contact.activity.has_key('activity'): 
     215                                del contact.activity['activity'] 
     216                        if contact.activity.has_key('subactivity'): 
     217                                del contact.activity['subactivity'] 
     218                        if contact.activity.has_key('text'): 
     219                                del contact.activity['text'] 
    226220 
    227221def user_nickname(items, name, jid): 
     
    247241 
    248242        (user, resource) = gajim.get_room_and_nick_from_fjid(jid) 
    249         contact = gajim.contacts.get_contact(name, user, resource=resource) 
    250         if not contact: 
    251                 return 
    252243        if has_child: 
    253244                if nick is not None: 
    254                         contact.contact_name = nick 
     245                        for contact in gajim.contacts.get_contacts(name, user) 
     246                                contact.contact_name = nick 
    255247                        gajim.interface.roster.draw_contact(user, name) 
    256248                        for ctrl in gajim.interface.msg_win_mgr.get_chat_controls(user, name):