From 3f314f3863df27830fbb904b3a2c2efcd6b49d7e Mon Sep 17 00:00:00 2001 From: deathbybadaid Date: Tue, 5 Jan 2021 11:28:40 -0500 Subject: [PATCH] Strip Multiprocessing and Re-add Windows Support --- README.md | 3 --- data/internal_config/main.json | 5 ----- fHDHR/cli/run.py | 30 ++++++------------------------ fHDHR/config/__init__.py | 3 --- fHDHR/device/tuners/tuner.py | 9 ++------- main.py | 2 -- 6 files changed, 8 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index b9021d6..2e7db82 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,3 @@ Please Check the [Docs](docs/README.md) for Installation information. fHDHR is labeled as beta until we reach v1.0.0 Join us in `#fHDHR `_ on Freenode. - - -Due to multiple issues, I'm dropping official support for Windows. diff --git a/data/internal_config/main.json b/data/internal_config/main.json index ab8e4c7..b258d50 100644 --- a/data/internal_config/main.json +++ b/data/internal_config/main.json @@ -10,11 +10,6 @@ "config_file": true, "config_web": true }, - "thread_method":{ - "value": "multiprocessing", - "config_file": true, - "config_web": true - }, "servicename":{ "value": "fHDHR", "config_file": false, diff --git a/fHDHR/cli/run.py b/fHDHR/cli/run.py index 96fcba4..b96fa28 100644 --- a/fHDHR/cli/run.py +++ b/fHDHR/cli/run.py @@ -2,9 +2,7 @@ import os import sys import argparse import time -import multiprocessing import threading -import platform from fHDHR import fHDHR_VERSION, fHDHR_OBJ import fHDHR.exceptions @@ -19,10 +17,6 @@ if sys.version_info.major == 2 or sys.version_info < (3, 7): print('Error: fHDHR requires python 3.7+.') sys.exit(1) -opersystem = platform.system() -if opersystem in ["Windows"]: - print("WARNING: This script may fail on Windows. Try Setting the `thread_method` to `threading`") - def build_args_parser(): """Build argument parser for fHDHR""" @@ -45,30 +39,18 @@ def run(settings, logger, db, script_dir, fHDHR_web, origin, alternative_epg): try: fhdhr.logger.info("HTTP Server Starting") - if settings.dict["main"]["thread_method"] in ["multiprocessing"]: - fhdhr_web = multiprocessing.Process(target=fhdhrweb.run) - elif settings.dict["main"]["thread_method"] in ["threading"]: - fhdhr_web = threading.Thread(target=fhdhrweb.run) - if settings.dict["main"]["thread_method"] in ["multiprocessing", "threading"]: - fhdhr_web.start() + fhdhr_web = threading.Thread(target=fhdhrweb.run) + fhdhr_web.start() if settings.dict["fhdhr"]["discovery_address"]: fhdhr.logger.info("SSDP Server Starting") - if settings.dict["main"]["thread_method"] in ["multiprocessing"]: - fhdhr_ssdp = multiprocessing.Process(target=fhdhr.device.ssdp.run) - elif settings.dict["main"]["thread_method"] in ["threading"]: - fhdhr_ssdp = threading.Thread(target=fhdhr.device.ssdp.run) - if settings.dict["main"]["thread_method"] in ["multiprocessing", "threading"]: - fhdhr_ssdp.start() + fhdhr_ssdp = threading.Thread(target=fhdhr.device.ssdp.run) + fhdhr_ssdp.start() if settings.dict["epg"]["method"]: fhdhr.logger.info("EPG Update Thread Starting") - if settings.dict["main"]["thread_method"] in ["multiprocessing"]: - fhdhr_epg = multiprocessing.Process(target=fhdhr.device.epg.run) - elif settings.dict["main"]["thread_method"] in ["threading"]: - fhdhr_epg = threading.Thread(target=fhdhr.device.epg.run) - if settings.dict["main"]["thread_method"] in ["multiprocessing", "threading"]: - fhdhr_epg.start() + fhdhr_epg = threading.Thread(target=fhdhr.device.epg.run) + fhdhr_epg.start() # Perform some actions now that HTTP Server is running fhdhr.logger.info("Waiting 3 seconds to send startup tasks trigger.") diff --git a/fHDHR/config/__init__.py b/fHDHR/config/__init__.py index d2e8215..cdd04e0 100644 --- a/fHDHR/config/__init__.py +++ b/fHDHR/config/__init__.py @@ -259,9 +259,6 @@ class Config(): def config_verification(self): - if self.dict["main"]["thread_method"] not in ["threading", "multiprocessing"]: - raise fHDHR.exceptions.ConfigurationError("Invalid Threading Method. Exiting...") - if self.dict["main"]["required"]: required_missing = [] if isinstance(self.dict["main"]["required"], str): diff --git a/fHDHR/device/tuners/tuner.py b/fHDHR/device/tuners/tuner.py index 87dc9da..cf356fa 100644 --- a/fHDHR/device/tuners/tuner.py +++ b/fHDHR/device/tuners/tuner.py @@ -1,4 +1,3 @@ -import multiprocessing import threading import datetime @@ -35,12 +34,8 @@ class Tuner(): self.status["status"] = "Scanning" self.fhdhr.logger.info("Tuner #%s Performing Channel Scan." % str(self.number)) - if self.fhdhr.config.dict["main"]["thread_method"] in ["multiprocessing"]: - chanscan = multiprocessing.Process(target=self.runscan) - elif self.fhdhr.config.dict["main"]["thread_method"] in ["threading"]: - chanscan = threading.Thread(target=self.runscan) - if self.fhdhr.config.dict["main"]["thread_method"] in ["multiprocessing", "threading"]: - chanscan.start() + chanscan = threading.Thread(target=self.runscan) + chanscan.start() def runscan(self): self.fhdhr.api.client.get(self.chanscan_url) diff --git a/main.py b/main.py index ab7773e..75c4964 100644 --- a/main.py +++ b/main.py @@ -6,7 +6,6 @@ monkey.patch_all() import os import sys import pathlib -from multiprocessing import freeze_support from fHDHR.cli import run import fHDHR_web @@ -16,5 +15,4 @@ import origin SCRIPT_DIR = pathlib.Path(os.path.dirname(os.path.abspath(__file__))) if __name__ == '__main__': - freeze_support() sys.exit(run.main(SCRIPT_DIR, fHDHR_web, origin, alternative_epg))