mirror of
https://github.com/morpheus65535/bazarr
synced 2024-12-24 08:43:01 +00:00
WIP
This commit is contained in:
parent
710db7e94f
commit
630f7e8394
5 changed files with 218 additions and 29 deletions
|
@ -6,7 +6,10 @@ import datetime
|
|||
import pretty
|
||||
import time
|
||||
from operator import itemgetter
|
||||
import platform
|
||||
import io
|
||||
|
||||
from get_args import args
|
||||
from config import settings, base_url
|
||||
|
||||
from init import *
|
||||
|
@ -21,7 +24,7 @@ from get_subtitle import download_subtitle, series_download_subtitles, movies_do
|
|||
from notifier import send_notifications, send_notifications_movie
|
||||
from list_subtitles import store_subtitles, store_subtitles_movie, series_scan_subtitles, movies_scan_subtitles, \
|
||||
list_missing_subtitles, list_missing_subtitles_movies
|
||||
from utils import history_log, history_log_movie
|
||||
from utils import history_log, history_log_movie, get_sonarr_version, get_radarr_version
|
||||
from get_providers import get_providers, get_providers_auth, list_throttled_providers
|
||||
from websocket_handler import event_stream
|
||||
|
||||
|
@ -57,6 +60,37 @@ class Languages(Resource):
|
|||
return jsonify(result)
|
||||
|
||||
|
||||
class SystemStatus(Resource):
|
||||
def get(self):
|
||||
system_status = {}
|
||||
system_status.update({'bazarr_version': os.environ["BAZARR_VERSION"]})
|
||||
system_status.update({'sonarr_version': get_sonarr_version()})
|
||||
system_status.update({'radarr_version': get_radarr_version()})
|
||||
system_status.update({'operating_system': platform.platform()})
|
||||
system_status.update({'python_version': platform.python_version()})
|
||||
system_status.update({'bazarr_directory': os.path.dirname(os.path.dirname(__file__))})
|
||||
system_status.update({'bazarr_config_directory': args.config_dir})
|
||||
return jsonify(data=system_status)
|
||||
|
||||
|
||||
class SystemReleases(Resource):
|
||||
def get(self):
|
||||
releases = []
|
||||
try:
|
||||
with io.open(os.path.join(args.config_dir, 'config', 'releases.txt'), 'r', encoding='UTF-8') as f:
|
||||
releases = ast.literal_eval(f.read())
|
||||
for release in releases:
|
||||
release[1] = release[1].replace('- ', '')
|
||||
release[1] = release[1].split('\r\n')
|
||||
release[1].pop(0)
|
||||
release.append(True if release[0].lstrip('v') == os.environ["BAZARR_VERSION"] else False)
|
||||
|
||||
except Exception as e:
|
||||
logging.exception(
|
||||
'BAZARR cannot parse releases caching file: ' + os.path.join(args.config_dir, 'config', 'releases.txt'))
|
||||
return jsonify(data=releases)
|
||||
|
||||
|
||||
class Series(Resource):
|
||||
def get(self):
|
||||
start = request.args.get('start') or 0
|
||||
|
@ -1044,6 +1078,9 @@ class SearchWantedMovies(Resource):
|
|||
api.add_resource(Badges, '/badges')
|
||||
api.add_resource(Languages, '/languages')
|
||||
|
||||
api.add_resource(SystemStatus, '/systemstatus')
|
||||
api.add_resource(SystemReleases, '/systemreleases')
|
||||
|
||||
api.add_resource(Series, '/series')
|
||||
api.add_resource(SeriesEditSave, '/series_edit_save')
|
||||
api.add_resource(Episodes, '/episodes')
|
||||
|
|
|
@ -1016,35 +1016,16 @@ def check_update():
|
|||
redirect(ref)
|
||||
|
||||
|
||||
@app.route('/system')
|
||||
@app.route('/systemstatus')
|
||||
@login_required
|
||||
def system():
|
||||
def systemstatus():
|
||||
return render_template('systemstatus.html')
|
||||
|
||||
|
||||
task_list = scheduler.get_task_list()
|
||||
|
||||
throttled_providers = list_throttled_providers()
|
||||
|
||||
try:
|
||||
with io.open(os.path.join(args.config_dir, 'config', 'releases.txt'), 'r', encoding='UTF-8') as f:
|
||||
releases = ast.literal_eval(f.read())
|
||||
except Exception as e:
|
||||
releases = []
|
||||
logging.exception(
|
||||
'BAZARR cannot parse releases caching file: ' + os.path.join(args.config_dir, 'config', 'releases.txt'))
|
||||
|
||||
sonarr_version = get_sonarr_version()
|
||||
|
||||
radarr_version = get_radarr_version()
|
||||
|
||||
page_size = int(settings.general.page_size)
|
||||
|
||||
return render_template('system.html', bazarr_version=bazarr_version,
|
||||
sonarr_version=sonarr_version, radarr_version=radarr_version,
|
||||
operating_system=platform.platform(), python_version=platform.python_version(),
|
||||
config_dir=args.config_dir, bazarr_dir=os.path.normcase(os.path.dirname(os.path.dirname(__file__))),
|
||||
base_url=base_url, task_list=task_list, page_size=page_size, releases=releases,
|
||||
current_port=settings.general.port, throttled_providers=throttled_providers)
|
||||
@app.route('/systemreleases')
|
||||
@login_required
|
||||
def systemreleases():
|
||||
return render_template('systemreleases.html')
|
||||
|
||||
|
||||
@app.route('/logs')
|
||||
|
|
|
@ -191,8 +191,8 @@
|
|||
<li><a href="/"> Tasks</a></li>
|
||||
<li><a href="/"> Logs</a></li>
|
||||
<li><a href="/"> Providers</a></li>
|
||||
<li><a href="/"> Status</a></li>
|
||||
<li><a href="/"> Releases</a></li>
|
||||
<li><a href="{{ url_for('systemstatus') }}"> Status</a></li>
|
||||
<li><a href="{{ url_for('systemreleases') }}"> Releases</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
42
views/systemreleases.html
Normal file
42
views/systemreleases.html
Normal file
|
@ -0,0 +1,42 @@
|
|||
{% extends '_main.html' %}
|
||||
|
||||
{% block title %}Releases - Bazarr{% endblock %}
|
||||
|
||||
{% block bcleft %}
|
||||
|
||||
{% endblock bcleft %}
|
||||
|
||||
{% block bcright %}
|
||||
|
||||
{% endblock bcright %}
|
||||
|
||||
{% block body %}
|
||||
<div class="container-fluid">
|
||||
<span id="releases"></span>
|
||||
</div>
|
||||
{% endblock body %}
|
||||
|
||||
{% block tail %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$.ajax({
|
||||
url: "{{ url_for('api.systemreleases') }}"
|
||||
}).done(function (data) {
|
||||
var releases = '';
|
||||
data.data.forEach(appendFunc);
|
||||
|
||||
function appendFunc(value) {
|
||||
entries = '';
|
||||
value[1].forEach(appendEntry);
|
||||
releases = releases + '<h4>'+value[0]+((value[2]) ? ' <span class="badge badge-success">Current Version</span>' : '')+'</h4><hr/><p><b>From newest to oldest:</b></p><ul>'+entries+'</ul>';
|
||||
|
||||
function appendEntry(entry) {
|
||||
entries = entries + '<li>'+entry+'</li>';
|
||||
}
|
||||
}
|
||||
|
||||
$('#releases').html(releases);
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock tail %}
|
129
views/systemstatus.html
Normal file
129
views/systemstatus.html
Normal file
|
@ -0,0 +1,129 @@
|
|||
{% extends '_main.html' %}
|
||||
|
||||
{% block title %}Status - Bazarr{% endblock %}
|
||||
|
||||
{% block bcleft %}
|
||||
|
||||
{% endblock bcleft %}
|
||||
|
||||
{% block bcright %}
|
||||
|
||||
{% endblock bcright %}
|
||||
|
||||
{% block body %}
|
||||
<div class="container-fluid">
|
||||
<h2>About</h2><hr/>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Bazarr Version:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="bazarr_version_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Sonarr Version:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="sonarr_version_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Radarr Version:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="radarr_version_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Operating System:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="operating_system_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Python Version:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="python_version_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Bazarr Directory:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="bazarr_directory_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Bazarr Config Directory:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<span id="bazarr_config_directory_span"></span>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<h2>More info</h2><hr/>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Home Page:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<i class="fas fa-paper-plane"></i>
|
||||
<a href="https://www.bazarr.media" target="_blank">Bazarr Website</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Source:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<i class="fab fa-github"></i>
|
||||
<a href="https://github.com/morpheus65535/bazarr" target="_blank">Bazarr on GitHub</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Wiki:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<i class="fab fa-wikipedia-w"></i>
|
||||
<a href="https://github.com/morpheus65535/bazarr/wiki" target="_blank">Bazarr Wiki</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-2 text-right">
|
||||
<b>Discord:</b>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<i class="fab fa-discord"></i>
|
||||
<a href="https://discord.gg/MH2e2eb" target="_blank">Bazarr on Discord</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock body %}
|
||||
|
||||
{% block tail %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$.ajax({
|
||||
url: "{{ url_for('api.systemstatus') }}"
|
||||
}).done(function (data) {
|
||||
$('#bazarr_version_span').text(data.data['bazarr_version']);
|
||||
$('#sonarr_version_span').text(data.data['sonarr_version']);
|
||||
$('#radarr_version_span').text(data.data['radarr_version']);
|
||||
$('#operating_system_span').text(data.data['operating_system']);
|
||||
$('#python_version_span').text(data.data['python_version']);
|
||||
$('#bazarr_directory_span').text(data.data['bazarr_directory']);
|
||||
$('#bazarr_config_directory_span').text(data.data['bazarr_config_directory']);
|
||||
});
|
||||
})
|
||||
</script>
|
||||
{% endblock tail %}
|
Loading…
Reference in a new issue