1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# -*- coding: utf-8 -*-
# CurlyTx configuration
# Copyright (C) 2011 Christian Weiske <cweiske@cweiske.de>
# License: GPLv3 or later
from Components.config import config, ConfigEnableDisable, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList, ConfigInteger
def createPage():
""" Create and return a configuration page object """
s = ConfigSubsection()
s.uri = ConfigText(default="http://", fixed_size=False)
s.title = ConfigText(
default = "Page #" + str(len(config.plugins.CurlyTx.pages) + 1),
fixed_size = False
)
s.fontSize = ConfigInteger(20, (1, 100))
return s
def loadDefaultPageOptions():
defaults = []
for i in range(0, len(config.plugins.CurlyTx.pages)):
defaults.append((str(i), config.plugins.CurlyTx.pages[i].title.value))
if hasattr(config.plugins.CurlyTx, "defaultPage"):
config.plugins.CurlyTx.defaultPage.setChoices(defaults, "0")
else:
config.plugins.CurlyTx.defaultPage = ConfigSelection(defaults, "0")
def feedPagesToConfig(pages):
""" save pages from atom feed into config. """
if len(pages) == 0:
return
del config.plugins.CurlyTx.pages[:]
for pageData in pages:
page = createPage()
config.plugins.CurlyTx.pages.append(page)
page.title.setValue(pageData["title"])
page.uri.setValue(pageData["url"])
def feedSettingsToConfig(settings):
changed = False
if 'enableSettings' in settings and config.plugins.CurlyTx.enableSettings.getValue() != settings['enableSettings']:
config.plugins.CurlyTx.enableSettings.setValue(int(settings['enableSettings']))
changed = True
if changed:
config.plugins.CurlyTx.save()
def savePageConfig():
for i in range(0, len(config.plugins.CurlyTx.pages)):
config.plugins.CurlyTx.pages[i].save()
config.plugins.CurlyTx.pages.save()
#configuration setup
config.plugins.CurlyTx = ConfigSubsection()
config.plugins.CurlyTx.menuMain = ConfigYesNo(default = True)
config.plugins.CurlyTx.menuExtensions = ConfigYesNo(default = False)
config.plugins.CurlyTx.enableSettings = ConfigEnableDisable(default = True)
config.plugins.CurlyTx.menuTitle = ConfigText(default = "CurlyTx", fixed_size = False)
config.plugins.CurlyTx.feedUrl = ConfigText(default = "", fixed_size = False)
config.plugins.CurlyTx.pages = ConfigSubList()
for id,value in config.plugins.CurlyTx.pages.stored_values.iteritems():
config.plugins.CurlyTx.pages.append(createPage())
loadDefaultPageOptions()
|