From 4719337dd82742871ad88e406b3e6a37167b4773 Mon Sep 17 00:00:00 2001 From: Kip Date: Tue, 19 Dec 2023 08:25:46 -0700 Subject: [PATCH] Added systemd service file and refactored main.py Switched main.py to use argparse for cleaner code and easier argument additions for the future Added extras folder with systemd service file example --- extras/plex_debrid.service | 14 ++++++++++++++ main.py | 20 +++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 extras/plex_debrid.service diff --git a/extras/plex_debrid.service b/extras/plex_debrid.service new file mode 100644 index 00000000..3de8e8fa --- /dev/null +++ b/extras/plex_debrid.service @@ -0,0 +1,14 @@ +[Unit] +Description=Plex torrent streaming through Debrid Services +After=network.target + +# Adjust paths and user/group as required. +[Service] +ExecStart=/usr/bin/python3 /usr/local/plex_debrid/main.py --service --config-dir=/var/lib/plex_debrid +Restart=always +User=media +Group=media +WorkingDirectory=/var/lib/plex_debrid + +[Install] +WantedBy=multi-user.target diff --git a/main.py b/main.py index 7c13b9c6..e5c455b0 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,15 @@ +import argparse import ui from base import * -config_dir = "" -service_mode = False +parser = argparse.ArgumentParser(description='Plex Debrid') -if os.path.exists('./settings.json'): - if os.path.getsize('./settings.json') > 0 and os.path.isfile('./settings.json'): - config_dir = "." +parser.add_argument('--config-dir', '-c', type=str, default='.', help='Configuration directory') +parser.add_argument('--service', '-s', default=True, action='store_true', help='Run in service mode') -for i,arg in enumerate(sys.argv): - if config_dir == "" and arg == "--config-dir": - config_dir = sys.argv[i+1] - if arg == "-service": - service_mode = True +args = parser.parse_args() -if config_dir == "": - config_dir = "." +settings_path = f"{args.config_dir}/settings.json" if __name__ == "__main__": - ui.run(config_dir, service_mode) \ No newline at end of file + ui.run(args.config_dir, args.service)