#!/usr/bin/env python3 # SPDX-FileCopyrightText: 2022 Citadel and contributors # # SPDX-License-Identifier: GPL-3.0-or-later import os import socket rootDir = os.path.dirname(os.path.abspath(__file__)) os.chdir(rootDir) if os.path.exists("events/karen.socket"): os.remove("events/karen.socket") server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) server.bind("events/karen.socket") while True: server.listen(1) conn, addr = server.accept() datagram = conn.recv(1024) if datagram: instructions = datagram.decode("utf-8").strip().split() cmd = instructions[0] if cmd == "trigger": trigger = instructions[1] instructions.pop(0) instructions.pop(0) os.system("scripts/triggers/{} {}".format(trigger, " ".join(instructions))) elif cmd == "exec": instructions.pop(0) os.system(" ".join(instructions)) conn.close()