mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 12:16:58 -05:00
104 lines
3.4 KiB
Python
104 lines
3.4 KiB
Python
from browser import document, bind # alert, window
|
|
import json
|
|
|
|
|
|
def chan_edit_data(items, channel_id):
|
|
|
|
chanlist = []
|
|
chandict = {}
|
|
|
|
for element in items:
|
|
if element.name == "id":
|
|
if len(chandict.keys()) >= 2 and "id" in list(chandict.keys()):
|
|
chanlist.append(chandict)
|
|
chandict = {"id": element.value}
|
|
if element.type == "checkbox":
|
|
if element.name in ["enabled"]:
|
|
save_val = element.checked
|
|
else:
|
|
save_val = int(element.checked)
|
|
else:
|
|
save_val = element.value
|
|
if element.name != "id":
|
|
cur_value = element.placeholder
|
|
if element.type == "checkbox":
|
|
if element.name in ["enabled"]:
|
|
cur_value = element.placeholder
|
|
else:
|
|
cur_value = int(element.placeholder)
|
|
if str(save_val) != str(cur_value):
|
|
chandict[element.name] = save_val
|
|
|
|
if channel_id != "all":
|
|
chanlist == [x for x in chanlist if x["id"] == channel_id]
|
|
|
|
return chanlist
|
|
|
|
|
|
def chan_edit_postform(chanlist):
|
|
postForm = document.createElement('form')
|
|
postForm.method = "POST"
|
|
postForm.action = "/api/channels?method=modify&redirect=/channels_editor"
|
|
postForm.setRequestHeader = "('Content-Type', 'application/json')"
|
|
|
|
postData = document.createElement('input')
|
|
postData.type = 'hidden'
|
|
postData.name = "channels"
|
|
postData.value = json.dumps(chanlist)
|
|
|
|
postForm.appendChild(postData)
|
|
document.body.appendChild(postForm)
|
|
return postForm
|
|
|
|
|
|
@bind("#Chan_Edit_Reset", "submit")
|
|
def chan_edit_reset(evt):
|
|
chanlist = chan_edit_data(
|
|
document.select(".reset"),
|
|
str(evt.currentTarget.children[0].id).replace("reset_", ""))
|
|
postForm = chan_edit_postform(chanlist)
|
|
postForm.submit()
|
|
evt.preventDefault()
|
|
|
|
|
|
@bind("#Chan_Edit_Modify", "submit")
|
|
def chan_edit_modify(evt):
|
|
chanlist = chan_edit_data(
|
|
document.select(".channels"),
|
|
str(evt.currentTarget.children[0].id).replace("update_", ""))
|
|
postForm = chan_edit_postform(chanlist)
|
|
postForm.submit()
|
|
evt.preventDefault()
|
|
|
|
|
|
@bind("#Chan_Edit_Enable_Toggle", "click")
|
|
def chan_edit_enable(event):
|
|
enable_bool = bool(int(document["enable_button"].value))
|
|
for element in document.get(selector='input[type="checkbox"]'):
|
|
if element.name == "enabled":
|
|
element.checked = enable_bool
|
|
element.value = enable_bool
|
|
|
|
if not enable_bool:
|
|
document["enable_button"].value = "1"
|
|
document["enable_button"].text = "Enable All"
|
|
else:
|
|
document["enable_button"].value = "0"
|
|
document["enable_button"].text = "Disable All"
|
|
|
|
|
|
@bind("#Chan_Edit_Favorite_Toggle", "click")
|
|
def chan_edit_favorite(event):
|
|
enable_bool = bool(int(document["favorite_button"].value))
|
|
for element in document.get(selector='input[type="checkbox"]'):
|
|
if element.name == "favorite":
|
|
element.checked = enable_bool
|
|
element.value = int(enable_bool)
|
|
|
|
if not enable_bool:
|
|
document["favorite_button"].value = "1"
|
|
document["favorite_button"].text = "Favorite All"
|
|
else:
|
|
document["favorite_button"].value = "0"
|
|
document["favorite_button"].text = "Unfavorite All"
|