X-Git-Url: https://git.cweiske.de/enigma2-curlytx.git/blobdiff_plain/d19c22e15f04e6ee778e3d69f77728fc850f134f..1a0b790119b9a003fa3769b2677bc329040dd337:/src/config.py diff --git a/src/config.py b/src/config.py index 81f7d5c..7b11142 100644 --- a/src/config.py +++ b/src/config.py @@ -1,22 +1,57 @@ -from Components.config import config, ConfigYesNo, ConfigSelection, ConfigNumber, ConfigText, ConfigSubsection, ConfigSubList +# -*- coding: utf-8 -*- +# CurlyTx configuration +# Copyright (C) 2011 Christian Weiske +# License: GPLv3 or later + +from Components.config import config, 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 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.menuTitle = ConfigText(default = "CurlyTx") -config.plugins.CurlyTx.pageCount = ConfigNumber(default = 0) +config.plugins.CurlyTx.menuExtensions = ConfigYesNo(default = False) +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()) - -#config.plugins.CurlyTx.defaultPage = ConfigNumber(default=0) +loadDefaultPageOptions()