1
0
Fork 0
mirror of https://github.com/morpheus65535/bazarr synced 2025-03-03 18:15:50 +00:00
This commit is contained in:
Louis Vézina 2020-05-15 14:40:56 -04:00
parent 823b4ee9b4
commit 5177214450
3 changed files with 33 additions and 39 deletions

View file

@ -64,15 +64,15 @@ def authenticate(actual_method):
class Shutdown(Resource): class Shutdown(Resource):
@authenticate @authenticate
def get(self): def get(self):
from main import webserver from main import Server
webserver.shutdown() Server.shutdown()
class Restart(Resource): class Restart(Resource):
@authenticate @authenticate
def get(self): def get(self):
from main import webserver from main import Server
webserver.restart() Server.restart()
class Badges(Resource): class Badges(Resource):

View file

@ -283,12 +283,7 @@ def request_json(url, **kwargs):
def updated(restart=True): def updated(restart=True):
if settings.general.getboolean('update_restart') and restart: if settings.general.getboolean('update_restart') and restart:
try: from main import Server
requests.get('http://127.0.0.1:' + settings.general.port + settings.general.base_url + 'restart') Server.restart()
except requests.ConnectionError:
pass
except (requests.ConnectTimeout, requests.HTTPError, requests.ReadTimeout, requests.Timeout):
logging.info('BAZARR Restart failed, please restart Bazarr manually')
updated(restart=False)
else: else:
database.execute("UPDATE system SET updated='1'") database.execute("UPDATE system SET updated='1'")

View file

@ -464,8 +464,7 @@ def test_notification(protocol, provider):
return '', 200 return '', 200
class Server(): class Server:
def __init__(self):
# Mute DeprecationWarning # Mute DeprecationWarning
warnings.simplefilter("ignore", DeprecationWarning) warnings.simplefilter("ignore", DeprecationWarning)
# Mute Insecure HTTPS requests made to Sonarr and Radarr # Mute Insecure HTTPS requests made to Sonarr and Radarr
@ -474,28 +473,30 @@ class Server():
warnings.simplefilter("ignore", BrokenPipeError) warnings.simplefilter("ignore", BrokenPipeError)
if args.dev: if args.dev:
self.server = app.run( server = app.run(
host=str(settings.general.ip), host=str(settings.general.ip),
port=(int(args.port) if args.port else int(settings.general.port))) port=(int(args.port) if args.port else int(settings.general.port)))
else: else:
self.server = create_server(app, server = create_server(app,
host=str(settings.general.ip), host=str(settings.general.ip),
port=int(args.port) if args.port else int(settings.general.port), port=int(args.port) if args.port else int(settings.general.port),
threads=24) threads=24)
def start(self): @classmethod
def start(cls):
try: try:
logging.info( logging.info(
'BAZARR is started and waiting for request on http://' + str(settings.general.ip) + ':' + (str( 'BAZARR is started and waiting for request on http://' + str(settings.general.ip) + ':' + (str(
args.port) if args.port else str(settings.general.port)) + str(base_url)) args.port) if args.port else str(settings.general.port)) + str(base_url))
if not args.dev: if not args.dev:
self.server.run() cls.server.run()
except KeyboardInterrupt: except KeyboardInterrupt:
self.shutdown() cls.shutdown()
def shutdown(self): @classmethod
def shutdown(cls):
try: try:
self.server.close() cls.server.close()
except: except:
logging.error('BAZARR Cannot stop Waitress.') logging.error('BAZARR Cannot stop Waitress.')
else: else:
@ -510,9 +511,10 @@ class Server():
stop_file.close() stop_file.close()
os._exit(0) os._exit(0)
def restart(self): @classmethod
def restart(cls):
try: try:
self.server.close() cls.server.close()
except: except:
logging.error('BAZARR Cannot stop Waitress.') logging.error('BAZARR Cannot stop Waitress.')
else: else:
@ -528,8 +530,5 @@ class Server():
os._exit(0) os._exit(0)
webserver = Server()
if __name__ == "__main__": if __name__ == "__main__":
webserver.start() Server.start()