summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--bazarr.py9
-rw-r--r--bazarr/main.py6
-rw-r--r--views/menu.tpl26
3 files changed, 34 insertions, 7 deletions
diff --git a/bazarr.py b/bazarr.py
index d9cc8f0d4..44dbd0828 100644
--- a/bazarr.py
+++ b/bazarr.py
@@ -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