1 # -*- coding: utf-8 -*-
2 # CurlyTx configuration
4 # License: GPLv3 or later
6 from Components.config import config, ConfigEnableDisable, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList, ConfigInteger
9 """ Create and return a configuration page object """
10 s = ConfigSubsection()
11 s.uri = ConfigText(default="http://", fixed_size=False)
13 default = "Page #" + str(len(config.plugins.CurlyTx.pages) + 1),
16 s.fontSize = ConfigInteger(20, (1, 100))
19 def loadDefaultPageOptions():
21 for i in range(0, len(config.plugins.CurlyTx.pages)):
22 defaults.append((str(i), config.plugins.CurlyTx.pages[i].title.value))
23 if hasattr(config.plugins.CurlyTx, "defaultPage"):
24 config.plugins.CurlyTx.defaultPage.setChoices(defaults, "0")
26 config.plugins.CurlyTx.defaultPage = ConfigSelection(defaults, "0")
28 def feedPagesToConfig(pages):
29 """ save pages from atom feed into config. """
33 del config.plugins.CurlyTx.pages[:]
35 for pageData in pages:
37 config.plugins.CurlyTx.pages.append(page)
38 page.title.setValue(pageData["title"])
39 page.uri.setValue(pageData["url"])
41 def feedSettingsToConfig(settings):
43 if 'enableSettings' in settings and config.plugins.CurlyTx.enableSettings.getValue() != settings['enableSettings']:
44 config.plugins.CurlyTx.enableSettings.setValue(int(settings['enableSettings']))
48 config.plugins.CurlyTx.save()
51 for i in range(0, len(config.plugins.CurlyTx.pages)):
52 config.plugins.CurlyTx.pages[i].save()
54 config.plugins.CurlyTx.pages.save()
58 config.plugins.CurlyTx = ConfigSubsection()
59 config.plugins.CurlyTx.menuMain = ConfigYesNo(default = True)
60 config.plugins.CurlyTx.menuExtensions = ConfigYesNo(default = False)
61 config.plugins.CurlyTx.enableSettings = ConfigEnableDisable(default = True)
62 config.plugins.CurlyTx.menuTitle = ConfigText(default = "CurlyTx", fixed_size = False)
63 config.plugins.CurlyTx.feedUrl = ConfigText(default = "", fixed_size = False)
64 config.plugins.CurlyTx.pages = ConfigSubList()
65 for id,value in config.plugins.CurlyTx.pages.stored_values.iteritems():
66 config.plugins.CurlyTx.pages.append(createPage())
67 loadDefaultPageOptions()