From e12936ec0f023a37eb29a7d1dabc03f806abab03 Mon Sep 17 00:00:00 2001 From: j Date: Tue, 20 May 2025 12:14:14 +0100 Subject: [PATCH] load config from file --- etc/systemd/system/render-infinity.service | 2 +- management/commands/infinity.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/etc/systemd/system/render-infinity.service b/etc/systemd/system/render-infinity.service index 9afaad8..a016046 100644 --- a/etc/systemd/system/render-infinity.service +++ b/etc/systemd/system/render-infinity.service @@ -9,7 +9,7 @@ User=pandora Group=pandora Nice=19 WorkingDirectory=/srv/pandora/pandora -ExecStart=/srv/pandora/pandora/manage.py infinity +ExecStart=/srv/pandora/pandora/manage.py infinity --config /etc/infinity.json [Install] WantedBy=multi-user.target diff --git a/management/commands/infinity.py b/management/commands/infinity.py index 73e91dc..0ca70fa 100644 --- a/management/commands/infinity.py +++ b/management/commands/infinity.py @@ -13,6 +13,7 @@ class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument('--prefix', action='store', dest='prefix', default="/srv/t_for_time", help='prefix to build clips in') + parser.add_argument('--config', action='store', dest='config', default=None, help='config') parser.add_argument('--duration', action='store', dest='duration', default="3600", help='target duration of all fragments in seconds') parser.add_argument('--single-file', action='store_true', dest='single_file', default=False, help='render to single video') parser.add_argument('--keep-audio', action='store_true', dest='keep_audio', default=False, help='keep independent audio tracks') @@ -20,4 +21,11 @@ class Command(BaseCommand): parser.add_argument('--debug', action='store_true', dest='debug', default=False, help='output more info') def handle(self, **options): + if options.get("config"): + if os.path.exists(options["config"]): + with open(options["config"]) as fd: + config = json.load(fd) + options.update(config) + else: + print("unable to load config %s" % options["config"]) render_infinity(options)