#!/usr/bin/env python3 # # Orion Rigel --- Text to Speech engine # # Copyright (c) 2022 Sameer Rahmani # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License import argparse import asyncio import os import sys import signal import daemon import dotenv import pidfile from tcp import start, synth def main(conf): try: asyncio.run(start(config, synth(conf))) except KeyboardInterrupt: sys.exit() if __name__ == "__main__": parser = argparse.ArgumentParser(description='Rigel, Text to Speech engine.') # parser.add_argument('--daemon', action='store_true', # help='Run Rigel in background') parser.add_argument('--env', help='The env file to use.') # parser.add_argument('--log-dir', type=argparse.FileType('r'), # help='The env file to use.') # parser.add_argument('--pid', type=argparse.FileType('a'), # help='The pid file path to create') args = parser.parse_args() #print(args.pid) config = dotenv.dotenv_values(args.env) # action = sys.argv[2] # pfile = config.get("PID_FILE", "/var/run/rigel.pid") # logs = config.get("LOGFILE") # logfile = open(logs, 'a+') if logs else sys.stdout # pidlock = pidfile.PIDFile(pfile) # if action == "status": # print("Running" if pidlock.is_running else "Not running.") # elif action == "stop": # if pidlock.is_running: # print("Terminating...") # f = open(pfile, "r") # pid = int(f.read()) # os.kill(pid, signal.SIGTERM) # else: # print("Not running.") # elif action == "start": # with daemon.DaemonContext(stdout=logfile, # stderr=logfile, # pidfile=pidlock): # main(config) main(config)