Esempio n. 1
0
def BaseInitUsageConfig():
	config.usage = ConfigSubsection();

	config.usage.keymap = ConfigText(default = eEnv.resolve("${datadir}/enigma2/keymap.xml"))

	config.usage.setup_level = ConfigSelection(default = "intermediate", choices = [
		("simple", _("Simple")),
		("intermediate", _("Intermediate")),
		("expert", _("Expert")) ])

	config.seek = ConfigSubsection()
	config.seek.selfdefined_13 = ConfigNumber(default=15)
	config.seek.selfdefined_46 = ConfigNumber(default=60)
	config.seek.selfdefined_79 = ConfigNumber(default=300)

	config.seek.speeds_forward = ConfigSet(default=[2, 4, 8, 16, 32, 64, 128], choices=[2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
	config.seek.speeds_backward = ConfigSet(default=[2, 4, 8, 16, 32, 64, 128], choices=[1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128])
	config.seek.speeds_slowmotion = ConfigSet(default=[2, 4, 8], choices=[2, 4, 6, 8, 12, 16, 25])

	config.seek.enter_forward = ConfigSelection(default = "2", choices = ["2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])
	config.seek.enter_backward = ConfigSelection(default = "1", choices = ["1", "2", "4", "6", "8", "12", "16", "24", "32", "48", "64", "96", "128"])

	def updateEnterForward(configElement):
		if not configElement.value:
			configElement.value = [2]
		updateChoices(config.seek.enter_forward, configElement.value)
	config.seek.speeds_forward.addNotifier(updateEnterForward, immediate_feedback = False)

	def updateEnterBackward(configElement):
		if not configElement.value:
			configElement.value = [2]
		updateChoices(config.seek.enter_backward, configElement.value)
	config.seek.speeds_backward.addNotifier(updateEnterBackward, immediate_feedback = False)
Esempio n. 2
0
def addHost(name):
	s = ConfigSubsection()
	s.name = ConfigText(default=name, fixed_size=False)
	s.enable_incoming = ConfigYesNo(default=False)
	s.enable_outgoing = ConfigYesNo(default=False)
	s.address = ConfigText(fixed_size=False)
	s.password = ConfigPassword()
	s.protocol = ConfigSelection(default="growl", choices=[("growl", "Growl"), ("snarl", "Snarl"), ("prowl", "Prowl"), ("syslog", "Syslog UDP")])
	s.level = ConfigSelection(default="-1", choices=[("-1", _("Low (Yes/No)")), ("0", _("Normal (Information)")), ("1", _("High (Warning)")), ("2", _("Highest (Emergency)"))])
	s.blacklist = ConfigSet(choices=[])
	config.plugins.growlee.hosts.append(s)
	return s
Esempio n. 3
0
config.plugins.epgsearch.defaultscope = ConfigSelection(
    choices=[("all", _("all services")), ("allbouquets", _("all bouquets")),
             ("currentbouquet", _("current bouquet")),
             ("currentservice", _("current service"))],
    default=__searchDefaultScope)
config.plugins.epgsearch.search_type = ConfigSelection(
    default="partial",
    choices=[("partial", _("partial match")), ("exact", _("exact match")),
             ("start", _("title starts with"))])
config.plugins.epgsearch.search_case = ConfigSelection(
    default="insensitive",
    choices=[("insensitive", _("case-insensitive search")),
             ("sensitive", _("case-sensitive search"))])
allowShowOrbital = getImageDistro() not in ("easy-gui-aus", "beyonwiz")
config.plugins.epgsearch.showorbital = ConfigYesNo(default=allowShowOrbital)
config.plugins.epgsearch.history = ConfigSet(choices=[])
# XXX: configtext is more flexible but we cannot use this for a (not yet created) gui config
config.plugins.epgsearch.encoding = ConfigSelection(
    choices=['UTF-8', 'ISO8859-15'], default='UTF-8')
config.plugins.epgsearch.history_length = ConfigSelectionNumber(0,
                                                                50,
                                                                1,
                                                                default=10)
config.plugins.epgsearch.add_search_to_epg = ConfigYesNo(default=True)

orbposDisabled = 3600


def getNamespaces(namespaces):
    lamedbServices = eServiceReference("1:7:1:0:0:0:0:0:0:0:" + " || ".join(
        map(lambda x: '(satellitePosition == %d)' % (x >> 16), namespaces)))
Esempio n. 4
0
################################################

config.plugins.ZapHistoryConfigurator = ConfigSubsection()
config.plugins.ZapHistoryConfigurator.enable_zap_history = ConfigSelection(
    choices={
        "off": _("disabled"),
        "on": _("enabled"),
        "parental_lock": _("disabled at parental lock")
    },
    default="on")
config.plugins.ZapHistoryConfigurator.maxEntries_zap_history = ConfigInteger(
    default=20, limits=(1, 60))
config.plugins.ZapHistoryConfigurator.e1_like_history = ConfigYesNo(
    default=False)
config.plugins.ZapHistoryConfigurator.history_tv = ConfigSet(choices=[])
config.plugins.ZapHistoryConfigurator.history_radio = ConfigSet(choices=[])

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


def addToHistory(instance, ref):
    if config.plugins.ZapHistoryConfigurator.enable_zap_history.value == "off":
        return
    if config.ParentalControl.configured.value and config.plugins.ZapHistoryConfigurator.enable_zap_history.value == "parental_lock":
        if parentalControl.getProtectionLevel(ref.toCompareString()) != -1:
            return
    if instance.servicePath is not None:
        tmp = instance.servicePath[:]
        tmp.append(ref)
        try:
Esempio n. 5
0
config.plugins.filecommander.savedir_right = ConfigYesNo(default=False)
config.plugins.filecommander.add_mainmenu_entry = ConfigYesNo(default=False)
config.plugins.filecommander.add_extensionmenu_entry = ConfigYesNo(default=False)
config.plugins.filecommander.path_default = ConfigDirectory(default="")
config.plugins.filecommander.path_left = ConfigText(default="")
config.plugins.filecommander.path_right = ConfigText(default="")
config.plugins.filecommander.my_extension = ConfigText(default="", visible_width=15, fixed_size=False)
config.plugins.filecommander.extension = ConfigSelection(default="^.*", choices=[("^.*", _("without")), ("myfilter", _("My Extension")), (records, _("Records")), (movie, _("Movie")), (music, _("Music")), (pictures, _("Pictures"))])
config.plugins.filecommander.input_length = ConfigInteger(default=0, limits=(0, 100))
config.plugins.filecommander.diashow = ConfigInteger(default=5000, limits=(1000, 10000))
config.plugins.filecommander.fake_entry = NoSave(ConfigNothing())

config.plugins.filecommander.path_left_tmp = ConfigText(default=config.plugins.filecommander.path_left.value)
config.plugins.filecommander.path_right_tmp = ConfigText(default=config.plugins.filecommander.path_right.value)
config.plugins.filecommander.path_left_selected = ConfigYesNo(default=True)
config.plugins.filecommander.hashes = ConfigSet(key_actions.hashes.keys(), default=["MD5"])
config.plugins.filecommander.bookmarks = ConfigLocations()

# ####################
# ## Config Screen ###
# ####################
class FileCommanderConfigScreen(Setup):
	def __init__(self, session):
		Setup.__init__(self, session, "filecommander", plugin="Extensions/FileCommander")

	def keyOK(self):
		if self["config"].getCurrent()[1] is config.plugins.filecommander.path_default:
			self.session.openWithCallback(self.pathSelected, LocationBox, text=_("Default Folder"), currDir=config.plugins.filecommander.path_default.getValue(), minFree=100)
		else:
			Setup.keyOK(self)
Esempio n. 6
0
from Tools.Directories import resolveFilename, SCOPE_PLUGINS, copyfile
from Tools.LoadPixmap import LoadPixmap
from Tools.Notifications import AddPopup
from twisted.web.client import getPage
import xml.etree.cElementTree as etree
from xml.parsers.expat import ParserCreate
from enigma import eTimer
from Components.ScrollLabel import ScrollLabel
import os

FILEURL = 'http://satellites.satloader.net/satellites.xml'
USERAGENT = 'Enima2 Satellite Editor Plugin'
SATFILE = '/etc/tuxbox/satellites.xml'
TMPFILE = '/tmp/satellites.xml'
config.plugins.sateditor = ConfigSubsection()
config.plugins.sateditor.satellites = ConfigSet(
    default=['192', '235', '282', '130'], choices=['192', '235', '282', '130'])
config.plugins.sateditor.sortby = ConfigSelection(default=1,
                                                  choices=[(1, '1'), (2, '2'),
                                                           (3, '3')])


class NewPrestigesatEditor(Screen, HelpableScreen):
    skin = '\n                \n                <screen name="NewPrestigesatEditor" position="center,center" size="640,520" title="Satellite.xml update"  flags="wfNoBorder" >\n                <ePixmap pixmap="~/images/framesd.png" position="0,0" size="640,520"/>\t                \n\n                <ePixmap position="15,450" size="610,5" pixmap="~/images/slider.png" alphatest="blend" transparent="1" backgroundColor="transparent"/>\n\t\t\t<widget name="info" position="15,380" zPosition="4" size="610,60" font="Regular;22" foregroundColor="#dddddd" transparent="1" valign="top" halign="center"  />\n\t\t\n                        <ePixmap pixmap="~/ddbuttons/red.png" position="45,460" zPosition="0" size="140,40" transparent="1" alphatest="on" />\n\t\t\t\n\t\t\t<ePixmap pixmap="~/ddbuttons/yellow.png" position="245,460" zPosition="0" size="140,40" transparent="1" alphatest="on" />\n\t\t\t<ePixmap pixmap="~/ddbuttons/blue.png" position="445,460" zPosition="0" size="140,40" transparent="1" alphatest="on" />\n\t\t\t<widget render="Label" source="key_red" position="45,510" size="140,90" zPosition="2" valign="center" halign="center"  font="Regular;21" transparent="1" />\n\t\t\t\n\t\t\t<widget render="Label" source="key_yellow" position="245,460" size="140,40" zPosition="2" valign="center" halign="center"  font="Regular;21" transparent="1" />\n\t\t\t<widget render="Label" source="key_blue" position="445,460" size="140,40" zPosition="2" valign="center" halign="center"  font="Regular;21" transparent="1"  />\n\t\t\t<widget source="satlist" render="Listbox" position="15,20" size="610,350" scrollbarMode="showOnDemand" transparent="1" zPosition="2" >\n\t\t\t\t<convert type="TemplatedMultiContent">\n\t\t\t\t\t{"template": [\n\t\t\t\t\t\t\tMultiContentEntryText(pos = (50, 0), size = (460, 26), font=0, flags = RT_HALIGN_LEFT, text = 1),\n\t\t\t\t\t\t\tMultiContentEntryPixmapAlphaTest(pos = (5, 0), size = (25, 24), png = 2),\n\t\t\t\t\t\t],\n\t\t\t\t\t"fonts": [gFont("Regular", 22)],\n\t\t\t\t\t"itemHeight": 25\n\t\t\t\t\t}\n\t\t\t\t</convert>\n\t\t\t</widget>\n\t\t</screen>'

    def __init__(self, session, saturl):
        self.session = session
        Screen.__init__(self, session)
        self.skin_path = resolveFilename(SCOPE_PLUGINS,
                                         "Extensions/PurePrestige")
        self['info'] = Label()
        self.saturl = saturl
Esempio n. 7
0
from . import _
# Plugin definition
from Plugins.Plugin import PluginDescriptor

from Components.PluginComponent import PluginComponent
from Components.config import config, ConfigSubsection, ConfigSet

from PluginHiderSetup import PluginHiderSetup

from operator import attrgetter

from boxbranding import getImageDistro

config.plugins.pluginhider = ConfigSubsection()
config.plugins.pluginhider.hideextensions = ConfigSet(choices=[])
config.plugins.pluginhider.hideplugins = ConfigSet(choices=[])
config.plugins.pluginhider.hideeventinfo = ConfigSet(choices=[])

hasPluginWeight = True


def hidePlugin(plugin):
    """Convenience function for external code to hide a plugin."""
    hide = config.plugins.pluginhider.hideplugins.value
    if not plugin.name in hide:
        hide.append(plugin.name)
        config.plugins.pluginhider.hideplugins.save()


def PluginComponent_getPlugins(self, where):
Esempio n. 8
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

    s = addHost(_("Converted connection"))
    s.enable_incoming.value = growlee.enable_incoming.value
    s.enable_outgoing.value = growlee.enable_outgoing.value
    s.address.value = growlee.address.value
    s.password.value = password
    s.protocol.value = growlee.protocol.value
    s.level.value = growlee.level.value
    s.blacklist.value = growlee.blacklist.value

    growlee.enable_incoming.value = False
    growlee.enable_outgoing.value = False
    growlee.address.value = ""
Esempio n. 9
0
from enigma import eServiceReference, eServiceCenter, eTimer, eSize, iPlayableService
import os
import time
import cPickle as pickle

config.movielist = ConfigSubsection()
config.movielist.moviesort = ConfigInteger(default=MovieList.SORT_RECORDED)
config.movielist.listtype = ConfigInteger(default=MovieList.LISTTYPE_MINIMAL)
config.movielist.description = ConfigInteger(
    default=MovieList.SHOW_DESCRIPTION)
config.movielist.last_videodir = ConfigText(default=resolveFilename(SCOPE_HDD))
config.movielist.last_timer_videodir = ConfigText(
    default=resolveFilename(SCOPE_HDD))
config.movielist.videodirs = ConfigLocations(
    default=[resolveFilename(SCOPE_HDD)])
config.movielist.last_selected_tags = ConfigSet([], default=[])
config.movielist.play_audio_internal = ConfigYesNo(default=True)
last_selected_dest = []

AUDIO_EXTENSIONS = frozenset(
    (".mp3", ".wav", ".ogg", ".flac", ".m4a", ".mp2", ".m2a"))
DVD_EXTENSIONS = ('.iso', '.img')
preferredTagEditor = None


def defaultMoviePath():
    result = config.usage.default_path.value
    if not os.path.isdir(result):
        for mount in Components.Harddisk.getProcMounts():
            if mount[1].startswith('/media/'):
                result = mount[1]
Esempio n. 10
0
    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')),
        ('/media/cf/picon_50x30/', '/media/cf/picon_50x30'),
        ('/media/usb/picon_50x30/', '/media/usb/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)
config.plugins.merlinEpgCenter.exitOnTvRadioSwitch = ConfigYesNo(False)
Esempio n. 11
0
# -*- coding: utf-8 -*-
#pragma mark - Config
from Components.config import config, ConfigSubsection, ConfigText, \
		ConfigPassword, ConfigLocations, ConfigSet, ConfigNumber, \
		ConfigSelection

from Tools.Directories import resolveFilename, SCOPE_HDD

config.plugins.ecasa = ConfigSubsection()
config.plugins.ecasa.google_username = ConfigText(default="", fixed_size=False)
config.plugins.ecasa.google_password = ConfigPassword(default="")
config.plugins.ecasa.cachedirs = ConfigLocations(default=[resolveFilename(SCOPE_HDD, "ecasa")])
config.plugins.ecasa.cache = ConfigText(default="/media/hdd/ecasa")
config.plugins.ecasa.user = ConfigText(default='default')
config.plugins.ecasa.searchhistory = ConfigSet(choices=[])
config.plugins.ecasa.userhistory = ConfigSet(choices=[])
config.plugins.ecasa.searchlimit = ConfigNumber(default=15)
config.plugins.ecasa.cachesize = ConfigNumber(default=15)
config.plugins.ecasa.slideshow_interval = ConfigNumber(default=30)
config.plugins.ecasa.flickr_api_key = ConfigText(default="", fixed_size=False)
config.plugins.ecasa.last_backend = ConfigSelection(default='picasa', choices=['picasa', 'flickr'])
Esempio n. 12
0
    def __init__(self):
        from Screens.AudioSelection import AUDIO_FORMATS, SUB_FORMATS, GST_SUB_FORMATS

        self.iso639 = Autoselect639Language()
        (self.language_dict, self.language_choices, self.language_defaults
         ) = self.iso639.getTranslatedChoicesDictAndSortedListAndDefaults()
        self.language_comparison_dict = {}

        self.audio_format_choices = []
        self.sub_format_choices = []

        self.audio_format_dict = {}
        for idx, (short, text, rank) in sorted(AUDIO_FORMATS.items(),
                                               key=lambda x: x[1][2]):
            if rank > 0:
                self.audio_format_choices.append((short, text))
                self.audio_format_dict[idx] = short

        self.sub_format_dict = {}
        self.gstsub_format_dict = {}
        for idx, (short, text, rank) in sorted(SUB_FORMATS.items(),
                                               key=lambda x: x[1][2]):
            if rank > 0:
                self.sub_format_choices.append((short, text))
                self.sub_format_dict[idx] = short
        for idx, (short, text, rank) in sorted(GST_SUB_FORMATS.items(),
                                               key=lambda x: x[1][2]):
            if rank > 0:
                self.sub_format_choices.append((short, short))
                self.gstsub_format_dict[idx] = short

        config.plugins.TrackAutoselect = ConfigSubsection()

        config.plugins.TrackAutoselect.audio_autoselect_enable = ConfigYesNo(
            default=True)
        config.plugins.TrackAutoselect.audio_parameter_order = ConfigSet(
            self.audio_order_choices,
            default=[x[0] for x in self.audio_order_choices[:-1]],
            resort=False)
        config.plugins.TrackAutoselect.audio_language_preference = ConfigSet(
            self.language_choices,
            default=self.language_defaults,
            resort=False)
        config.plugins.TrackAutoselect.audio_format_preference = ConfigSet(
            self.audio_format_choices,
            default=[x[0] for x in self.audio_format_choices],
            resort=False)
        #config.plugins.TrackAutoselect.audio_description_preference = ConfigSet(self.audio_format_choices, default=[x[0] for x in self.audio_description_choices], resort=False)

        config.plugins.TrackAutoselect.subtitle_autoselect_enable = ConfigYesNo(
            default=True)
        config.plugins.TrackAutoselect.subtitle_enable_conditions = ConfigSet(
            self.subtitle_enable_choices, default=[], resort=False)
        config.plugins.TrackAutoselect.subtitle_parameter_order = ConfigSet(
            self.subtitle_order_choices,
            default=[x[0] for x in self.subtitle_order_choices],
            resort=False)
        config.plugins.TrackAutoselect.subtitle_language_preference = ConfigSet(
            self.language_choices,
            default=self.language_defaults,
            resort=False)
        config.plugins.TrackAutoselect.subtitle_format_preference = ConfigSet(
            self.sub_format_choices,
            default=[x[0] for x in self.sub_format_choices],
            resort=False)

        config.plugins.TrackAutoselect.handle_services = ConfigSet(
            self.handle_services_choices,
            default=[x[0] for x in self.handle_services_choices[:2]],
            resort=False)
        config.plugins.TrackAutoselect.same_languages = ConfigYesNo(
            default=False)
        config.plugins.TrackAutoselect.wait_for_eit = ConfigInteger(
            default=1500, limits=(0, 99999))

        config.plugins.TrackAutoselect.audio_language_preference.addNotifier(
            self.updateLanguageComparisonDict, initial_call=True)
        config.plugins.TrackAutoselect.subtitle_language_preference.addNotifier(
            self.updateLanguageComparisonDict, initial_call=True)
Esempio n. 13
0
    def __init__(self):
        logger.info("...")
        auto_lang_list = Autoselect639Language(
        ).getTranslatedChoicesDictAndSortedListAndDefaults()[1]
        config.plugins.moviecockpit = ConfigSubsection()
        config.plugins.moviecockpit.timer_autoclean = ConfigYesNo(
            default=False)
        config.plugins.moviecockpit.cover_auto_download = ConfigYesNo(
            default=False)
        config.plugins.moviecockpit.cover_fallback = ConfigYesNo(default=True)
        config.plugins.moviecockpit.cover_replace_existing = ConfigYesNo(
            default=False)
        config.plugins.moviecockpit.cover_language = ConfigSelection(
            default=language.getActiveLanguage()[:2], choices=auto_lang_list)
        config.plugins.moviecockpit.cover_size = ConfigSelection(
            default="w500", choices=["w92", "w185", "w500", "original"])
        config.plugins.moviecockpit.backdrop_size = ConfigSelection(
            default="w1280", choices=["w300", "w780", "w1280", "original"])
        config.plugins.moviecockpit.cover_source = ConfigSelection(
            default="tvs_id", choices=choices_cover_source)
        config.plugins.moviecockpit.fake_entry = NoSave(ConfigNothing())
        config.plugins.moviecockpit.extmenu_settings = ConfigYesNo(
            default=True)
        config.plugins.moviecockpit.extmenu_plugin = ConfigYesNo(default=True)
        config.plugins.moviecockpit.epglang = ConfigSelection(
            default=language.getActiveLanguage(), choices=langListEPG())
        config.plugins.moviecockpit.sublang1 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.sublang2 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.sublang3 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.audlang1 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.audlang2 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.audlang3 = ConfigSelection(
            default=language.lang[language.getActiveLanguage()][1],
            choices=auto_lang_list)
        config.plugins.moviecockpit.autosubs = ConfigYesNo(default=False)
        config.plugins.moviecockpit.autoaudio = ConfigYesNo(default=False)
        config.plugins.moviecockpit.autoaudio_ac3 = ConfigYesNo(default=False)
        config.plugins.moviecockpit.list_start_home = ConfigYesNo(default=True)
        config.plugins.moviecockpit.list_dirs_inline = ConfigYesNo(
            default=True)
        config.plugins.moviecockpit.movie_description_delay = ConfigNumber(
            default=200)
        config.plugins.moviecockpit.list_show_mount_points = ConfigYesNo(
            default=False)
        config.plugins.moviecockpit.movie_watching_percent = ConfigSelectionNumber(
            0, 30, 1, default=10)
        config.plugins.moviecockpit.movie_finished_percent = ConfigSelectionNumber(
            50, 100, 1, default=90)
        config.plugins.moviecockpit.movie_date_format = ConfigSelection(
            default="%d.%m.%Y %H:%M", choices=choices_date)
        config.plugins.moviecockpit.movie_ignore_first_marks = ConfigYesNo(
            default=True)
        config.plugins.moviecockpit.movie_resume_at_last_pos = ConfigYesNo(
            default=True)
        config.plugins.moviecockpit.movie_start_position = ConfigSelection(
            default="event_start",
            choices=[("beginning", _("beginning")),
                     ("first_mark", _("first mark")),
                     ("event_start", _("event start"))])
        config.plugins.moviecockpit.trashcan_enable = ConfigYesNo(default=True)
        config.plugins.moviecockpit.trashcan_clean = ConfigYesNo(default=True)
        config.plugins.moviecockpit.trashcan_retention = ConfigNumber(
            default=3)
        config.plugins.moviecockpit.trashcan_show = ConfigYesNo(default=True)
        config.plugins.moviecockpit.trashcan_info = ConfigSelection(
            default="CS", choices=choices_dir_info)
        config.plugins.moviecockpit.directories_show = ConfigYesNo(
            default=True)
        config.plugins.moviecockpit.directories_info = ConfigSelection(
            default="CS", choices=choices_dir_info)
        config.plugins.moviecockpit.color = ConfigSelection(
            default="#bababa", choices=choices_color_selection)
        config.plugins.moviecockpit.color_sel = ConfigSelection(
            default="#ffffff", choices=choices_color_selection)
        config.plugins.moviecockpit.recording_color = ConfigSelection(
            default="#ff1616", choices=choices_color_recording)
        config.plugins.moviecockpit.recording_color_sel = ConfigSelection(
            default="#ff3838", choices=choices_color_recording)
        config.plugins.moviecockpit.selection_color = ConfigSelection(
            default="#cccc00", choices=choices_color_mark)
        config.plugins.moviecockpit.selection_color_sel = ConfigSelection(
            default="#ffff00", choices=choices_color_mark)
        config.plugins.moviecockpit.list_sort = ConfigSelection(
            default="0", choices=choices_sort)
        config.plugins.moviecockpit.list_style = ConfigNumber(default=3)
        config.plugins.moviecockpit.launch_key = ConfigSelection(
            default="showMovies", choices=choices_launch_key)
        config.plugins.moviecockpit.layout_screen = ConfigSelection(
            default="layout_screen_default.xml", choices=choices_layout_screen)
        config.plugins.moviecockpit.layout_button = ConfigSelection(
            default="layout_button_default.xml", choices=choices_layout_button)
        config.plugins.moviecockpit.list_bouquet_keys = ConfigSelection(
            default="", choices=choices_bouquet_keys)
        config.plugins.moviecockpit.list_skip_size = ConfigSelectionNumber(
            1, 10, 1, default=5)
        config.plugins.moviecockpit.debug_log_level = ConfigSelection(
            default="INFO", choices=log_levels.keys())
        config.plugins.moviecockpit.debug_log_path = ConfigDirectory(
            default="/media/hdd")
        config.plugins.moviecockpit.bookmarks = ConfigSet([], [])
        if not config.plugins.moviecockpit.bookmarks.value:
            config.plugins.moviecockpit.bookmarks.value = initBookmarks()
            config.plugins.moviecockpit.bookmarks.save()

        config.plugins.cachecockpit = ConfigSubsection()
        config.plugins.cachecockpit.fake_entry = NoSave(ConfigNothing())
        config.plugins.cachecockpit.archive_enable = ConfigYesNo(default=False)
        config.plugins.cachecockpit.archive_source_dir = ConfigDirectory(
            default="/media/hdd/movie")
        config.plugins.cachecockpit.archive_target_dir = ConfigDirectory(
            default="/media/hdd/movie")
        config.plugins.cachecockpit.debug_log_path = ConfigDirectory(
            default="/media/hdd")
        config.plugins.cachecockpit.debug_log_level = ConfigSelection(
            default="INFO", choices=log_levels.keys())

        checkList(config.plugins.moviecockpit.epglang)
        checkList(config.plugins.moviecockpit.sublang1)
        checkList(config.plugins.moviecockpit.sublang2)
        checkList(config.plugins.moviecockpit.sublang3)
        checkList(config.plugins.moviecockpit.audlang1)
        checkList(config.plugins.moviecockpit.audlang2)
        checkList(config.plugins.moviecockpit.audlang3)