import sys
import yaml
import time
+import argparse
from threading import Thread
from copy import deepcopy
class TeleCaster(Thread):
- def __init__(self, conf_file_path, verbose, dry_run):
+ def __init__(self, args):
Thread.__init__(self)
- conf_file = open(conf_file_path, 'r')
- self.verbose = verbose
- self.dry_run = dry_run
+ conf_file = open(args["config"], 'r')
+ self.verbose = args["verbose"]
+ self.dry_run = args["dry_run"]
self.conf = yaml.safe_load(conf_file)["telecaster"]
self.stream_types = ["audio", "video"]
self.deefuzzer_video_conf_file = "/tmp/telecaster_deefuzzer_webm_monitor.yml"
def main():
- verbose = False
- dry_run = False
-
- if len(sys.argv) >= 2:
- tc = TeleCaster(sys.argv[-1], verbose, dry_run)
- tc.start()
- elif os.path.exists(DEFAULT_CONFIG_FILE):
- tc = TeleCaster(DEFAULT_CONFIG_FILE, verbose, dry_run)
- tc.start()
- else:
- sys.exit()
-
+ description ="""Start a TeleCaster streaming server"""
+ parser = argparse.ArgumentParser(description=description)
+ parser.add_argument("--config", help="config file", type=str)
+ parser.add_argument("--verbose", help="verbose", action="store_true")
+ parser.add_argument("--dry-run", help="dry run", action="store_true")
+ args = vars(parser.parse_args())
+ if os.path.exists(DEFAULT_CONFIG_FILE) and not args["config"]:
+ args['config'] = DEFAULT_CONFIG_FILE
+ print(args)
+ tc = TeleCaster(args)
+ tc.start()
if __name__ == '__main__':
main()