load scripts
This commit is contained in:
parent
33fa525497
commit
c99c45436e
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
from core import debug
|
from core import debug
|
||||||
import subprocess, os
|
import subprocess, os
|
||||||
|
from subprocess import Popen, PIPE
|
||||||
|
|
||||||
class command():
|
class command():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -30,6 +31,8 @@ class command():
|
|||||||
p = Popen(self.scriptPath , stdout=PIPE, stderr=PIPE, shell=True)
|
p = Popen(self.scriptPath , stdout=PIPE, stderr=PIPE, shell=True)
|
||||||
stdout, stderr = p.communicate()
|
stdout, stderr = p.communicate()
|
||||||
self.env['runtime']['outputManager'].interruptOutput()
|
self.env['runtime']['outputManager'].interruptOutput()
|
||||||
|
stderr = str(stderr)
|
||||||
|
stdout = str(stdout)
|
||||||
if stderr != '':
|
if stderr != '':
|
||||||
self.env['runtime']['outputManager'].presentText(stdout , soundIcon='', interrupt=False)
|
self.env['runtime']['outputManager'].presentText(stdout , soundIcon='', interrupt=False)
|
||||||
if stdout != '':
|
if stdout != '':
|
||||||
|
@ -64,18 +64,39 @@ class commandManager():
|
|||||||
self.env['runtime']['debug'].writeDebugOut("scriptpath not readable:" + scriptPath ,debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut("scriptpath not readable:" + scriptPath ,debug.debugLevel.ERROR)
|
||||||
return
|
return
|
||||||
commandList = glob.glob(self.env['runtime']['settingsManager'].getSetting('general', 'scriptPath')+'/*')
|
commandList = glob.glob(self.env['runtime']['settingsManager'].getSetting('general', 'scriptPath')+'/*')
|
||||||
|
subCommand = os.path.dirname(os.path.realpath(__main__.__file__)) + '/commands/commands/subprocess.py'
|
||||||
for command in commandList:
|
for command in commandList:
|
||||||
try:
|
try:
|
||||||
fileName, fileExtension = os.path.splitext(command)
|
fileName, fileExtension = os.path.splitext(command)
|
||||||
fileName = fileName.split('/')[-1]
|
fileName = fileName.split('/')[-1]
|
||||||
if fileName.startswith('__'):
|
if fileName.startswith('__'):
|
||||||
continue
|
continue
|
||||||
spec = importlib.util.spec_from_file_location(__main__.__file__+'/commands/commands/subprocess.py', command)
|
spec = importlib.util.spec_from_file_location(fileName ,subCommand)
|
||||||
command_mod = importlib.util.module_from_spec(spec)
|
command_mod = importlib.util.module_from_spec(spec)
|
||||||
spec.loader.exec_module(command_mod)
|
spec.loader.exec_module(command_mod)
|
||||||
self.env['commands'][section][fileName.upper()] = command_mod.command()
|
self.env['commands'][section][fileName.upper()] = command_mod.command()
|
||||||
self.env['commands'][section][fileName.upper()].initialize(self.env,command)
|
self.env['commands'][section][fileName.upper()].initialize(self.env,command)
|
||||||
|
self.env['commands'][section][fileName.upper()].run()
|
||||||
self.env['runtime']['debug'].writeDebugOut("Load script:" + section + "." + fileName.upper() ,debug.debugLevel.INFO, onAnyLevel=True)
|
self.env['runtime']['debug'].writeDebugOut("Load script:" + section + "." + fileName.upper() ,debug.debugLevel.INFO, onAnyLevel=True)
|
||||||
|
commSettings = fileName.upper().split('__-__')
|
||||||
|
if len(commSettings) == 1:
|
||||||
|
keys = commSettings[0]
|
||||||
|
elif len(commSettings) == 2:
|
||||||
|
keys = commSettings[1]
|
||||||
|
elif len(commSettings) > 2:
|
||||||
|
continue
|
||||||
|
|
||||||
|
keys = keys.split('__+__')
|
||||||
|
shortcutKeys = []
|
||||||
|
shortcut = []
|
||||||
|
for key in keys:
|
||||||
|
shortcutKeys.append(key.upper())
|
||||||
|
if not 'KEY_SCRIPT' in shortcutKeys:
|
||||||
|
shortcutKeys.append('KEY_SCRIPT')
|
||||||
|
shortcut.append(1)
|
||||||
|
shortcut.append(sorted(shortcutKeys))
|
||||||
|
print(shortcut,command)
|
||||||
|
self.env['bindings'][str(shortcut)] = fileName.upper()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
self.env['runtime']['debug'].writeDebugOut("Loading script:" + command ,debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut("Loading script:" + command ,debug.debugLevel.ERROR)
|
||||||
|
Loading…
Reference in New Issue
Block a user