mirror of https://github.com/morpheus65535/bazarr
53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
# coding=utf-8
|
|
|
|
from flask import request, jsonify
|
|
from flask_restful import Resource
|
|
from operator import itemgetter
|
|
|
|
from database import TableHistory, TableHistoryMovie
|
|
from get_providers import list_throttled_providers, reset_throttled_providers
|
|
from ..utils import authenticate, False_Keys
|
|
|
|
|
|
class Providers(Resource):
|
|
@authenticate
|
|
def get(self):
|
|
history = request.args.get('history')
|
|
if history and history not in False_Keys:
|
|
providers = list(TableHistory.select(TableHistory.provider)
|
|
.where(TableHistory.provider != None and TableHistory.provider != "manual")
|
|
.dicts())
|
|
providers += list(TableHistoryMovie.select(TableHistoryMovie.provider)
|
|
.where(TableHistoryMovie.provider != None and TableHistoryMovie.provider != "manual")
|
|
.dicts())
|
|
providers_list = list(set([x['provider'] for x in providers]))
|
|
providers_dicts = []
|
|
for provider in providers_list:
|
|
providers_dicts.append({
|
|
'name': provider,
|
|
'status': 'History',
|
|
'retry': '-'
|
|
})
|
|
return jsonify(data=sorted(providers_dicts, key=itemgetter('name')))
|
|
|
|
throttled_providers = list_throttled_providers()
|
|
|
|
providers = list()
|
|
for provider in throttled_providers:
|
|
providers.append({
|
|
"name": provider[0],
|
|
"status": provider[1] if provider[1] is not None else "Good",
|
|
"retry": provider[2] if provider[2] != "now" else "-"
|
|
})
|
|
return jsonify(data=providers)
|
|
|
|
@authenticate
|
|
def post(self):
|
|
action = request.form.get('action')
|
|
|
|
if action == 'reset':
|
|
reset_throttled_providers()
|
|
return '', 204
|
|
|
|
return '', 400
|