summaryrefslogtreecommitdiff
path: root/plugins/exec.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2013-03-08 22:53:35 +0100
committermathieui <mathieui@mathieui.net>2013-03-08 22:53:35 +0100
commit9885203c6799c121f5bc8a733dc1937fe8c1b4d6 (patch)
tree4190635a7c9c78d2dce1a4c8357ccb887f12b8af /plugins/exec.py
parentdbde08a5267cf003d8a4a9c16f5b18275e9a4bd1 (diff)
downloadpoezio-9885203c6799c121f5bc8a733dc1937fe8c1b4d6.tar.gz
poezio-9885203c6799c121f5bc8a733dc1937fe8c1b4d6.tar.bz2
poezio-9885203c6799c121f5bc8a733dc1937fe8c1b4d6.tar.xz
poezio-9885203c6799c121f5bc8a733dc1937fe8c1b4d6.zip
Update the plugins to use the PluginAPI
Also: - Add get_conversation_messages() to PluginAPI - Make plugins_autoload colon-separated instead of space-separated (for consistency) - Replace a JID() with a safeJID() in the uptime plugin
Diffstat (limited to 'plugins/exec.py')
-rw-r--r--plugins/exec.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/plugins/exec.py b/plugins/exec.py
index bf7d7c38..4dbe9590 100644
--- a/plugins/exec.py
+++ b/plugins/exec.py
@@ -8,7 +8,7 @@ import subprocess
class Plugin(BasePlugin):
def init(self):
- self.add_command('exec', self.command_exec,
+ self.api.add_command('exec', self.command_exec,
usage='[-o|-O] <command>',
help='Execute a shell command and prints the result in the information buffer. The command should be ONE argument, that means it should be between \"\". The first argument (before the command) can be -o or -O. If -o is specified, it sends the result in the current conversation. If -O is specified, it sends the command and its result in the current conversation.\nExample: /exec -O \"uptime\" will send “uptime\n20:36:19 up 3:47, 4 users, load average: 0.09, 0.13, 0.09” in the current conversation.',
short='Execute a command')
@@ -22,20 +22,20 @@ class Plugin(BasePlugin):
command = args[1]
arg = args[0]
else:
- self.core.command_help('exec')
+ self.api.run_command('/help exec')
return
try:
process = subprocess.Popen(['sh', '-c', command], stdout=subprocess.PIPE)
except OSError as e:
- self.core.information('Failed to execute command: %s' % (e,), 'Error')
+ self.api.information('Failed to execute command: %s' % (e,), 'Error')
return
result = process.communicate()[0].decode('utf-8')
if arg and arg == '-o':
- if not self.core.send_message('%s' % (result,)):
- self.core.information('Cannot send result (%s), this is not a conversation tab' % result)
+ if not self.api.send_message('%s' % (result,)):
+ self.api.information('Cannot send result (%s), this is not a conversation tab' % result)
elif arg and arg == '-O':
- if not self.core.send_message('%s:\n%s' % (command, result)):
- self.core.information('Cannot send result (%s), this is not a conversation tab' % result)
+ if not self.api.send_message('%s:\n%s' % (command, result)):
+ self.api.information('Cannot send result (%s), this is not a conversation tab' % result)
else:
- self.core.information('%s:\n%s' % (command, result), 'Info')
+ self.api.information('%s:\n%s' % (command, result), 'Info')
return