changeset 353529a960cb in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=353529a960cb
description: use NEC to handle account creation events
diffstat:
src/common/connection.py | 22 ++++++++++++++--------
src/common/connection_handlers_events.py | 10 +++++++++-
src/config.py | 26 ++++++++++++++------------
src/gui_interface.py | 6 ------
src/remote_control.py | 5 +++++
5 files changed, 42 insertions(+), 27 deletions(-)
diffs (186 lines):
diff -r 32b8728d0b1f -r 353529a960cb src/common/connection.py
--- a/src/common/connection.py Sun Nov 07 17:52:21 2010 +0100
+++ b/src/common/connection.py Sun Nov 07 18:26:31 2010 +0100
@@ -823,9 +823,11 @@
self.new_account_info['hostname'] == data[0]:
# it's a new account
if not data[1]: # wrong answer
- self.dispatch('ACC_NOT_OK', (
- _('Server %(name)s answered wrongly to
register request: '
- '%(error)s') % {'name': data[0], 'error':
data[3]}))
+ reason = _('Server %(name)s answered wrongly to '
+ 'register request: %(error)s') % {'name': data[0],
+ 'error': data[3]}
+ gajim.nec.push_incoming_event(AccountNotCreated(None,
+ conn=self, reason=reason))
return
is_form = data[2]
conf = data[1]
@@ -833,13 +835,16 @@
if self.new_account_form:
def _on_register_result(result):
if not common.xmpp.isResultNode(result):
- self.dispatch('ACC_NOT_OK',
(result.getError()))
+
gajim.nec.push_incoming_event(AccountNotCreated(
+ None, conn=self, reason=result.getError()))
return
if gajim.HAVE_GPG:
self.USE_GPG = True
self.gpg = GnuPG.GnuPG(gajim.config.get(
'use_gpg_agent'))
- self.dispatch('ACC_OK', (self.new_account_info))
+ gajim.nec.push_incoming_event(
+ AccountCreatedEvent(None, conn=self,
+ account_info = self.new_account_info))
self.new_account_info = None
self.new_account_form = None
if self.connection:
@@ -858,9 +863,10 @@
if self.new_account_form.keys().sort() != \
conf.keys().sort():
# requested config has changed since first
connection
- self.dispatch('ACC_NOT_OK', (_(
- 'Server %s provided a different
registration form')\
- % data[0]))
+ reason = _('Server %s provided a different '
+ 'registration form') % data[0]
+
gajim.nec.push_incoming_event(AccountNotCreated(
+ None, conn=self, reason=reason))
return
common.xmpp.features_nb.register(self.connection,
self._hostname, self.new_account_form,
diff -r 32b8728d0b1f -r 353529a960cb src/common/connection_handlers_events.py
--- a/src/common/connection_handlers_events.py Sun Nov 07 17:52:21 2010 +0100
+++ b/src/common/connection_handlers_events.py Sun Nov 07 18:26:31 2010 +0100
@@ -1232,4 +1232,12 @@
elif self.stanza.getTag('itemremove'):
for item in pref.getTags('item'):
self.removed_items.append(item.getAttr('jid'))
- return True
\ No newline at end of file
+ return True
+
+class AccountCreatedEvent(nec.NetworkIncomingEvent):
+ name = 'account-created'
+ base_network_events = []
+
+class AccountNotCreatedEvent(nec.NetworkIncomingEvent):
+ name = 'account-not-created'
+ base_network_events = []
\ No newline at end of file
diff -r 32b8728d0b1f -r 353529a960cb src/config.py
--- a/src/config.py Sun Nov 07 17:52:21 2010 +0100
+++ b/src/config.py Sun Nov 07 18:26:31 2010 +0100
@@ -3447,9 +3447,10 @@
self.new_acc_connected)
gajim.ged.register_event_handler('NEW_ACC_NOT_CONNECTED', ged.CORE,
self.new_acc_not_connected)
- gajim.ged.register_event_handler('ACC_OK', ged.CORE, self.acc_is_ok)
- gajim.ged.register_event_handler('ACC_NOT_OK', ged.CORE,
- self.acc_is_not_ok)
+ gajim.ged.register_event_handler('account-created', ged.GUI1,
+ self._nec_acc_is_ok)
+ gajim.ged.register_event_handler('account-not-created', ged.GUI1,
+ self._nec_acc_is_not_ok)
def on_wizard_window_destroy(self, widget):
page = self.notebook.get_current_page()
@@ -3463,9 +3464,10 @@
self.new_acc_connected)
gajim.ged.remove_event_handler('NEW_ACC_NOT_CONNECTED', ged.CORE,
self.new_acc_not_connected)
- gajim.ged.remove_event_handler('ACC_OK', ged.CORE, self.acc_is_ok)
- gajim.ged.remove_event_handler('ACC_NOT_OK', ged.CORE,
- self.acc_is_not_ok)
+ gajim.ged.remove_event_handler('account-created', ged.GUI1,
+ self._nec_acc_is_ok)
+ gajim.ged.remove_event_handler('account-not-created', ged.GUI1,
+ self._nec_acc_is_not_ok)
del gajim.interface.instances['account_creation_wizard']
def on_register_server_features_button_clicked(self, widget):
@@ -3772,25 +3774,25 @@
self.finish_label.set_markup(finish_text)
self.notebook.set_current_page(6) # show finish page
- def acc_is_ok(self, account, config):
+ def _nec_acc_is_ok(self, obj):
"""
Account creation succeeded
"""
# We receive events from all accounts from GED
- if account != self.account:
+ if obj.conn.name != self.account:
return
- self.create_vars(config)
+ self.create_vars(obj.account_info)
self.show_finish_page()
if self.update_progressbar_timeout_id is not None:
gobject.source_remove(self.update_progressbar_timeout_id)
- def acc_is_not_ok(self, account, reason):
+ def _nec_acc_is_not_ok(self, obj):
"""
Account creation failed
"""
# We receive events from all accounts from GED
- if account != self.account:
+ if obj.conn.name != self.account:
return
self.back_button.show()
self.cancel_button.show()
@@ -3802,7 +3804,7 @@
img = self.xml.get_object('finish_image')
img.set_from_stock(gtk.STOCK_DIALOG_ERROR, gtk.ICON_SIZE_DIALOG)
finish_text = '<big><b>%s</b></big>\n\n%s' % (_(
- 'An error occurred during account creation'), reason)
+ 'An error occurred during account creation'), obj.reason)
self.finish_label.set_markup(finish_text)
self.notebook.set_current_page(6) # show finish page
diff -r 32b8728d0b1f -r 353529a960cb src/gui_interface.py
--- a/src/gui_interface.py Sun Nov 07 17:52:21 2010 +0100
+++ b/src/gui_interface.py Sun Nov 07 18:26:31 2010 +0100
@@ -585,11 +585,6 @@
gajim.interface.instances[account]['pep_services'].items_received(
array[2])
- def handle_event_acc_ok(self, account, array):
- #('ACC_OK', account, (config))
- if self.remote_ctrl:
- self.remote_ctrl.raise_signal('NewAccount', (account, array))
-
def handle_event_myvcard(self, account, array):
nick = ''
if 'NICKNAME' in array and array['NICKNAME']:
@@ -1811,7 +1806,6 @@
'AGENT_REMOVED': [self.handle_event_agent_removed],
'REGISTER_AGENT_INFO': [self.handle_event_register_agent_info],
'AGENT_INFO_ITEMS': [self.handle_event_agent_info_items],
- 'ACC_OK': [self.handle_event_acc_ok],
'MYVCARD': [self.handle_event_myvcard],
'VCARD': [self.handle_event_vcard],
'GC_NOTIFY': [self.handle_event_gc_notify],
diff -r 32b8728d0b1f -r 353529a960cb src/remote_control.py
--- a/src/remote_control.py Sun Nov 07 17:52:21 2010 +0100
+++ b/src/remote_control.py Sun Nov 07 18:26:31 2010 +0100
@@ -127,6 +127,8 @@
ged.POSTGUI, self.on_gc_message_received)
gajim.ged.register_event_handler('our-show',
ged.POSTGUI, self.on_our_status)
+ gajim.ged.register_event_handler('account-created',
+ ged.POSTGUI, self.on_account_created)
def on_last_status_time(self, obj):
self.raise_signal('LastStatusTime', (obj.conn.name, [
@@ -183,6 +185,9 @@
def on_our_status(self, obj):
self.raise_signal('AccountPresence', (obj.show, obj.conn.name))
+ def on_account_created(self, obj):
+ self.raise_signal('NewAccount', (obj.conn.name, obj.account_info))
+
def raise_signal(self, signal, arg):
if self.signal_object:
try:
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits