Skip to content
Snippets Groups Projects
Commit b44f13df authored by Yann Leboulanger's avatar Yann Leboulanger
Browse files

gajim-remote handles ?message in URIs. Fixes #6804, see #2133

Patch based on joeka's one in #6804
parent f801ecab
No related branches found
No related tags found
No related merge requests found
......@@ -544,30 +544,42 @@ class GajimRemote:
if not '?' in uri:
self.command = sys.argv[1] = 'open_chat'
return
if 'body=' in uri:
# Open chat window and paste the text in the input message dialog
self.command = sys.argv[1] = 'open_chat'
message = uri.split('body=')
message = message[1].split(';')[0]
try:
message = urllib.unquote(message)
except UnicodeDecodeError:
pass
sys.argv[2] = uri.split('?')[0]
if len(sys.argv) == 4:
# jid in the sys.argv
sys.argv.append(message)
else:
sys.argv.append('')
sys.argv.append(message)
sys.argv[3] = ''
sys.argv[4] = message
return
(jid, action) = uri.split('?', 1)
jid, args = uri.split('?', 1)
try:
jid = urllib.unquote(jid)
except UnicodeDecodeError:
pass
args = args.split(';')
action = None
options = {}
if args:
action = args[0]
for arg in args[1:]:
opt = arg.split('=', 1)
if len(opt) != 2:
continue
options[opt[0]] = opt[1]
if action == 'message':
self.command = sys.argv[1] = 'open_chat'
sys.argv[2] = jid
if 'body' in options:
# Open chat window and paste the text in the input message
# dialog
message = options['body']
try:
message = urllib.unquote(message)
except UnicodeDecodeError:
pass
if len(sys.argv) == 4:
# jid in the sys.argv
sys.argv.append(message)
else:
sys.argv.append('')
sys.argv.append(message)
sys.argv[3] = ''
sys.argv[4] = message
return
sys.argv[2] = jid
if action == 'join':
self.command = sys.argv[1] = 'join_room'
......@@ -576,7 +588,7 @@ class GajimRemote:
sys.argv.append(sys.argv[3])
sys.argv[3] = ''
return
if action.startswith('roster'):
if action == 'roster':
# Add contact to roster
self.command = sys.argv[1] = 'add_contact'
return
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment