📄 settings.py
字号:
import exceptions
import xml.dom.minidom
import sys, os, re
#===============================================================================
# Make global object available
#===============================================================================
import config
import common
logFile = sys.modules['__main__'].globalLogFile
uriHandler = sys.modules['__main__'].globalUriHandler
def CleanupXml(xmlDoc):
#cleanup
prettyXml = xmlDoc.toprettyxml()
#remove not needed lines with only whitespaces
prettyXml = re.sub("(?m)^\s+[\n\r]", "", prettyXml, )
prettyXml = re.sub("[\n\r]+\t+([^<\t]+)[\n\r]+\t+", "\g<1>", prettyXml)
return prettyXml
def LoadFavorites(channelName, icon):
"""
Reads the favorites into items.
"""
items = []
try:
xmlDoc = xml.dom.minidom.parse(os.path.join(config.rootDir, "settings.xml"))
for favoritesNode in xmlDoc.getElementsByTagName('favorites'):
for favorite in favoritesNode.getElementsByTagName('item'):
if favorite.getAttribute("chnName") != channelName:
# not the right channel
continue
# read the name and url
name = favorite.getElementsByTagName("name")[0].firstChild.nodeValue
url = favorite.getElementsByTagName("url")[0].firstChild.nodeValue
#logFile.debug("%s %s", name, url)
# create the item
item = common.clistItem(name, url)
item.icon = icon
items.append(item)
return items
except:
logFile.error("Settings :: Error loading favorites", exc_info=True)
return items
def AddToFavorites(item, channelName):
try:
xmlDoc = xml.dom.minidom.parse(os.path.join(config.rootDir, "settings.xml"))
for favoritesNode in xmlDoc.getElementsByTagName('favorites'):
xmlItem = xmlDoc.createElement("item")
name = xmlDoc.createElement("name")
nameText = xmlDoc.createTextNode(item.name)
name.appendChild(nameText)
url = xmlDoc.createElement("url")
urlText = xmlDoc.createTextNode(item.url)
url.appendChild(urlText)
xmlItem.appendChild(name)
xmlItem.appendChild(url)
xmlItem.setAttribute("chnName", channelName)
favoritesNode.appendChild(xmlItem)
xmlFile = file(os.path.join(config.rootDir, "settings.xml"), "w")
xmlFile.write(CleanupXml(xmlDoc))
xmlFile.flush()
xmlFile.close()
except:
logFile.error("Settings :: Error adding favorites", exc_info=True)
try:
xmlFile.close()
except UnboundLocalError:
pass
def RemoveFromFavorites(item, channelName):
try:
xmlDoc = xml.dom.minidom.parse(os.path.join(config.rootDir, "settings.xml"))
for favoritesNode in xmlDoc.getElementsByTagName('favorites'):
for favorite in favoritesNode.getElementsByTagName('item'):
name = favorite.getElementsByTagName("name")[0].firstChild.nodeValue
url = favorite.getElementsByTagName("url")[0].firstChild.nodeValue
if name == item.name and url == item.url:
favoritesNode.removeChild(favorite)
break
xmlFile = file(os.path.join(config.rootDir, "settings.xml"), "w")
xmlFile.write(CleanupXml(xmlDoc))
xmlFile.flush()
xmlFile.close()
except:
logFile.error("Settings :: Error removing from favorites", exc_info=True)
try:
xmlFile.close()
except UnboundLocalError:
pass
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -