# HG changeset patch # User Goffi # Date 1273733868 -34200 # Node ID 23caf1051099ad1d8914f280df8bf306d179c039 # Parent 59f181e8433af225b13386e2c4caec63652afcd8 multi-profile/subscription misc fixes diff -r 59f181e8433a -r 23caf1051099 frontends/quick_frontend/quick_app.py --- a/frontends/quick_frontend/quick_app.py Wed May 12 11:55:18 2010 +0930 +++ b/frontends/quick_frontend/quick_app.py Thu May 13 16:27:48 2010 +0930 @@ -281,9 +281,9 @@ # this is a subscriptionn request, we have to ask for user confirmation answer = self.showDialog(_("The contact %s wants to subscribe to your presence.\nDo you accept ?") % entity.short, _('Subscription confirmation'), 'yes/no') if answer: - self.bridge.subscription("subscribed", entity.short) + self.bridge.subscription("subscribed", entity.short, profile_key = profile) else: - self.bridge.subscribed("unsubscribed", entity.short) + self.bridge.subscription("unsubscribed", entity.short, profile_key = profile) def showDialog(self, message, title, type="info"): raise NotImplementedError diff -r 59f181e8433a -r 23caf1051099 frontends/wix/main_window.py --- a/frontends/wix/main_window.py Wed May 12 11:55:18 2010 +0930 +++ b/frontends/wix/main_window.py Thu May 13 16:27:48 2010 +0930 @@ -118,6 +118,7 @@ def plug_profile(self, profile_key='@DEFAULT@'): """Hide profile panel then plug profile""" + debug (_('plugin profile %s' % profile_key)) self.profile_pan.Hide() self.contactList.Show() self.sizer.Layout() @@ -330,7 +331,7 @@ def __updateStatus(self): show = filter(lambda x:x[1] == self.statusBox.GetValue(), const_STATUS)[0][0] status = self.statusTxt.GetValue() - self.bridge.setPresence(show=show, statuses={'default':status}) #FIXME: manage multilingual statuses + self.bridge.setPresence(show=show, statuses={'default':status}, profile_key=self.profile) #FIXME: manage multilingual statuses def onStatusChange(self, e): debug(_("Status change request")) @@ -352,7 +353,7 @@ if dlg.ShowModal() == wx.ID_OK: jid=JID(dlg.GetValue()) if jid.is_valid(): - self.bridge.addContact(jid.short) + self.bridge.addContact(jid.short, profile_key=self.profile) else: error (_("'%s' is an invalid JID !"), jid) #TODO: notice the user @@ -378,7 +379,7 @@ if dlg.ShowModal() == wx.ID_YES: info(_("Unsubscribing %s presence"), target.short) - self.bridge.delContact(target.short) + self.bridge.delContact(target.short, profile_key=self.profile) dlg.Destroy() @@ -393,7 +394,7 @@ dlg.ShowModal() dlg.Destroy() return - id = self.bridge.getCard(target.short) + id = self.bridge.getCard(target.short, profile_key=self.profile) self.current_action_ids.add(id) self.current_action_ids_cb[id] = self.onProfileReceived diff -r 59f181e8433a -r 23caf1051099 frontends/wix/param.py --- a/frontends/wix/param.py Wed May 12 11:55:18 2010 +0930 +++ b/frontends/wix/param.py Thu May 13 16:27:48 2010 +0930 @@ -57,7 +57,7 @@ panel=wx.Panel(self.notebook) panel.sizer = wx.BoxSizer(wx.VERTICAL) - cat_dom = minidom.parseString(self.host.bridge.getParamsForCategory(category).encode('utf-8')) + cat_dom = minidom.parseString(self.host.bridge.getParamsForCategory(category, profile_key = self.host.profile).encode('utf-8')) for param in cat_dom.documentElement.getElementsByTagName("param"): name = param.getAttribute("name") @@ -115,7 +115,7 @@ def __save_parameters(self): for param in self.modified: - self.host.bridge.setParam(param[0], self.modified[param], param[1]) + self.host.bridge.setParam(param[0], self.modified[param], param[1], profile_key = self.host.profile) self.modified.clear() def onClose(self, event): diff -r 59f181e8433a -r 23caf1051099 frontends/wix/profile_manager.py --- a/frontends/wix/profile_manager.py Wed May 12 11:55:18 2010 +0930 +++ b/frontends/wix/profile_manager.py Thu May 13 16:27:48 2010 +0930 @@ -133,12 +133,12 @@ wx.MessageDialog(self, _("A profile name can't start with a @"), _("Bad profile name"), wx.ICON_ERROR).ShowModal() return profile = self.host.bridge.getProfileName(name) - if not profile: - debug(_("The profile is new, we create it")) + assert(profile) old_jid = self.host.bridge.getParamA("JabberID", "Connection", profile_key=profile) old_pass = self.host.bridge.getParamA("Password", "Connection", profile_key=profile) new_jid = self.login_jid.GetValue() new_pass = self.login_pass.GetValue() + print "old: %s, new: %s, old_pass: %s, new_pass: %s" % (old_jid, new_jid, old_pass, new_pass) if old_jid != new_jid: debug(_('Saving new JID and server')) self.host.bridge.setParam("JabberID", new_jid, "Connection", profile) @@ -146,5 +146,5 @@ if old_pass != new_pass: debug(_('Saving new password')) self.host.bridge.setParam("Password", new_pass, "Connection", profile) - self.host.plug_profile(name) + self.host.plug_profile(profile) diff -r 59f181e8433a -r 23caf1051099 plugins/plugin_misc_tarot.py --- a/plugins/plugin_misc_tarot.py Wed May 12 11:55:18 2010 +0930 +++ b/plugins/plugin_misc_tarot.py Thu May 13 16:27:48 2010 +0930 @@ -102,7 +102,6 @@ del(deck[:]) for player in players: - print "envoi de main a",player self.host.sendMessage(room_jid+"/"+player, "/hand: %s" % str(hand[player])) self.host.bridge.tarotGameNew(room_jid, hand[players[0]], profile) diff -r 59f181e8433a -r 23caf1051099 sat.tac --- a/sat.tac Wed May 12 11:55:18 2010 +0930 +++ b/sat.tac Thu May 13 16:27:48 2010 +0930 @@ -382,16 +382,14 @@ def connect(self, profile_key = '@DEFAULT@'): """Connect to jabber server""" - profile = self.memory.getProfileName(profile_key) if not profile_key: error (_('Trying to connect a non-exsitant profile')) return - if (self.isConnected()): + if (self.isConnected(profile)): info(_("already connected !")) return - print "connecting..." current = self.profiles[profile] = SatXMPPClient(self, profile, jid.JID(self.memory.getParamA("JabberID", "Connection", profile_key = profile_key), profile), self.memory.getParamA("Password", "Connection", profile_key = profile_key), @@ -604,23 +602,23 @@ to_jid = jid.JID(to) if to else None self.profiles[profile].presence.available(to_jid, show, statuses, priority) - def subscription(self, type, raw_jid, profile_key='@DEFAULT@'): + def subscription(self, subs_type, raw_jid, profile_key='@DEFAULT@'): """Called to manage subscription""" profile = self.memory.getProfileName(profile_key) assert(profile) to_jid = jid.JID(raw_jid) - debug (_('subsciption request [%(type)s] for %(jid)s') % {'type':type, 'jid':to_jid.full()}) - if type=="subscribe": + debug (_('subsciption request [%(subs_type)s] for %(jid)s') % {'subs_type':subs_type, 'jid':to_jid.full()}) + if subs_type=="subscribe": self.profiles[profile].presence.subscribe(to_jid) - elif type=="subscribed": - self.profiles[profile].subscribed(to_jid) + elif subs_type=="subscribed": + self.profiles[profile].presence.subscribed(to_jid) contact = self.memory.getContact(to_jid) if not contact or not bool(contact['to']): #we automatically subscribe to 'to' presence debug(_('sending automatic "to" subscription request')) self.subscription('subscribe', to_jid.userhost()) - elif type=="unsubscribe": + elif subs_type=="unsubscribe": self.profiles[profile].presence.unsubscribe(to_jid) - elif type=="unsubscribed": + elif subs_type=="unsubscribed": self.profiles[profile].presence.unsubscribed(to_jid) diff -r 59f181e8433a -r 23caf1051099 sat_bridge/DBus.py --- a/sat_bridge/DBus.py Wed May 12 11:55:18 2010 +0930 +++ b/sat_bridge/DBus.py Thu May 13 16:27:48 2010 +0930 @@ -138,7 +138,7 @@ in_signature='s', out_signature='') def connect(self, profile_key='@DEFAULT@'): info ("Connection asked") - return self.cb["connect"]() + return self.cb["connect"](profile_key) @dbus.service.method(const_INT_PREFIX+const_COMM_SUFFIX, in_signature='s', out_signature='')