Example #1
0
from Components.Network import iNetwork

from twisted.internet import error as twisted_error
from twistedsnmp import agent, agentprotocol, bisectoidstore
from twistedsnmp.pysnmpproto import v1, oid

from Components.Sources.ServiceList import ServiceList
from enigma import eServiceReference, iServiceInformation

from enigma import eDVBResourceManager, eDVBFrontendParametersSatellite, eDVBFrontendParameters

from bitrate import Bitrate
from emm import Emm

config.plugins.SnmpAgent = ConfigSubsection()
config.plugins.SnmpAgent.managerip = ConfigText(default='0.0.0.0')
config.plugins.SnmpAgent.systemname = ConfigText(default='dm7025')
config.plugins.SnmpAgent.systemdescription = ConfigText(
    default='signal quality monitor')
config.plugins.SnmpAgent.supportaddress = ConfigText(
    default='*****@*****.**')
config.plugins.SnmpAgent.location = ConfigText(default='default location')
config.plugins.SnmpAgent.measurebitrate = ConfigYesNo(default=False)
config.plugins.SnmpAgent.checkemm = ConfigYesNo(default=False)

config.tv.lastroot = ConfigText()


class ourOIDStore(bisectoidstore.BisectOIDStore):
    startTime = time.time()
    haspicture = False
Example #2
0
# skins are loaded in order of priority: skin with
# highest priority is loaded last, usually the user-provided
# skin.

# currently, loadSingleSkinData (colors, bordersets etc.)
# are applied one-after-each, in order of ascending priority.
# the dom_skin will keep all screens in descending priority,
# so the first screen found will be used.

# example: loadSkin("nemesis_greenline/skin.xml")
config.skin = ConfigSubsection()
DEFAULT_SKIN = "MX_HQ10/skin.xml"
if not fileExists(resolveFilename(SCOPE_SKIN, DEFAULT_SKIN)):
	# in that case, fallback to Magic (which is an SD skin)
	DEFAULT_SKIN = "skin.xml"
config.skin.primary_skin = ConfigText(default=DEFAULT_SKIN)

DEFAULT_DISPLAY_SKIN = "skin_display.xml"
config.skin.display_skin = ConfigText(default=DEFAULT_DISPLAY_SKIN)

profile("LoadSkin")
res = None
name = skin_user_skinname()
if name:
	res = addSkin(name, SCOPE_CONFIG)
if not name or not res:
	addSkin('skin_user.xml', SCOPE_CONFIG)

# some boxes lie about their dimensions
addSkin('skin_box.xml')
# add optional discrete second infobar
    def __init__(self, session, entry=None):
        self.session = session
        Screen.__init__(self, session)

        if entry == None:
            self.setTitle(_("Add birthday"))
            config.plugins.birthdayreminder.name = NoSave(
                ConfigText(default="", fixed_size=False, visible_width=40))
            config.plugins.birthdayreminder.day = NoSave(
                ConfigInteger(default=1, limits=(1, 31)))
            config.plugins.birthdayreminder.month = NoSave(
                ConfigInteger(default=1, limits=(1, 12)))
            config.plugins.birthdayreminder.year = NoSave(
                ConfigInteger(default=1900, limits=(1900, 2050)))
        else:
            self.setTitle(_("Edit birthday"))
            (name, birthday) = entry
            config.plugins.birthdayreminder.name = NoSave(
                ConfigText(default=name, fixed_size=False, visible_width=40))
            config.plugins.birthdayreminder.day = NoSave(
                ConfigInteger(default=birthday.day, limits=(1, 31)))
            config.plugins.birthdayreminder.month = NoSave(
                ConfigInteger(default=birthday.month, limits=(1, 12)))
            config.plugins.birthdayreminder.year = NoSave(
                ConfigInteger(default=birthday.year, limits=(1900, 2050)))

        self["key_red"] = StaticText(_("Cancel"))
        self["key_green"] = StaticText(_("Save"))
        self["error"] = Label(_("Invalid date!"))
        self["error"].hide()

        list = []
        list.append(
            getConfigListEntry(_("Name:"),
                               config.plugins.birthdayreminder.name))
        if config.plugins.birthdayreminder.dateFormat.value == "mmddyyyy":
            list.append(
                getConfigListEntry(_("Month:"),
                                   config.plugins.birthdayreminder.month))
            list.append(
                getConfigListEntry(_("Day:"),
                                   config.plugins.birthdayreminder.day))
        else:
            list.append(
                getConfigListEntry(_("Day:"),
                                   config.plugins.birthdayreminder.day))
            list.append(
                getConfigListEntry(_("Month:"),
                                   config.plugins.birthdayreminder.month))
        list.append(
            getConfigListEntry(_("Year:"),
                               config.plugins.birthdayreminder.year))

        ConfigListScreen.__init__(self, list)
        HelpableScreen.__init__(self)

        self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", {
            "cancel": (self.cancel, _("Cancel")),
        }, -1)

        self["ColorActions"] = HelpableActionMap(
            self, "ColorActions", {
                "red": (self.cancel, _("Cancel")),
                "green": (self.accept, _("Accept changes")),
            }, -1)
Example #4
0
profile("ParentalControl")
import Components.ParentalControl
Components.ParentalControl.InitParentalControl()

profile("LOAD:Navigation")
from Navigation import Navigation

profile("LOAD:skin")
from skin import readSkin

profile("LOAD:Tools")
from Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN
InitFallbackFiles()

profile("config.misc")
config.misc.radiopic = ConfigText(
    default=resolveFilename(SCOPE_CURRENT_SKIN, "radio.mvi"))
config.misc.blackradiopic = ConfigText(
    default=resolveFilename(SCOPE_CURRENT_SKIN, "black.mvi"))
config.misc.useTransponderTime = ConfigYesNo(default=True)
config.misc.startCounter = ConfigInteger(default=0)  # number of e2 starts...
config.misc.standbyCounter = NoSave(
    ConfigInteger(default=0))  # number of standby
config.misc.DeepStandby = NoSave(
    ConfigYesNo(default=False))  # detect deepstandby
config.misc.RestartUI = ConfigYesNo(
    default=False)  # detect user interface restart
config.misc.prev_wakeup_time = ConfigInteger(default=0)
#config.misc.prev_wakeup_time_type is only valid when wakeup_time is not 0
config.misc.prev_wakeup_time_type = ConfigInteger(default=0)
# 0 = RecordTimer, 1 = ZapTimer, 2 = Plugins, 3 = WakeupTimer
config.misc.epgcache_filename = ConfigText(default="/hdd/epg.dat")
Example #5
0
	def buildList(self, password):
		self.password=password
		self.list = []
		self.list.append(getConfigListEntry(_('Enter new Password'), ConfigText(default = self.password, fixed_size = False)))
		self["passwd"].setList(self.list)
Example #6
0
import Components.ParentalControl
Components.ParentalControl.InitParentalControl()

profile("LOAD:Navigation")
from Navigation import Navigation

profile("LOAD:skin")
from skin import readSkin

profile("LOAD:Tools")
from Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN, SCOPE_CONFIG
from Components.config import config, configfile, ConfigText, ConfigYesNo, ConfigInteger, ConfigSelection, NoSave
InitFallbackFiles()

profile("config.misc")
config.misc.blackradiopic = ConfigText(
    default=resolveFilename(SCOPE_CURRENT_SKIN, "black.mvi"))
radiopic = resolveFilename(SCOPE_CURRENT_SKIN, "radio.mvi")
if os.path.exists(resolveFilename(SCOPE_CONFIG, "radio.mvi")):
    radiopic = resolveFilename(SCOPE_CONFIG, "radio.mvi")
config.misc.radiopic = ConfigText(default=radiopic)
config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)
config.misc.isNextPowerTimerAfterEventActionAuto = ConfigYesNo(default=False)
config.misc.SyncTimeUsing = ConfigSelection(default="0",
                                            choices=[("0", "Transponder Time"),
                                                     ("1", _("NTP"))])
config.misc.NTPserver = ConfigText(default='pool.ntp.org', fixed_size=False)

config.misc.startCounter = ConfigInteger(default=0)  # number of e2 starts...
config.misc.standbyCounter = NoSave(
    ConfigInteger(default=0))  # number of standby
config.misc.DeepStandby = NoSave(
Example #7
0
###################################################
# E2 GUI COMMPONENTS
###################################################
from Plugins.Extensions.IPTVPlayer.components.asynccall import MainSessionWrapper
from Screens.MessageBox import MessageBox
###################################################

###################################################
# Config options for HOST
###################################################
config.plugins.iptvplayer.moviesto123_proxy = ConfigSelection(
    default="None",
    choices=[("None", _("None")),
             ("proxy_1", _("Alternative proxy server (1)")),
             ("proxy_2", _("Alternative proxy server (2)"))])
config.plugins.iptvplayer.moviesto123_alt_domain = ConfigText(default="",
                                                              fixed_size=False)


def GetConfigList():
    optionList = []
    optionList.append(
        getConfigListEntry(_("Use proxy server:"),
                           config.plugins.iptvplayer.moviesto123_proxy))
    if config.plugins.iptvplayer.moviesto123_proxy.value == 'None':
        optionList.append(
            getConfigListEntry(
                _("Alternative domain:"),
                config.plugins.iptvplayer.moviesto123_alt_domain))
    return optionList

Example #8
0
try:
    import json
except Exception:
    import simplejson as json
from Components.config import config, ConfigSelection, ConfigText, getConfigListEntry
###################################################

###################################################
# Config options for HOST
###################################################
config.plugins.iptvplayer.solarmovie_proxy = ConfigSelection(
    default="None",
    choices=[("None", _("None")),
             ("proxy_1", _("Alternative proxy server (1)")),
             ("proxy_2", _("Alternative proxy server (2)"))])
config.plugins.iptvplayer.solarmovie_alt_domain = ConfigText(default="",
                                                             fixed_size=False)


def GetConfigList():
    optionList = []
    optionList.append(
        getConfigListEntry(_("Use proxy server:"),
                           config.plugins.iptvplayer.solarmovie_proxy))
    optionList.append(
        getConfigListEntry(_("Alternative domain:"),
                           config.plugins.iptvplayer.solarmovie_alt_domain))
    return optionList


###################################################
Example #9
0
# skins are loaded in order of priority: skin with
# highest priority is loaded last, usually the user-provided
# skin.

# currently, loadSingleSkinData (colors, bordersets etc.)
# are applied one-after-each, in order of ascending priority.
# the dom_skin will keep all screens in descending priority,
# so the first screen found will be used.

# example: loadSkin("nemesis_greenline/skin.xml")
config.skin = ConfigSubsection()
DEFAULT_SKIN = "skin.xml"
if not fileExists(resolveFilename(SCOPE_SKIN, DEFAULT_SKIN)):
    # in that case, fallback to Magic (which is an SD skin)
    DEFAULT_SKIN = "Magic/skin.xml"
config.skin.primary_skin = ConfigText(default=DEFAULT_SKIN)
config.skin.xres = ConfigInteger(default=0)

profile("LoadSkin")
res = None
name = skin_user_skinname()
if name:
    res = addSkin(name, SCOPE_CONFIG)
if not name or not res:
    addSkin('skin_user.xml', SCOPE_CONFIG)
addSkin('skin_box.xml')
addSkin('skin_second_infobar.xml')
display_skin_id = 1
addSkin('skin_display.xml')
addSkin('skin_text.xml')
addSkin('skin_subtitles.xml')
Example #10
0
	def createConfig(self):
		justplay = self.timer.justplay
		always_zap = self.timer.always_zap
		rename_repeat = self.timer.rename_repeat

		afterevent = {
			AFTEREVENT.NONE: "nothing",
			AFTEREVENT.DEEPSTANDBY: "deepstandby",
			AFTEREVENT.STANDBY: "standby",
			AFTEREVENT.AUTO: "auto"
			}[self.timer.afterEvent]

		if self.timer.record_ecm and self.timer.descramble:
			recordingtype = "descrambled+ecm"
		elif self.timer.record_ecm:
			recordingtype = "scrambled+ecm"
		elif self.timer.descramble:
			recordingtype = "normal"

		weekday_table = ("mon", "tue", "wed", "thu", "fri", "sat", "sun")

		# calculate default values
		day = []
		weekday = 0
		for x in (0, 1, 2, 3, 4, 5, 6):
			day.append(0)
		if self.timer.repeated: # repeated
			type = "repeated"
			if self.timer.repeated == 31: # Mon-Fri
				repeated = "weekdays"
			elif self.timer.repeated == 127: # daily
				repeated = "daily"
			else:
				flags = self.timer.repeated
				repeated = "user"
				count = 0
				for x in (0, 1, 2, 3, 4, 5, 6):
					if flags == 1: # weekly
# 						print "Set to weekday " + str(x)
						weekday = x
					if flags & 1 == 1: # set user defined flags
						day[x] = 1
						count += 1
					else:
						day[x] = 0
					flags >>= 1
				if count == 1:
					repeated = "weekly"
		else: # once
			type = "once"
			repeated = None
			weekday = int(strftime("%u", localtime(self.timer.begin))) - 1
			day[weekday] = 1

		self.timerentry_justplay = ConfigSelection(choices = [
			("zap", _("zap")), ("record", _("record")), ("zap+record", _("zap and record"))],
			default = {0: "record", 1: "zap", 2: "zap+record"}[justplay + 2*always_zap])
		if SystemInfo["DeepstandbySupport"]:
			shutdownString = _("go to deep standby")
		else:
			shutdownString = _("shut down")
		self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", shutdownString), ("auto", _("auto"))], default = afterevent)
		self.timerentry_recordingtype = ConfigSelection(choices = [("normal", _("normal")), ("descrambled+ecm", _("descramble and record ecm")), ("scrambled+ecm", _("don't descramble, record ecm"))], default = recordingtype)
		self.timerentry_type = ConfigSelection(choices = [("once",_("once")), ("repeated", _("repeated"))], default = type)
		self.timerentry_name = ConfigText(default = self.timer.name.replace('\xc2\x86', '').replace('\xc2\x87', '').encode("utf-8"), visible_width = 50, fixed_size = False)
		self.timerentry_description = ConfigText(default = self.timer.description, visible_width = 50, fixed_size = False)
		self.timerentry_tags = self.timer.tags[:]
		# if no tags found, make name of event default tag set.
		if not self.timerentry_tags:
				tagname = self.timer.name.strip()
				if tagname:
					tagname = tagname[0].upper() + tagname[1:].replace(" ", "_")
					self.timerentry_tags.append(tagname)

		self.timerentry_tagsset = ConfigSelection(choices = [not self.timerentry_tags and "None" or " ".join(self.timerentry_tags)])

		self.timerentry_repeated = ConfigSelection(default = repeated, choices = [("weekly", _("weekly")), ("daily", _("daily")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))])
		self.timerentry_renamerepeat = ConfigYesNo(default = rename_repeat)

		self.timerentry_date = ConfigDateTime(default = self.timer.begin, formatstring = _("%d %B %Y"), increment = 86400)
		self.timerentry_starttime = ConfigClock(default = self.timer.begin)
		self.timerentry_endtime = ConfigClock(default = self.timer.end)
		self.timerentry_showendtime = ConfigSelection(default = False, choices = [(True, _("yes")), (False, _("no"))])

		default = self.timer.dirname or defaultMoviePath()
		tmp = config.movielist.videodirs.value
		if default not in tmp:
			tmp.append(default)
		self.timerentry_dirname = ConfigSelection(default = default, choices = tmp)

		self.timerentry_repeatedbegindate = ConfigDateTime(default = self.timer.repeatedbegindate, formatstring = _("%d.%B %Y"), increment = 86400)

		self.timerentry_weekday = ConfigSelection(default = weekday_table[weekday], choices = [("mon",_("Monday")), ("tue", _("Tuesday")), ("wed",_("Wednesday")), ("thu", _("Thursday")), ("fri", _("Friday")), ("sat", _("Saturday")), ("sun", _("Sunday"))])

		self.timerentry_day = ConfigSubList()
		for x in (0, 1, 2, 3, 4, 5, 6):
			self.timerentry_day.append(ConfigYesNo(default = day[x]))

		# FIXME some service-chooser needed here
		servicename = "N/A"
		try: # no current service available?
			servicename = str(self.timer.service_ref.getServiceName())
		except:
			pass
		self.timerentry_service_ref = self.timer.service_ref
		self.timerentry_service = ConfigSelection([servicename])
Example #11
0
Components.ParentalControl.InitParentalControl()

profile("LOAD:Navigation")
from Navigation import Navigation

profile("LOAD:skin")
from skin import readSkin

profile("LOAD:Tools")
from Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS, SCOPE_ACTIVE_SKIN, SCOPE_CURRENT_SKIN, SCOPE_CONFIG
from Components.config import config, configfile, ConfigText, ConfigYesNo, ConfigInteger, ConfigSelection, NoSave
import Components.RecordingConfig
InitFallbackFiles()

profile("config.misc")
config.misc.boxtype = ConfigText(default=boxtype)
config.misc.blackradiopic = ConfigText(
    default=resolveFilename(SCOPE_ACTIVE_SKIN, "black.mvi"))
radiopic = resolveFilename(SCOPE_ACTIVE_SKIN, "radio.mvi")
if os.path.exists(resolveFilename(SCOPE_CONFIG, "radio.mvi")):
    radiopic = resolveFilename(SCOPE_CONFIG, "radio.mvi")
config.misc.radiopic = ConfigText(default=radiopic)
#config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)
#config.misc.isNextPowerTimerAfterEventActionAuto = ConfigYesNo(default=False)
config.misc.nextWakeup = ConfigText(
    default="-1,-1,0,0,-1,0"
)  #wakeup time, timer begins, set by (0=rectimer,1=zaptimer, 2=powertimer or 3=plugin), go in standby, next rectimer, force rectimer
config.misc.SyncTimeUsing = ConfigSelection(default="0",
                                            choices=[("0", "Transponder Time"),
                                                     ("1", _("NTP"))])
config.misc.NTPserver = ConfigText(default='pool.ntp.org', fixed_size=False)
Example #12
0
from Components.Console import Console
from Screens.Screen import Screen
from Components.ActionMap import ActionMap
from Components.Label import Label
from Components.ConfigList import ConfigListScreen, ConfigList
from Components.config import ConfigSubsection, ConfigYesNo, config, ConfigSelection, ConfigText, ConfigNumber, ConfigSet, ConfigLocations, NoSave, ConfigClock, ConfigInteger, ConfigBoolean, ConfigPassword, ConfigIP, ConfigSlider, ConfigSelectionNumber, getConfigListEntry, KEY_LEFT, KEY_RIGHT, configfile
from Components.Sources.StaticText import StaticText
from Plugins.Extensions.Infopanel.outofflash import MoveVideos_int, MoveVideos
from Components.MenuList import MenuList
from enigma import *
from Tools.LoadPixmap import LoadPixmap
from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
from glob import glob
import os
config.bootvideo = ConfigSubsection()
config.bootvideo.booting = ConfigText(default = "no Bootvideo")

class PanelList(MenuList):
	if (getDesktop(0).size().width() == 1920):
		def __init__(self, list, font0 = 32, font1 = 24, itemHeight = 50, enableWrapAround = True):
			MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
			self.l.setFont(0, gFont("Regular", font0))
			self.l.setFont(1, gFont("Regular", font1))
			self.l.setItemHeight(itemHeight)
	else:
		def __init__(self, list, font0 = 24, font1 = 16, itemHeight = 50, enableWrapAround = True):
			MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
			self.l.setFont(0, gFont("Regular", font0))
			self.l.setFont(1, gFont("Regular", font1))
			self.l.setItemHeight(itemHeight)
def initWeatherConfig():
    config.plugins.MetrixWeather = ConfigSubsection()

    #MetrixWeather

    config.plugins.MetrixWeather.enabled = ConfigYesNo(default=True)
    config.plugins.MetrixWeather.refreshInterval = ConfigNumber(default=10)
    config.plugins.MetrixWeather.woeid = ConfigNumber(default=676757) #Location (visit metrixhd.info)
    config.plugins.MetrixWeather.tempUnit = ConfigSelection(default="Celsius", choices = [
        ("Celsius", _("Celsius")),
        ("Fahrenheit", _("Fahrenheit"))
    ])


    ## RENDERER CONFIG:

    config.plugins.MetrixWeather.currentLocation = ConfigText(default="N/A")
    config.plugins.MetrixWeather.currentWeatherCode = ConfigText(default="(")
    config.plugins.MetrixWeather.currentWeatherText = ConfigText(default="N/A")
    config.plugins.MetrixWeather.currentWeatherTemp = ConfigText(default="0")

    config.plugins.MetrixWeather.forecastTodayCode = ConfigText(default="(")
    config.plugins.MetrixWeather.forecastTodayText = ConfigText(default="N/A")
    config.plugins.MetrixWeather.forecastTodayTempMin = ConfigText(default="0")
    config.plugins.MetrixWeather.forecastTodayTempMax = ConfigText(default="0")

    config.plugins.MetrixWeather.forecastTomorrowCode = ConfigText(default="(")
    config.plugins.MetrixWeather.forecastTomorrowText = ConfigText(default="N/A")
    config.plugins.MetrixWeather.forecastTomorrowTempMin = ConfigText(default="0")
    config.plugins.MetrixWeather.forecastTomorrowTempMax = ConfigText(default="0")
Example #14
0
 def __init__(self):
     self.settings = ConfigSubsection()
     self.settings.titleformat = ConfigText(fixed_size=False,
                                            visible_width=40)
     self.settings.subtitleformat = ConfigText(fixed_size=False,
                                               visible_width=40)
     self.settings.menubg = ConfigFilename()
     self.settings.menuaudio = ConfigFilename()
     self.settings.dimensions = ConfigSequence(seperator=',',
                                               default=[576, 720],
                                               limits=[(352, 720),
                                                       (480, 576)])
     self.settings.rows = ConfigInteger(default=4, limits=(1, 10))
     self.settings.cols = ConfigInteger(default=1, limits=(1, 4))
     self.settings.color_headline = ConfigColor()
     self.settings.color_headline = ConfigColor()
     self.settings.color_highlight = ConfigColor()
     self.settings.color_button = ConfigColor()
     self.settings.fontface_headline = ConfigFilename()
     self.settings.fontface_title = ConfigFilename()
     self.settings.fontface_subtitle = ConfigFilename()
     self.settings.fontsize_headline = ConfigInteger(default=46,
                                                     limits=(0, 199))
     self.settings.fontsize_title = ConfigInteger(default=24,
                                                  limits=(0, 199))
     self.settings.fontsize_subtitle = ConfigInteger(default=14,
                                                     limits=(0, 199))
     self.settings.margin_top = ConfigInteger(default=120, limits=(0, 500))
     self.settings.margin_bottom = ConfigInteger(default=40,
                                                 limits=(0, 500))
     self.settings.margin_left = ConfigInteger(default=56, limits=(0, 500))
     self.settings.margin_right = ConfigInteger(default=56, limits=(0, 500))
     self.settings.space_rows = ConfigInteger(default=32, limits=(0, 500))
     self.settings.space_cols = ConfigInteger(default=24, limits=(0, 500))
     self.settings.prev_page_text = ConfigText(default="<<<",
                                               fixed_size=False)
     self.settings.next_page_text = ConfigText(default=">>>",
                                               fixed_size=False)
     self.settings.offset_headline = ConfigSequence(seperator=',',
                                                    default=[0, 0],
                                                    limits=[(-1, 500),
                                                            (-1, 500)])
     self.settings.offset_title = ConfigSequence(seperator=',',
                                                 default=[0, 0],
                                                 limits=[(-1, 500),
                                                         (-1, 500)])
     self.settings.offset_subtitle = ConfigSequence(seperator=',',
                                                    default=[20, 0],
                                                    limits=[(-1, 500),
                                                            (-1, 500)])
     self.settings.offset_thumb = ConfigSequence(seperator=',',
                                                 default=[40, 0],
                                                 limits=[(-1, 500),
                                                         (-1, 500)])
     self.settings.thumb_size = ConfigSequence(seperator=',',
                                               default=[200, 158],
                                               limits=[(0, 576), (-1, 720)])
     self.settings.thumb_border = ConfigInteger(default=2, limits=(0, 20))
     self.filekeys = [
         "menubg", "menuaudio", "fontface_headline", "fontface_title",
         "fontface_subtitle"
     ]
     from TitleProperties import languageChoices
     self.settings.menulang = ConfigSelection(
         choices=languageChoices.choices,
         default=languageChoices.choices[1][0])
     self.error = ""
Example #15
0
from Components.Sources.List import List
from Components.ConfigList import ConfigListScreen
from Components.config import config, ConfigSubsection, ConfigInteger, ConfigSelection, ConfigText, ConfigOnOff, getConfigListEntry

from skin import componentSizes, TemplatedListFonts

def getScale():
	return AVSwitch().getFramebufferScale()

config.pic = ConfigSubsection()
config.pic.framesize = ConfigInteger(default=30, limits=(0, 99))
config.pic.slidetime = ConfigInteger(default=10, limits=(5, 60))
config.pic.resize = ConfigSelection(default="2", choices = [("0", _("simple")), ("1", _("better")), ("2", _("fast JPEG"))])
config.pic.resize.value = 2 # 2 = fast JPEG (non JPEG fallback to 1)
config.pic.cache = ConfigOnOff(default=True)
config.pic.lastDir = ConfigText(default=resolveFilename(SCOPE_MEDIA))
config.pic.infoline = ConfigOnOff(default=True)
config.pic.loop = ConfigOnOff(default=True)
config.pic.bgcolor = ConfigSelection(default="#00000000", choices = [("#00000000", _("black")),("#009eb9ff", _("blue")),("#00ff5a51", _("red")), ("#00ffe875", _("yellow")), ("#0038FF48", _("green"))])
config.pic.textcolor = ConfigSelection(default="#0038FF48", choices = [("#00000000", _("black")),("#009eb9ff", _("blue")),("#00ff5a51", _("red")), ("#00ffe875", _("yellow")), ("#0038FF48", _("green"))])
config.pic.thumbDelay = ConfigInteger(default=500, limits=(0,999))

def setPixmap(dest, ptr, scaleSize, aspectRatio):
	if scaleSize.isValid() and aspectRatio.isValid():
		pic_scale_size = ptr.size().scale(scaleSize, aspectRatio)

		dest_size = dest.getSize()
		dest_width = dest_size.width()
		dest_height = dest_size.height()

		pic_scale_width = pic_scale_size.width()
Example #16
0
    config.plugins.growlee.hosts.append(s)
    return s


i = 0
while i < growlee.hostcount.value:
    addHost(str(i + 1))
    i += 1

# XXX: change to new config format
# NOTE: after some time, remove this and hardcode default length to 1
# since internally we assume to have at least 1 host configured
if growlee.hostcount.value == 0:
    growlee.enable_outgoing = ConfigYesNo(default=False)
    growlee.enable_incoming = ConfigYesNo(default=False)
    growlee.address = ConfigText(fixed_size=False)
    growlee.password = ConfigPassword()
    password = growlee.password.value
    growlee.prowl_api_key = ConfigText()
    growlee.protocol = ConfigSelection(default="growl",
                                       choices=[("growl", "Growl"),
                                                ("snarl", "Snarl"),
                                                ("prowl", "Prowl")])
    growlee.level = ConfigSelection(default="-1",
                                    choices=[("-1", _("Low (Yes/No)")),
                                             ("0", _("Normal (Information)")),
                                             ("1", _("High (Warning)")),
                                             ("2", _("Highest (Emergency)"))])
    growlee.blacklist = ConfigSet(choices=[])
    if growlee.protocol.value == "prowl":
        password = growlee.prowl_api_key.value
Example #17
0
    dom_skins.append((mpath, xml.etree.cElementTree.parse(filename).getroot()))


# we do our best to always select the "right" value
# skins are loaded in order of priority: skin with
# highest priority is loaded last, usually the user-provided
# skin.

# currently, loadSingleSkinData (colors, bordersets etc.)
# are applied one-after-each, in order of ascending priority.
# the dom_skin will keep all screens in descending priority,
# so the first screen found will be used.

# example: loadSkin("nemesis_greenline/skin.xml")
config.skin = ConfigSubsection()
config.skin.primary_skin = ConfigText(default="skin.xml")

profile("LoadSkin")
try:
    loadSkin('skin_user_display.xml', SCOPE_CONFIG)
except (SkinError, IOError, AssertionError), err:
    print "not loading display user skin: ", err

try:
    loadSkin('skin_user.xml', SCOPE_CONFIG)
except (SkinError, IOError, AssertionError), err:
    print "not loading user skin: ", err

try:
    loadSkin(config.skin.primary_skin.value)
except (SkinError, IOError, AssertionError), err:
Example #18
0
from Screens.MessageBox import MessageBox
from Components.config import config, ConfigSelection, ConfigYesNo, getConfigListEntry, ConfigSubsection, ConfigText
from Components.ConfigList import ConfigListScreen
from Components.NimManager import nimmanager
from Components.Label import Label
from Components.Pixmap import Pixmap
from Components.ProgressBar import ProgressBar
from Components.ServiceList import refreshServiceList
from Components.ActionMap import ActionMap

from enigma import eFastScan, eDVBFrontendParametersSatellite, eTimer

import os

config.misc.fastscan = ConfigSubsection()
config.misc.fastscan.last_configuration = ConfigText(default="()")
config.misc.fastscan.auto = ConfigYesNo(default=True)


class FastScanStatus(Screen):
    skin = """
	<screen position="150,115" size="420,180" title="Fast Scan">
		<widget name="frontend" pixmap="skin_default/icons/scan-s.png" position="5,5" size="64,64" transparent="1" alphatest="on" />
		<widget name="scan_state" position="10,120" zPosition="2" size="400,30" font="Regular;18" />
		<widget name="scan_progress" position="10,155" size="400,15" pixmap="skin_default/progress_big.png" borderWidth="2" borderColor="#cccccc" />
	</screen>"""

    def __init__(self,
                 session,
                 scanTuner=0,
                 transponderParameters=None,
Example #19
0
import time
import random
try:
    import simplejson as json
except Exception:
    import json
###################################################

###################################################
# E2 GUI COMMPONENTS
###################################################
from Plugins.Extensions.IPTVPlayer.components.asynccall import MainSessionWrapper
from Screens.MessageBox import MessageBox
###################################################
config.plugins.iptvplayer.tvpvod_premium = ConfigYesNo(default=False)
config.plugins.iptvplayer.tvpvod_login = ConfigText(default="",
                                                    fixed_size=False)
config.plugins.iptvplayer.tvpvod_password = ConfigText(default="",
                                                       fixed_size=False)

config.plugins.iptvplayer.tvpVodProxyEnable = ConfigYesNo(default=False)
config.plugins.iptvplayer.tvpVodDefaultformat = ConfigSelection(
    default="590000",
    choices=[("360000", "320x180"), ("590000", "398x224"),
             ("820000", "480x270"), ("1250000", "640x360"),
             ("1750000", "800x450"), ("2850000", "960x540"),
             ("5420000", "1280x720"), ("6500000", "1600x900"),
             ("9100000", "1920x1080")])
config.plugins.iptvplayer.tvpVodUseDF = ConfigYesNo(default=True)
config.plugins.iptvplayer.tvpVodNextPage = ConfigYesNo(default=True)
config.plugins.iptvplayer.tvpVodPreferedformat = ConfigSelection(
    default="mp4", choices=[("mp4", "MP4"), ("m3u8", "HLS/m3u8")])
Example #20
0
# -*- coding: utf-8 -*-
from Plugins.Extensions.IPTVPlayer.components.ihost import CHostBase, CBaseHostClass, RetHost
from Plugins.Extensions.IPTVPlayer.tools.iptvtools import printDBG, printExc, MergeDicts
from Plugins.Extensions.IPTVPlayer.tools.iptvtypes import strwithmeta
from Plugins.Extensions.IPTVPlayer.libs.urlparser import urlparser 
from Plugins.Extensions.IPTVPlayer.libs.urlparserhelper import getDirectM3U8Playlist

from datetime import datetime, tzinfo, timedelta, date
import time
import random
try:    import json
except Exception: import simplejson as json
from Components.config import config, ConfigText, ConfigSelection, ConfigYesNo, getConfigListEntry

config.plugins.iptvplayer.shortcut_login = ConfigText(default='', fixed_size=False)
config.plugins.iptvplayer.shortcut_password = ConfigText(default='', fixed_size=False)
config.plugins.iptvplayer.shortcut_quality = ConfigSelection(default = "hd", choices = [ ("hd", "hd"), ("hq", "hq"), ("mq", "mq"), ("lq", "lq") ])

config.plugins.iptvplayer.shortcut_token = ConfigText(default='', fixed_size=False)
config.plugins.iptvplayer.shortcut_uid = ConfigText(default='', fixed_size=False)
config.plugins.iptvplayer.shortcut_last_loggin = ConfigText(default='', fixed_size=False)


def GetConfigList():
    optionList = []
    optionList.append(getConfigListEntry("login:"******"password:"******"quality:", config.plugins.iptvplayer.shortcut_quality))
    return optionList

from Components.config import config, ConfigSelection, ConfigYesNo, ConfigText, getConfigListEntry
###################################################


###################################################
# E2 GUI COMMPONENTS 
###################################################
from Plugins.Extensions.IPTVPlayer.icomponents.asynccall import MainSessionWrapper, iptv_js_execute
from Plugins.Extensions.IPTVPlayer.icomponents.iptvmultipleinputbox import IPTVMultipleInputBox
from Screens.MessageBox import MessageBox
###################################################

###################################################
# Config options for HOST
###################################################
config.plugins.iptvplayer.efilmytv_login    = ConfigText(default = "", fixed_size = False)
config.plugins.iptvplayer.efilmytv_password = ConfigText(default = "", fixed_size = False)

def GetConfigList():
    optionList = []
    optionList.append(getConfigListEntry(_("login")+":", config.plugins.iptvplayer.efilmytv_login))
    optionList.append(getConfigListEntry(_("password")+":", config.plugins.iptvplayer.efilmytv_password))
    return optionList
###################################################

def gettytul():
    return 'http://www.efilmy.tv/'

class EFilmyTv(CBaseHostClass):
    
    def __init__(self):
Example #22
0
from Plugins.Plugin import PluginDescriptor
from Components.ActionMap import ActionMap
from Components.Sources.StaticText import StaticText
from Components.config import config, configfile, ConfigSubsection, ConfigIP, ConfigText, ConfigInteger, ConfigYesNo, ConfigSelection, ConfigClock, NoSave, ConfigNumber
from Screens.Setup import Setup
from Components.SystemInfo import SystemInfo
from Screens.MessageBox import MessageBox  # for are you sure questions after config changes

from ChannelsImporter import ChannelsImporter

from scheduler import autostart

config.plugins.ChannelsImporter = ConfigSubsection()
config.plugins.ChannelsImporter.ip = ConfigIP(default=[0, 0, 0, 0])
config.plugins.ChannelsImporter.username = ConfigText(default="root",
                                                      fixed_size=False)
config.plugins.ChannelsImporter.password = ConfigText(default="",
                                                      fixed_size=False)
config.plugins.ChannelsImporter.port = ConfigInteger(21, (0, 65535))
config.plugins.ChannelsImporter.passive = ConfigYesNo(False)
config.plugins.ChannelsImporter.importEPG = ConfigYesNo(False)
config.plugins.ChannelsImporter.retrycount = NoSave(ConfigNumber(default=0))
config.plugins.ChannelsImporter.nextscheduletime = NoSave(
    ConfigNumber(default=0))
config.plugins.ChannelsImporter.importOnRestart = ConfigYesNo(False)
config.plugins.ChannelsImporter.enableSchedule = ConfigYesNo(False)
config.plugins.ChannelsImporter.extensions = ConfigYesNo(default=False)
config.plugins.ChannelsImporter.setupFallback = ConfigYesNo(default=False)
config.plugins.ChannelsImporter.scheduleRepeatInterval = ConfigSelection(
    default="daily",
    choices=[("2", _("Every 2 minutes (for testing)")),
Example #23
0
    choices=[("base", _("Base")), ("beyonddreams", _("Beyond Dreams")),
             ("validator", _("Validator")), ("shadow", _("Magic Shadow")),
             ("shadow2", _("New Shadow")), ("glas", _("Glas")),
             ("metalpad", _("Metal Pad")), ("vision", _("New Vision")),
             ("atlantis", _("Atlantis")), ("avalon", _("Avalon")),
             ("blues", _("Blues of dream"))])
config.plugins.valiXDsetup.ChannSelector = ConfigSelection(
    default="simple",
    choices=[("simple", _("Simple")), ("full", _("Full")),
             ("full-vert", _("Full-vertical")),
             ("full-hor", _("Full-horizontal")), ("pig", _("with PiG"))])
config.plugins.valiXDsetup.dmType = ConfigSelection(
    default="800",
    choices=[("800", _("DM-800 Simple")), ("8000", _("DM-8000 Full")),
             ("verysimple", _("Very simple"))])
config.plugins.valiXDsetup.BG = ConfigText(default="18111112", fixed_size=8)
config.plugins.valiXDsetup.FG = ConfigText(default="f0f0f0", fixed_size=6)
config.plugins.valiXDsetup.secondBG = ConfigText(default="18071230",
                                                 fixed_size=8)
config.plugins.valiXDsetup.secondFG = ConfigText(default="fcc000",
                                                 fixed_size=6)
config.plugins.valiXDsetup.selBG = ConfigText(default="08303240", fixed_size=8)
config.plugins.valiXDsetup.selFG = ConfigText(default="fcc000", fixed_size=6)
config.plugins.valiXDsetup.pollTime = ConfigInteger(default=15, limits=(3, 60))


def main(session, **kwargs):
    if fileExists("/usr/share/enigma2/Vali-XD/skin.xml"):
        session.open(XDsetup)
    else:
        #session.open(MessageBox,_("Vali-XD skin not installed.\nWe have nothing to control."), MessageBox.TYPE_INFO)
Example #24
0
config.plugins.merlinEpgCenter.selectRunningService = ConfigYesNo(True)
config.plugins.merlinEpgCenter.replaceInfobarEpg = ConfigYesNo(False)
config.plugins.merlinEpgCenter.replaceInfobarChannelUp = ConfigSelection(
    default="-1", choices=TAB_CHOICES)
config.plugins.merlinEpgCenter.replaceInfobarChannelDown = ConfigSelection(
    default="-1", choices=TAB_CHOICES)
config.plugins.merlinEpgCenter.replaceShowEventView = ConfigSelection(
    default="-1", choices=TAB_CHOICES)
config.plugins.merlinEpgCenter.epgPaths = ConfigSelection(
    default=eEnv.resolve('${datadir}/enigma2/picon_50x30/'),
    choices=[
        (eEnv.resolve('${datadir}/enigma2/picon_50x30/'),
         eEnv.resolve('${datadir}/enigma2/picon_50x30')),
    ])
config.plugins.merlinEpgCenter.showColoredEpgTimes = ConfigYesNo(True)
config.plugins.merlinEpgCenter.searchString = NoSave(ConfigText(default=""))
config.plugins.merlinEpgCenter.searchHistory = ConfigSet(choices=[])
config.plugins.merlinEpgCenter.showInputHelp = ConfigYesNo(True)
config.plugins.merlinEpgCenter.listItemHeight = ConfigSelectionNumber(
    min=0, max=20, stepwidth=2, default=0, wraparound=True)
config.plugins.merlinEpgCenter.listStyle = ConfigSelection(
    default=STYLE_SINGLE_LINE,
    choices=[
        (STYLE_SINGLE_LINE, _("single line style")),
        (STYLE_SHORT_DESCRIPTION, _("with short description")),
    ])
config.plugins.merlinEpgCenter.skin = ConfigText(default="")
config.plugins.merlinEpgCenter.skinSelection = NoSave(
    ConfigSelection(choices=[]))
config.plugins.merlinEpgCenter.limitSearchToBouquetServices = ConfigYesNo(
    False)
Example #25
0
    "requestvendor":
    _("Request for vendor report"),
    "osdnamerequest":
    _("OSD name request"),
    "activity":
    _("Any activity"),
},
                                                     default="streamrequest")
config.hdmicec.tv_wakeup_command = ConfigSelection(choices={
    "imageview":
    _("Image View On"),
    "textview":
    _("Text View On"),
},
                                                   default="imageview")
config.hdmicec.fixed_physical_address = ConfigText(default="0.0.0.0")
config.hdmicec.volume_forwarding = ConfigYesNo(default=False)
config.hdmicec.control_receiver_wakeup = ConfigYesNo(default=False)
config.hdmicec.control_receiver_standby = ConfigYesNo(default=False)
config.hdmicec.handle_deepstandby_events = ConfigYesNo(default=False)
choicelist = []
for i in (10, 50, 100, 150, 250, 500, 750, 1000):
    choicelist.append(("%d" % i, _("%d ms") % i))
config.hdmicec.minimum_send_interval = ConfigSelection(
    default="0", choices=[("0", _("Disabled"))] + choicelist)
choicelist = []
for i in [3] + list(range(5, 65, 5)):
    choicelist.append(("%d" % i, _("%d sec") % i))
config.hdmicec.repeat_wakeup_timer = ConfigSelection(
    default="3", choices=[("0", _("Disabled"))] + choicelist)
config.hdmicec.debug = ConfigSelection(default="0",
Example #26
0
    import simplejson as json
except Exception:
    import json

###################################################

###################################################
# E2 GUI COMMPONENTS
###################################################
from Screens.MessageBox import MessageBox
###################################################

###################################################
# Config options for HOST
###################################################
config.plugins.iptvplayer.Chomikuj_folder = ConfigText(default="",
                                                       fixed_size=False)
config.plugins.iptvplayer.Chomikuj_password = ConfigText(default="",
                                                         fixed_size=False)
config.plugins.iptvplayer.Chomikuj_login = ConfigText(default="",
                                                      fixed_size=False)


def GetConfigList():
    optionList = []

    optionList.append(
        getConfigListEntry("Folder startu",
                           config.plugins.iptvplayer.Chomikuj_folder))
    optionList.append(
        getConfigListEntry("Nazwa chomika (login)",
                           config.plugins.iptvplayer.Chomikuj_login))
Example #27
0
class LastFMConfigScreen(ConfigListScreen, Screen):

    config.plugins.LastFM = ConfigSubsection()
    config.plugins.LastFM.name = ConfigText(default=_("Last.FM"))

    skin = """
        <screen position="center,center" size="600,480" title="%s" >

        <widget name="config" position="10,0" size="580,400" scrollbarMode="showOnDemand" />

        <widget name="buttonred" position="10,430" size="140,40" valign=\"center\" halign=\"center\" zPosition=\"2\" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" font=\"Regular;18\" />
        <widget name="buttongreen" position="150,430" size="140,40" valign=\"center\" halign=\"center\" zPosition=\"2\" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" font=\"Regular;18\"/>
        <ePixmap pixmap="skin_default/buttons/red.png" position="10,430" zPosition="1" size="140,40" transparent="1" alphatest="on" />
        <ePixmap pixmap="skin_default/buttons/green.png" position="150,430" zPosition="1" size="140,40" transparent="1" alphatest="on" />

        </screen>""" % (
        config.plugins.LastFM.name.value + " " + _("Setup")  # title
    )

    def __init__(self, session, args=0):
        self.session = session
        Screen.__init__(self, session)
        self.list = [
            getConfigListEntry(_("Show in (needs GUI restart)"),
                               config.plugins.LastFM.menu),
            getConfigListEntry(_("Name (needs GUI restart)"),
                               config.plugins.LastFM.name),
            getConfigListEntry(_("Description"),
                               config.plugins.LastFM.description),
            getConfigListEntry(_("Last.FM Username"),
                               config.plugins.LastFM.username),
            getConfigListEntry(_("Password"), config.plugins.LastFM.password),
            getConfigListEntry(_("Send now playing Audio Tracks"),
                               config.plugins.LastFM.sendSubmissions),
            getConfigListEntry(_("Use LastFM Proxy"),
                               config.plugins.LastFM.useproxy),
            getConfigListEntry(_("LastFM Proxy port"),
                               config.plugins.LastFM.proxyport),
            getConfigListEntry(_("Recommendation level"),
                               config.plugins.LastFM.recommendedlevel),
            getConfigListEntry(_("Show Coverart"),
                               config.plugins.LastFM.showcoverart),
            getConfigListEntry(_("Timeout Statustext (seconds)"),
                               config.plugins.LastFM.timeoutstatustext),
            getConfigListEntry(_("Timeout to select a Tab (seconds)"),
                               config.plugins.LastFM.timeouttabselect),
            getConfigListEntry(_("Interval to refresh Metadata (seconds)"),
                               config.plugins.LastFM.metadatarefreshinterval),
            getConfigListEntry(_("Use Screensaver"),
                               config.plugins.LastFM.sreensaver.use),
            getConfigListEntry(_("Wait before Screensaver (seconds)"),
                               config.plugins.LastFM.sreensaver.wait),
            getConfigListEntry(_("Show Coverart in Screensaver"),
                               config.plugins.LastFM.sreensaver.showcoverart),
            getConfigListEntry(
                _("Show Coverart Animation in Screensaver"),
                config.plugins.LastFM.sreensaver.coverartanimation),
            getConfigListEntry(_("Speed for Coverart Animation"),
                               config.plugins.LastFM.sreensaver.coverartspeed),
            getConfigListEntry(
                _("Interval for Coverart Animation"),
                config.plugins.LastFM.sreensaver.coverartinterval),
        ]
        ConfigListScreen.__init__(self, self.list)
        self["buttonred"] = Label(_("Cancel"))
        self["buttongreen"] = Label(_("OK"))
        self["setupActions"] = ActionMap(
            ["SetupActions"], {
                "green": self.save,
                "red": self.cancel,
                "save": self.save,
                "cancel": self.cancel,
                "ok": self.save,
            }, -2)

    def save(self):
        print("saving")

        for x in self["config"].list:
            x[1].save()
        self.close(True)

    def cancel(self):
        print("cancel")
        for x in self["config"].list:
            x[1].cancel()
        self.close(False)
Example #28
0
from Components.Network import iNetwork
from Plugins.Plugin import PluginDescriptor
from enigma import eTimer, eEnv, eConsoleAppContainer, eEPGCache
from Tools.Directories import *
from os import system, popen, path, makedirs, listdir, access, stat, rename, remove, W_OK, R_OK
from time import gmtime, strftime, localtime, sleep
from datetime import date
from boxbranding import getBoxType, getMachineBrand, getMachineName

boxtype = getBoxType()

config.plugins.configurationbackup = ConfigSubsection()
if boxtype in ('maram9', 'classm', 'axodin', 'axodinc', 'starsatlx', 'genius',
               'evo', 'galaxym6') and not path.exists(
                   "/media/hdd/backup_%s" % boxtype):
    config.plugins.configurationbackup.backuplocation = ConfigText(
        default='/media/backup/', visible_width=50, fixed_size=False)
else:
    config.plugins.configurationbackup.backuplocation = ConfigText(
        default='/media/hdd/', visible_width=50, fixed_size=False)
config.plugins.configurationbackup.backupdirs = ConfigLocations(default=[
    eEnv.resolve('${sysconfdir}/enigma2/'), '/etc/CCcam.cfg', '/usr/keys/',
    '/etc/network/interfaces', '/etc/wpa_supplicant.conf',
    '/etc/wpa_supplicant.ath0.conf', '/etc/wpa_supplicant.wlan0.conf',
    '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname',
    eEnv.resolve("${datadir}/enigma2/keymap.usr")
])


def getBackupPath():
    backuppath = config.plugins.configurationbackup.backuplocation.value
    if backuppath.endswith('/'):
Example #29
0
from pythonwifi.iwlibs import getNICnames, Wireless, Iwfreq, getWNICnames
from pythonwifi import flags as wififlags

list = []
list.append("Unencrypted")
list.append("WEP")
list.append("WPA")
list.append("WPA/WPA2")
list.append("WPA2")

weplist = []
weplist.append("ASCII")
weplist.append("HEX")

config.plugins.wlan = ConfigSubsection()
config.plugins.wlan.essid = NoSave(ConfigText(default="", fixed_size=False))
config.plugins.wlan.hiddenessid = NoSave(ConfigYesNo(default=False))
config.plugins.wlan.encryption = NoSave(ConfigSelection(list, default="WPA2"))
config.plugins.wlan.wepkeytype = NoSave(
    ConfigSelection(weplist, default="ASCII"))
config.plugins.wlan.psk = NoSave(ConfigPassword(default="", fixed_size=False))


def getWlanConfigName(iface):
    return '/etc/wpa_supplicant.' + iface + '.conf'


class Wlan:
    def __init__(self, iface=None):
        self.iface = iface
        self.oldInterfaceState = None
Example #30
0
def InitConfig():
    # BACKUPFILES contains all files and folders to back up, for wildcard entries ALWAYS use eEnv_resolve_multi!
    BACKUPFILES = ['/etc/enigma2/', '/etc/CCcam.cfg', '/usr/keys/',
     '/etc/davfs2/', '/etc/tuxbox/config/', '/etc/auto.network', '/etc/feeds.xml', '/etc/machine-id', '/etc/rc.local',
     '/etc/openvpn/', '/etc/ipsec.conf', '/etc/ipsec.secrets', '/etc/ipsec.user', '/etc/strongswan.conf', '/etc/vtuner.conf',
     '/etc/default/crond', '/etc/dropbear/', '/etc/default/dropbear', '/home/', '/etc/samba/', '/etc/fstab', '/etc/inadyn.conf',
     '/etc/network/interfaces', '/etc/wpa_supplicant.conf', '/etc/wpa_supplicant.ath0.conf',
     '/etc/wpa_supplicant.wlan0.conf', '/etc/wpa_supplicant.wlan1.conf', '/etc/resolv.conf', '/etc/default_gw', '/etc/hostname', '/etc/epgimport/', '/etc/exports',
     '/etc/enigmalight.conf', '/etc/volume.xml', '/etc/enigma2/ci_auth_slot_0.bin', '/etc/enigma2/ci_auth_slot_1.bin',
     '/usr/lib/enigma2/python/Plugins/Extensions/VMC/DB/',
     '/usr/lib/enigma2/python/Plugins/Extensions/VMC/youtv.pwd',
     '/usr/lib/enigma2/python/Plugins/Extensions/VMC/vod.config',
     '/usr/share/enigma2/MetrixHD/skinparts/',
     '/usr/share/enigma2/display/skin_display_usr.xml',
     '/usr/share/enigma2/display/userskin.png',
     '/usr/lib/enigma2/python/Plugins/Extensions/SpecialJump/keymap_user.xml',
     '/usr/lib/enigma2/python/Plugins/Extensions/MP3Browser/db',
     '/usr/lib/enigma2/python/Plugins/Extensions/MovieBrowser/db',
     '/usr/lib/enigma2/python/Plugins/Extensions/TVSpielfilm/db', '/etc/ConfFS',
     '/etc/rc3.d/S99tuner.sh',
     '/usr/bin/enigma2_pre_start.sh',
     eEnv.resolve("${datadir}/enigma2/keymap.usr"),
     eEnv.resolve("${datadir}/enigma2/keymap_usermod.xml")]\
     +eEnv_resolve_multi("${sysconfdir}/opkg/*-secret-feed.conf")\
     +eEnv_resolve_multi("${datadir}/enigma2/*/mySkin_off/*.xml")\
     +eEnv_resolve_multi("${datadir}/enigma2/*/mySkin/*.xml")\
     +eEnv_resolve_multi("${datadir}/enigma2/*/skin_user_*.xml")\
     +eEnv_resolve_multi("/usr/bin/*cam*")\
     +eEnv_resolve_multi("/etc/*.emu")\
     +eEnv_resolve_multi("${sysconfdir}/cron*")\
     +eEnv_resolve_multi("${sysconfdir}/init.d/softcam*")\
     +eEnv_resolve_multi("${sysconfdir}/init.d/cardserver*")\
     +eEnv_resolve_multi("${sysconfdir}/sundtek.*")\
     +eEnv_resolve_multi("/usr/sundtek/*")\
     +eEnv_resolve_multi("/opt/bin/*")\
     +eEnv_resolve_multi("/usr/script/*")

    # Drop non existant paths from list
    tmpfiles = []
    for f in BACKUPFILES:
        if path.exists(f):
            tmpfiles.append(f)
    backupset = tmpfiles

    config.plugins.configurationbackup = ConfigSubsection()
    if boxtype in ('maram9', 'classm', 'axodin', 'axodinc', 'starsatlx',
                   'genius', 'evo', 'galaxym6') and not path.exists(
                       "/media/hdd/backup_%s" % boxtype):
        config.plugins.configurationbackup.backuplocation = ConfigText(
            default='/media/backup/', visible_width=50, fixed_size=False)
    else:
        config.plugins.configurationbackup.backuplocation = ConfigText(
            default='/media/hdd/', visible_width=50, fixed_size=False)
    config.plugins.configurationbackup.backupdirs_default = NoSave(
        ConfigLocations(default=backupset))
    config.plugins.configurationbackup.backupdirs = ConfigLocations(
        default=[]
    )  # 'backupdirs_addon' is called 'backupdirs' for backwards compatibility, holding the user's old selection, duplicates are removed during backup
    config.plugins.configurationbackup.backupdirs_exclude = ConfigLocations(
        default=[])
    return config.plugins.configurationbackup