forked from platypush/platypush
Added plugins dir
This commit is contained in:
parent
065fa65190
commit
bc157a1d80
2 changed files with 30 additions and 0 deletions
6
lib/plugins/__init__.py
Normal file
6
lib/plugins/__init__.py
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
class Plugin(object):
|
||||||
|
def run(self, args):
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
# vim:sw=4:ts=4:et:
|
||||||
|
|
24
lib/plugins/shell/__init__.py
Normal file
24
lib/plugins/shell/__init__.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
from .. import Plugin
|
||||||
|
|
||||||
|
class ShellPlugin(Plugin):
|
||||||
|
def run(self, args):
|
||||||
|
if 'cmd' not in args:
|
||||||
|
raise RuntimeError('No cmd parameter specified')
|
||||||
|
|
||||||
|
cmd = args['cmd']
|
||||||
|
output = None
|
||||||
|
error = None
|
||||||
|
|
||||||
|
try:
|
||||||
|
output = subprocess.check_output(cmd,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
shell=True)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
error = e.output
|
||||||
|
|
||||||
|
return output, error
|
||||||
|
|
||||||
|
# vim:sw=4:ts=4:et:
|
||||||
|
|
Loading…
Reference in a new issue