changeset 2af3646ddb5f in /home/hg/repos/gajim
branches: details:http://hg.gajim.org/gajim?cmd=changeset;node=2af3646ddb5f description: remove send_message from connection object. Use Event everywhere
diffstat:
src/common/commands.py | 16 ++++++++--- src/common/connection.py | 25 ------------------ src/common/zeroconf/connection_zeroconf.py | 40 ------------------------------ src/dialogs.py | 25 ++++++++++-------- 4 files changed, 25 insertions(+), 81 deletions(-)
diffs (184 lines):
diff -r 948f949577ca -r 2af3646ddb5f src/common/commands.py --- a/src/common/commands.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/commands.py Fri Jul 26 14:45:16 2013 +0200 @@ -26,6 +26,7 @@ import helpers import dataforms import gajim +from common.connection_handlers_events import MessageOutgoingEvent
import logging log = logging.getLogger('gajim.c.commands') @@ -285,9 +286,10 @@ ev_typ = event.type_ if ev_typ == 'printed_chat': ev_typ = 'chat' - self.connection.send_message(j, event.parameters[0], '', + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=account, jid=j, message=event.parameters[0], type_=ev_typ, subject=event.parameters[1], - resource=resource, forward_from=jid, delayed=event.time_) + resource=resource, forward_from=jid, delayed=event.time_))
# Inform other client of completion response, cmd = self.buildResponse(request, status = 'completed') @@ -315,10 +317,14 @@ j, resource = gajim.get_room_and_nick_from_fjid(self.jid) for jid in events: for event in events[jid]: - self.connection.send_message(j, event.parameters[0], '', - type_=event.type_, subject=event.parameters[1], + ev_typ = event.type_ + if ev_typ == 'printed_chat': + ev_typ = 'chat' + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=account, jid=j, message=event.parameters[0], + type_=ev_typ, subject=event.parameters[1], resource=resource, forward_from=jid, delayed=event.time_, - now=True) + now=True))
response, cmd = self.buildResponse(request, status = 'completed') cmd.addChild('note', {}, _('The status has been changed.')) diff -r 948f949577ca -r 2af3646ddb5f src/common/connection.py --- a/src/common/connection.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/connection.py Fri Jul 26 14:45:16 2013 +0200 @@ -1989,31 +1989,6 @@
self.connection.send(msg_iq)
- def send_message(self, jid, msg, keyID=None, type_='chat', subject='', - chatstate=None, msg_id=None, resource=None, user_nick=None, xhtml=None, - label=None, session=None, forward_from=None, form_node=None, - original_message=None, delayed=None, attention=False, correction_msg=None, - callback=None, callback_args=[], now=False): - - def cb(jid, msg, keyID, forward_from, session, original_message, - subject, type_, msg_iq, xhtml): - msg_id = self.connection.send(msg_iq, now=now) - jid = helpers.parse_jid(jid) - gajim.nec.push_incoming_event(MessageSentEvent(None, conn=self, - jid=jid, message=msg, keyID=keyID, chatstate=chatstate)) - if callback: - callback(msg_id, *callback_args) - - self.log_message(jid, msg, forward_from, session, original_message, - subject, type_, xhtml) - - self._prepare_message(jid, msg, keyID, type_=type_, subject=subject, - chatstate=chatstate, msg_id=msg_id, resource=resource, - user_nick=user_nick, xhtml=xhtml, label=label, session=session, - forward_from=forward_from, form_node=form_node, - original_message=original_message, delayed=delayed, - attention=attention, correction_msg=correction_msg, callback=cb) - def _nec_message_outgoing(self, obj): if obj.account != self.name: return diff -r 948f949577ca -r 2af3646ddb5f src/common/zeroconf/connection_zeroconf.py --- a/src/common/zeroconf/connection_zeroconf.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/zeroconf/connection_zeroconf.py Fri Jul 26 14:45:16 2013 +0200 @@ -333,46 +333,6 @@ title=_('Could not change status of account "%s"') % self.name, msg=_('Please check if avahi-daemon is running.')))
- def send_message(self, jid, msg, keyID, type_='chat', subject='', - chatstate=None, msg_id=None, resource=None, user_nick=None, xhtml=None, - label=None, session=None, forward_from=None, form_node=None, - original_message=None, delayed=None, attention=False, callback=None, - callback_args=[], now=True): - - def on_send_ok(msg_id): - gajim.nec.push_incoming_event(MessageSentEvent(None, conn=self, - jid=jid, message=msg, keyID=keyID, chatstate=None)) - if callback: - callback(msg_id, *callback_args) - - self.log_message(jid, msg, forward_from, session, original_message, - subject, type_) - - def on_send_not_ok(reason): - reason += ' ' + _('Your message could not be sent.') - gajim.nec.push_incoming_event(MessageErrorEvent(None, conn=self, - fjid=jid, error_code=-1, error_msg=reason, msg=None, time_=None, - session=session)) - - def cb(jid, msg, keyID, forward_from, session, original_message, subject, - type_, msg_iq): - ret = self.connection.send(msg_iq, msg is not None, on_ok=on_send_ok, - on_not_ok=on_send_not_ok) - - if ret == -1: - # Contact Offline - gajim.nec.push_incoming_event(MessageErrorEvent(None, conn=self, - fjid=jid, error_code=-1, error_msg=_( - 'Contact is offline. Your message could not be sent.'), - msg=None, time_=None, session=session)) - - self._prepare_message(jid, msg, keyID, type_=type_, subject=subject, - chatstate=chatstate, msg_id=msg_id, resource=resource, - user_nick=user_nick, xhtml=xhtml, session=session, - forward_from=forward_from, form_node=form_node, - original_message=original_message, delayed=delayed, - attention=attention, callback=cb) - def _nec_message_outgoing(self, obj): if obj.account != self.name: return diff -r 948f949577ca -r 2af3646ddb5f src/dialogs.py --- a/src/dialogs.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/dialogs.py Fri Jul 26 14:45:16 2013 +0200 @@ -60,6 +60,7 @@ from common import i18n from common import dataforms from common.exceptions import GajimGeneralException +from common.connection_handlers_events import MessageOutgoingEvent
class EditGroupsDialog: """ @@ -3164,6 +3165,15 @@ sender_list = [j.strip() for j in self.to_entry.get_text().decode( 'utf-8').split(',')]
+ subject = self.subject_entry.get_text().decode('utf-8') + begin, end = self.message_tv_buffer.get_bounds() + message = self.message_tv_buffer.get_text(begin, end).decode('utf-8') + + if self.form_widget: + form_node = self.form_widget.data_form + else: + form_node = None + for to_whom_jid in sender_list: if to_whom_jid in self.completion_dict: to_whom_jid = self.completion_dict[to_whom_jid].jid @@ -3175,10 +3185,6 @@ 'valid.') % to_whom_jid) return True
- subject = self.subject_entry.get_text().decode('utf-8') - begin, end = self.message_tv_buffer.get_bounds() - message = self.message_tv_buffer.get_text(begin, end).decode('utf-8') - if '/announce/' in to_whom_jid: gajim.connections[self.account].send_motd(to_whom_jid, subject, message) @@ -3190,14 +3196,11 @@ session = gajim.connections[self.account].make_new_session( to_whom_jid)
- if self.form_widget: - form_node = self.form_widget.data_form - else: - form_node = None # FIXME: allow GPG message some day - gajim.connections[self.account].send_message(to_whom_jid, message, - keyID=None, type_='normal', subject=subject, session=session, - form_node=form_node) + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=self.account, jid=to_whom_jid, message=message, + type_='normal', subject=subject, session=session, + form_node=form_node))
self.subject_entry.set_text('') # we sent ok, clear the subject self.message_tv_buffer.set_text('') # we sent ok, clear the textview