35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
from src.core.plugin import Plugin
|
|
import argparse
|
|
import sys
|
|
import threading
|
|
from src.core.logger import Logger
|
|
import time
|
|
|
|
def main():
|
|
Logger.info("Plugin Start")
|
|
parser = argparse.ArgumentParser(description='Stream Dock Plugin')
|
|
parser.add_argument('-port', type=int, required=True, help='WebSocket port number')
|
|
parser.add_argument('-pluginUUID', type=str, required=True, help='Unique identifier for the plugin')
|
|
parser.add_argument('-registerEvent', type=str, required=True, help='Event type for plugin registration')
|
|
parser.add_argument('-info', type=str, required=True, help='JSON string containing Stream Dock and device information')
|
|
args = parser.parse_args()
|
|
|
|
try:
|
|
# Logger.info(f"Plugin parameters - Port: {args.port}, UUID: {args.pluginUUID}, Event: {args.registerEvent}, Info: {args.info}")
|
|
time.sleep(1)
|
|
plugin = Plugin(args.port, args.pluginUUID, args.registerEvent, args.info)
|
|
stop_event = threading.Event()
|
|
def on_close(ws, close_status_code, close_msg):
|
|
plugin.stop()
|
|
stop_event.set()
|
|
Logger.info('Plugin stopped')
|
|
|
|
plugin.ws.on_close = on_close
|
|
stop_event.wait()
|
|
|
|
except Exception as e:
|
|
Logger.info(e)
|
|
sys.exit(0)
|
|
|
|
if __name__ == '__main__':
|
|
main() |