mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 13:36:59 -05:00
Improve Channel Update from Web Interface
This commit is contained in:
parent
8186e687b2
commit
f45fdf7719
@ -1,4 +1,5 @@
|
|||||||
from multiprocessing import Process
|
import multiprocessing
|
||||||
|
import threading
|
||||||
|
|
||||||
|
|
||||||
class Station_Scan():
|
class Station_Scan():
|
||||||
@ -10,16 +11,24 @@ class Station_Scan():
|
|||||||
|
|
||||||
self.fhdhr.db.delete_fhdhr_value("station_scan", "scanning")
|
self.fhdhr.db.delete_fhdhr_value("station_scan", "scanning")
|
||||||
|
|
||||||
def scan(self):
|
def scan(self, waitfordone=False):
|
||||||
self.fhdhr.logger.info("Channel Scan Requested by Client.")
|
self.fhdhr.logger.info("Channel Scan Requested by Client.")
|
||||||
|
|
||||||
scan_status = self.fhdhr.db.get_fhdhr_value("station_scan", "scanning")
|
scan_status = self.fhdhr.db.get_fhdhr_value("station_scan", "scanning")
|
||||||
if not scan_status:
|
if scan_status:
|
||||||
self.fhdhr.db.set_fhdhr_value("station_scan", "scanning", 1)
|
|
||||||
chanscan = Process(target=self.runscan)
|
|
||||||
chanscan.start()
|
|
||||||
else:
|
|
||||||
self.fhdhr.logger.info("Channel Scan Already In Progress!")
|
self.fhdhr.logger.info("Channel Scan Already In Progress!")
|
||||||
|
else:
|
||||||
|
self.fhdhr.db.set_fhdhr_value("station_scan", "scanning", 1)
|
||||||
|
|
||||||
|
if waitfordone:
|
||||||
|
self.runscan()
|
||||||
|
else:
|
||||||
|
if self.fhdhr.config.dict["main"]["thread_method"] in ["multiprocessing"]:
|
||||||
|
chanscan = multiprocessing.Process(target=self.runscan)
|
||||||
|
elif self.fhdhr.config.dict["main"]["thread_method"] in ["threading"]:
|
||||||
|
chanscan = threading.Thread(target=self.runscan)
|
||||||
|
if self.fhdhr.config.dict["main"]["thread_method"] in ["multiprocessing", "threading"]:
|
||||||
|
chanscan.start()
|
||||||
|
|
||||||
def runscan(self):
|
def runscan(self):
|
||||||
self.channels.get_channels(forceupdate=True)
|
self.channels.get_channels(forceupdate=True)
|
||||||
|
|||||||
@ -94,7 +94,7 @@ class Channels():
|
|||||||
self.fhdhr.device.channels.set_channel_status("id", channel_id, updatedict)
|
self.fhdhr.device.channels.set_channel_status("id", channel_id, updatedict)
|
||||||
|
|
||||||
elif method == "scan":
|
elif method == "scan":
|
||||||
self.fhdhr.device.station_scan.scan()
|
self.fhdhr.device.station_scan.scan(waitfordone=True)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return "Invalid Method"
|
return "Invalid Method"
|
||||||
|
|||||||
@ -17,7 +17,7 @@ class Lineup_Post():
|
|||||||
if 'scan' in list(request.args.keys()):
|
if 'scan' in list(request.args.keys()):
|
||||||
|
|
||||||
if request.args['scan'] == 'start':
|
if request.args['scan'] == 'start':
|
||||||
self.fhdhr.device.station_scan.scan()
|
self.fhdhr.device.station_scan.scan(waitfordone=False)
|
||||||
return Response(status=200, mimetype='text/html')
|
return Response(status=200, mimetype='text/html')
|
||||||
|
|
||||||
elif request.args['scan'] == 'abort':
|
elif request.args['scan'] == 'abort':
|
||||||
|
|||||||
@ -13,11 +13,18 @@ class Channels_HTML():
|
|||||||
|
|
||||||
def get(self, *args):
|
def get(self, *args):
|
||||||
|
|
||||||
|
channels_dict = {
|
||||||
|
"Total Channels": len(list(self.fhdhr.device.channels.list.keys())),
|
||||||
|
"enabled": 0,
|
||||||
|
}
|
||||||
|
|
||||||
channelslist = []
|
channelslist = []
|
||||||
for fhdhr_id in list(self.fhdhr.device.channels.list.keys()):
|
for fhdhr_id in list(self.fhdhr.device.channels.list.keys()):
|
||||||
channel_obj = self.fhdhr.device.channels.list[fhdhr_id]
|
channel_obj = self.fhdhr.device.channels.list[fhdhr_id]
|
||||||
channel_dict = channel_obj.dict.copy()
|
channel_dict = channel_obj.dict.copy()
|
||||||
channel_dict["play_url"] = channel_obj.play_url()
|
channel_dict["play_url"] = channel_obj.play_url()
|
||||||
channelslist.append(channel_dict)
|
channelslist.append(channel_dict)
|
||||||
|
if channel_dict["enabled"]:
|
||||||
|
channels_dict["enabled"] += 1
|
||||||
|
|
||||||
return render_template('channels.html', request=request, fhdhr=self.fhdhr, channelslist=channelslist)
|
return render_template('channels.html', request=request, fhdhr=self.fhdhr, channelslist=channelslist, channels_dict=channels_dict)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user