diff options
-rw-r--r-- | bazarr.py | 9 | ||||
-rw-r--r-- | bazarr/main.py | 6 | ||||
-rw-r--r-- | views/menu.tpl | 26 |
3 files changed, 34 insertions, 7 deletions
@@ -29,10 +29,13 @@ dir_name = os.path.dirname(__file__) def start_bazarr(): script = [sys.executable, os.path.normcase(os.path.join(globals()['dir_name'], 'bazarr/main.py'))] + globals()['arguments'] - ep = sp.Popen(script, stdout=sp.PIPE, stderr=sp.STDOUT) + ep = sp.Popen(script, stdout=sp.PIPE, stderr=sp.STDOUT, stdin=sp.PIPE) logging.info("Bazarr starting...") - for line in iter(ep.stdout.readline, ''): - sys.stdout.write(line) + try: + for line in iter(ep.stdout.readline, ''): + sys.stdout.write(line) + except KeyboardInterrupt: + pass if __name__ == '__main__': diff --git a/bazarr/main.py b/bazarr/main.py index aba9d0b97..4804312ec 100644 --- a/bazarr/main.py +++ b/bazarr/main.py @@ -1693,4 +1693,8 @@ warnings.simplefilter("ignore", DeprecationWarning) server = CherryPyWSGIServer((str(ip), int(port)), app) logging.info('Bazarr is started and waiting for request on http://' + str(ip) + ':' + str(port) + str(base_url)) -server.start()
\ No newline at end of file +try: + print('Bazarr is started and waiting for request on http://' + str(ip) + ':' + str(port) + str(base_url)) + server.start() +except KeyboardInterrupt: + shutdown() diff --git a/views/menu.tpl b/views/menu.tpl index 9c98a29e8..af62aa4a1 100644 --- a/views/menu.tpl +++ b/views/menu.tpl @@ -117,11 +117,11 @@ % c.close() % if restart_required[1] == '1' and restart_required[0] == '1': - <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply last update and changes to general settings.</div></div></div> + <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply last update and changes to general settings. Click <a href=# id="restart_link">here</a> to restart.</div></div></div> % elif restart_required[1] == '1': - <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply last update.</div></div></div> + <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply last update. Click <a href=# id="restart_link">here</a> to restart.</div></div></div> % elif restart_required[0] == '1': - <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply changes to general settings.</div></div></div> + <div class='ui center aligned grid'><div class='fifteen wide column'><div class="ui red message">Bazarr need to be restarted to apply changes to general settings. Click <a href=# id="restart_link">here</a> to restart.</div></div></div> % end </div> </body> @@ -167,4 +167,24 @@ $('.menu').css('background', '#272727'); $('#divmenu').css('background', '#272727'); } + + $('#restart_link').click(function(){ + $('#loader_text').text("Bazarr is restarting, please wait..."); + $.ajax({ + url: "{{base_url}}restart", + async: true + }) + .done(function(){ + setTimeout(function(){ setInterval(ping, 2000); },8000); + }); + }) + + function ping() { + $.ajax({ + url: '{{base_url}}', + success: function(result) { + window.location.reload(); + } + }); + } </script>
\ No newline at end of file |