mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 14:56:57 -05:00
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from flask import Response
|
|
import json
|
|
|
|
|
|
class Lineup_Status_JSON():
|
|
endpoints = ["/lineup_status.json", "/hdhr/lineup_status.json"]
|
|
endpoint_name = "hdhr_lineup_status_json"
|
|
|
|
def __init__(self, fhdhr):
|
|
self.fhdhr = fhdhr
|
|
|
|
def __call__(self, *args):
|
|
return self.get(*args)
|
|
|
|
def get(self, *args):
|
|
|
|
tuner_status = self.fhdhr.device.tuners.status()
|
|
tuners_scanning = 0
|
|
for tuner_number in list(tuner_status.keys()):
|
|
if tuner_status[tuner_number]["status"] == "Scanning":
|
|
tuners_scanning += 1
|
|
|
|
if tuners_scanning:
|
|
jsonlineup = self.scan_in_progress()
|
|
elif not len(self.fhdhr.device.channels.list):
|
|
jsonlineup = self.scan_in_progress()
|
|
else:
|
|
jsonlineup = self.not_scanning()
|
|
lineup_json = json.dumps(jsonlineup, indent=4)
|
|
|
|
return Response(status=200,
|
|
response=lineup_json,
|
|
mimetype='application/json')
|
|
|
|
def scan_in_progress(self):
|
|
jsonlineup = {
|
|
"ScanInProgress": "true",
|
|
"Progress": 99,
|
|
"Found": len(self.fhdhr.device.channels.list)
|
|
}
|
|
return jsonlineup
|
|
|
|
def not_scanning(self):
|
|
jsonlineup = {
|
|
"ScanInProgress": "false",
|
|
"ScanPossible": "true",
|
|
"Source": self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"],
|
|
"SourceList": [self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"]],
|
|
}
|
|
return jsonlineup
|