[maciekp] Send single message with gajim-remote, fixes #2026.

This commit is contained in:
Jean-Marie Traissard 2006-06-16 16:09:46 +00:00
parent f757025e85
commit 42d74e39fa
2 changed files with 40 additions and 4 deletions

View File

@ -126,7 +126,7 @@ class GajimRemote:
] ]
], ],
'send_message':[ 'send_message':[
_('Sends new message to a contact in the roster. Both OpenPGP key ' _('Sends new chat message to a contact in the roster. Both OpenPGP key '
'and account are optional. If you want to set only \'account\', ' 'and account are optional. If you want to set only \'account\', '
'without \'OpenPGP key\', just set \'OpenPGP key\' to \'\'.'), 'without \'OpenPGP key\', just set \'OpenPGP key\' to \'\'.'),
[ [
@ -138,6 +138,20 @@ class GajimRemote:
'using this account'), False), 'using this account'), False),
] ]
], ],
'send_single_message':[
_('Sends new single message to a contact in the roster. Both OpenPGP key '
'and account are optional. If you want to set only \'account\', '
'without \'OpenPGP key\', just set \'OpenPGP key\' to \'\'.'),
[
('jid', _('JID of the contact that will receive the message'), True),
(_('subject'), _('message subject'), True),
(_('message'), _('message contents'), True),
(_('pgp key'), _('if specified, the message will be encrypted '
'using this public key'), False),
(_('account'), _('if specified, the message will be sent '
'using this account'), False),
]
],
'contact_info': [ 'contact_info': [
_('Gets detailed info on a contact'), _('Gets detailed info on a contact'),
[ [
@ -252,8 +266,8 @@ class GajimRemote:
def print_result(self, res): def print_result(self, res):
''' Print retrieved result to the output ''' ''' Print retrieved result to the output '''
if res is not None: if res is not None:
if self.command in ('open_chat', 'send_message', 'start_chat'): if self.command in ('open_chat', 'send_message', 'send_single_message', 'start_chat'):
if self.command == 'send_message': if self.command in ('send_message', 'send_single_message'):
self.argv_len -= 2 self.argv_len -= 2
if res is False: if res is False:

View File

@ -159,6 +159,7 @@ class SignalObject(DbusPrototype):
self.change_status, self.change_status,
self.open_chat, self.open_chat,
self.send_message, self.send_message,
self.send_single_message,
self.contact_info, self.contact_info,
self.send_file, self.send_file,
self.prefs_list, self.prefs_list,
@ -251,7 +252,7 @@ class SignalObject(DbusPrototype):
def send_message(self, *args): def send_message(self, *args):
''' send_message(jid, message, keyID=None, account=None) ''' send_message(jid, message, keyID=None, account=None)
send 'message' to 'jid', using account (optional) 'account'. send chat 'message' to 'jid', using account (optional) 'account'.
if keyID is specified, encrypt the message with the pgp key ''' if keyID is specified, encrypt the message with the pgp key '''
jid, message, keyID, account = self._get_real_arguments(args, 4) jid, message, keyID, account = self._get_real_arguments(args, 4)
if not jid or not message: if not jid or not message:
@ -267,6 +268,26 @@ class SignalObject(DbusPrototype):
return True return True
return False return False
def send_single_message(self, *args):
''' send_single_message(jid, subject, message, keyID=None, account=None)
send single 'message' to 'jid', using account (optional) 'account'.
if keyID is specified, encrypt the message with the pgp key '''
jid, subject, message, keyID, account = self._get_real_arguments(args, 5)
if not jid or not message:
return None # or raise error
if not keyID:
keyID = ''
connected_account, contact = self.get_account_and_contact(account, jid)
if connected_account:
connection = gajim.connections[connected_account]
res = connection.send_message(jid, message, keyID,
type='normal',
subject=subject)
return True
return False
def open_chat(self, *args): def open_chat(self, *args):
''' start_chat(jid, account=None) -> shows the tabbed window for new ''' start_chat(jid, account=None) -> shows the tabbed window for new
message to 'jid', using account(optional) 'account' ''' message to 'jid', using account(optional) 'account' '''
@ -578,6 +599,7 @@ class SignalObject(DbusPrototype):
open_chat = method(INTERFACE)(open_chat) open_chat = method(INTERFACE)(open_chat)
contact_info = method(INTERFACE)(contact_info) contact_info = method(INTERFACE)(contact_info)
send_message = method(INTERFACE)(send_message) send_message = method(INTERFACE)(send_message)
send_single_message = method(INTERFACE)(send_single_message)
send_file = method(INTERFACE)(send_file) send_file = method(INTERFACE)(send_file)
prefs_list = method(INTERFACE)(prefs_list) prefs_list = method(INTERFACE)(prefs_list)
prefs_put = method(INTERFACE)(prefs_put) prefs_put = method(INTERFACE)(prefs_put)