Exemple #1
0
 def __init__(self, default=None):
     if not default:
         default = [128, 128, 128]
     ConfigSequence.__init__(self,
                             seperator="#",
                             limits=[(0, 255), (0, 255), (0, 255)],
                             default=default)
Exemple #2
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 = ""
Exemple #3
0
	def __init__(self, default = [128,128,128]):
		ConfigSequence.__init__(self, seperator = "#", limits = [(0,255),(0,255),(0,255)], default = default)
Exemple #4
0
 def __init__(self, default):
     ConfigSequence.__init__(self,
                             seperator=".",
                             limits=[(1, 65535)],
                             default=default)
 def __init__(self, default=[128, 128, 128]):
     ConfigSequence.__init__(self,
                             seperator="#",
                             limits=[(0, 255), (0, 255), (0, 255)],
                             default=default)
Exemple #6
0
	def __init__(self, default):
		ConfigSequence.__init__(self, seperator = ".", limits = [(1,65535)], default = default)
Exemple #7
0
	def __init__(self, default=None):
		if not default: default = [128, 128, 128]
		ConfigSequence.__init__(self, seperator = "#", limits = [(0,255),(0,255),(0,255)], default = default)
Exemple #8
0
def loadDefaults():
    config.plugins.MyMetrix = ConfigSubsection()
    config.plugins.MyMetrix.Color = ConfigSubsection()
    config.plugins.MetrixWeather = ConfigSubsection()
    config.plugins.MetrixUpdater = ConfigSubsection()
    config.plugins.MyMetrix.Store = ConfigSubsection()
    config.plugins.MetrixConnect = ConfigSubsection()
    config.plugins.MetrixCloudSync = ConfigSubsection()

    config.plugins.MyMetrix.templateFile = ConfigSelection(
        choices=getTemplateFiles())
    config.plugins.MyMetrix.showFirstRun = ConfigYesNo(default=showFirstRun())
    config.plugins.MyMetrix.logLevel = ConfigSelection(default="off",
                                                       choices=[
                                                           ("off", _("Off")),
                                                           ("on", _("On")),
                                                           ("debug",
                                                            _("Debug"))
                                                       ])
    config.plugins.MyMetrix.showInMainMenu = ConfigYesNo(default=True)
    #CONNECT
    config.plugins.MetrixConnect.PIN = ConfigNumber()
    config.plugins.MetrixConnect.auth_session = ConfigText()
    config.plugins.MetrixConnect.auth_token = ConfigText(default="None")
    config.plugins.MetrixConnect.auth_id = ConfigText()
    config.plugins.MetrixConnect.username = ConfigText(
        default=_("Not connected"))

    #General

    config.plugins.MetrixUpdater.refreshInterval = ConfigSelectionNumber(
        10, 1440, 10, default=30)
    config.plugins.MetrixUpdater.UpdateAvailable = ConfigNumber(default=0)
    config.plugins.MetrixUpdater.Reboot = ConfigNumber(default=0)
    config.plugins.MetrixUpdater.RebootRequired = ConfigYesNo(default=False)
    config.plugins.MetrixUpdater.Open = ConfigNumber(default=0)
    config.plugins.MetrixUpdater.UpdatePopup_SkinParts = ConfigYesNo(
        default=False)
    config.plugins.MetrixUpdater.UpdatePopup_Packages = ConfigYesNo(
        default=False)
    config.plugins.MetrixUpdater.UpdatePopup_Self = ConfigYesNo(default=False)
    config.plugins.MetrixUpdater.UpdatePopup_Reboot = ConfigYesNo(
        default=False)
    config.plugins.MyMetrix.Store.Author = ConfigText(default="Unknown",
                                                      fixed_size=False)
    config.plugins.MyMetrix.Store.SkinPart_Developer = ConfigYesNo(
        default=False)
    config.plugins.MyMetrix.Store.Plugin_Developer = ConfigYesNo(default=False)
    config.plugins.MyMetrix.Store.IgnoreRestrictions = ConfigYesNo(
        default=False)
    config.plugins.MyMetrix.Store.Designname = ConfigText(default="MyDesign",
                                                          fixed_size=False)

    config.plugins.MyMetrix.Color.ProgressBar = ConfigMetrixBarColors(
        "#00ffffff")
    config.plugins.MyMetrix.Color.Selection = ConfigMetrixColors("#00149baf")
    config.plugins.MyMetrix.Color.Background = ConfigMetrixColors("#00000000")
    config.plugins.MyMetrix.Color.Foreground = ConfigMetrixColors("#00ffffff")
    config.plugins.MyMetrix.Color.Background2 = ConfigMetrixColors("#00149baf")
    config.plugins.MyMetrix.Color.Accent1 = ConfigMetrixColors("#00bbbbbb")
    config.plugins.MyMetrix.Color.Accent2 = ConfigMetrixColors("#00999999")
    config.plugins.MyMetrix.Color.BackgroundText = ConfigMetrixColors(
        "#00ffffff")

    config.plugins.MyMetrix.Color.Background_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[0, 0, 0])
    config.plugins.MyMetrix.Color.Selection_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[20, 155, 175])
    config.plugins.MyMetrix.Color.Background2_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[17, 17, 17])
    config.plugins.MyMetrix.Color.Foreground_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[255, 255, 255])
    config.plugins.MyMetrix.Color.BackgroundText_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[255, 255, 255])
    config.plugins.MyMetrix.Color.Accent1_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[187, 187, 187])
    config.plugins.MyMetrix.Color.Accent2_Custom = ConfigSequence(
        seperator=",",
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[153, 153, 153])

    config.plugins.MyMetrix.Color.SkinPartImagesNegate = ConfigYesNo(
        default=False)
    config.plugins.MyMetrix.Color.SkinPartImagesGreyscale = ConfigYesNo(
        default=False)
    config.plugins.MyMetrix.Color.SkinPartImagesDepth = ConfigSelection(
        default=getColorDepth(),
        choices=[("8bit", "8 Bit"), ("Original", "Original")])
    #MetrixWeather
    config.plugins.MyMetrix.Color.BackgroundTransparency = ConfigSelectionNumber(
        0, 255, 10, default=60, wraparound=False)
    config.plugins.MyMetrix.Color.SelectionTransparency = ConfigSelectionNumber(
        0, 255, 10, default=0, wraparound=False)
    config.plugins.MyMetrix.Color.BackgroundTextTransparency = ConfigSelectionNumber(
        0, 255, 10, default=220, wraparound=False)
    config.plugins.MyMetrix.Color.BackgroundMode = ConfigSelection(
        default="Dynamic", choices=[("Dynamic", _("Dynamic"))] + BASIC_COLORS)

    config.plugins.MyMetrix.AutoUpdate = ConfigYesNo(default=True)
    config.plugins.MyMetrix.AutoUpdateSkinParts = ConfigYesNo(default=True)
    config.plugins.MyMetrix.AutoUpdatePlugins = ConfigYesNo(default=True)

    config.plugins.MyMetrix.ActiveXPicon = ConfigYesNo(default=True)
    config.plugins.MyMetrix.XPiconsOverwrite = ConfigYesNo(default=False)
    config.plugins.MyMetrix.XPiconsRepository = ConfigNumber(default=611)
    config.plugins.MyMetrix.XPiconsRepositoryName = ConfigText(
        default="XPicons Default")
    config.plugins.MyMetrix.XPiconsPath = ConfigSelection(
        default="/usr/share/enigma2/",
        choices=[("/usr/share/enigma2/", _("Internal")),
                 ("/media/usb/", _("USB")), ("/media/hdd/", _("HDD")),
                 ("/media/cf/", _("CF"))])
    config.plugins.MyMetrix.PiconSizes = ConfigSelection(
        default="220:XPicon/picon/",
        choices=[("220:XPicon/picon/", "XPicons"),
                 ("220:XPicon/picon/,100:picon/", "XPicons, Picons"),
                 ("220:XPicon/picon/,100:picon/,50:picon5030/",
                  "XPicons, Picons, Small Picons"),
                 ("220:XPicon/picon/,50:picon5030/", "XPicons, Small Picons")])
    config.plugins.MyMetrix.PiconDepth = ConfigSelection(
        default=getColorDepth(),
        choices=[("8bit", "8 Bit"), ("Original", "Original")])
    config.plugins.MyMetrix.SkinPartPath = ConfigSelection(
        default=PLUGIN_DIR + "skinparts/",
        choices=[(PLUGIN_DIR + "skinparts/", _("Internal")),
                 ("/media/usb/skinparts/", _("USB")),
                 ("/media/hdd/skinparts/", _("HDD")),
                 ("/media/cf/skinparts/", _("CF"))])
    config.plugins.MyMetrix.Templates = ConfigSelection(
        choices=getTemplateFiles())
    config.plugins.MyMetrix.SkinName = ConfigText(default="MySkin",
                                                  fixed_size=False)
    config.plugins.MyMetrix.CleanInfoBar = ConfigYesNo(default=True)

    config.plugins.MetrixCloudSync.SyncBoxInfo = ConfigYesNo(default=True)
    config.plugins.MetrixCloudSync.SyncProgramInfo = ConfigYesNo(default=False)
    config.plugins.MetrixCloudSync.SyncNetworkInfo = ConfigYesNo(default=False)
    config.plugins.MetrixCloudSync.SyncHardwareInfo = ConfigYesNo(
        default=False)
    config.plugins.MetrixCloudSync.SyncSkinParts = ConfigYesNo(default=False)
    config.plugins.MetrixCloudSync.SyncPackages = ConfigYesNo(default=False)
    config.plugins.MetrixCloudSync.SyncEPG = ConfigYesNo(default=False)
    config.plugins.MetrixCloudSync.SyncLogs = ConfigYesNo(default=False)

    config.plugins.MetrixWeather = ConfigSubsection()
    config.plugins.MetrixWeather.woeid = ConfigNumber(
        default="640161")  #Location (visit metrixhd.info)
    config.plugins.MetrixWeather.tempUnit = ConfigSelection(
        default="Celsius",
        choices=[("Celsius", _("Celsius")), ("Fahrenheit", _("Fahrenheit"))])
    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")

    config.plugins.save()
    configfile.save()

    return config
Exemple #9
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"
     ]
     choicelist = iso639language.getChoices()
     self.settings.menulang = ConfigSelection(choicelist,
                                              default=choicelist[1][0])
     tvsys = config.av.tvsystem
     if tvsys not in ("pal", "ntsc"):
         tvsys = "pal"
     self.settings.video_format = ConfigSelection(choices={
         "pal": _("PAL"),
         "ntsc": _("NTSC")
     },
                                                  default=tvsys)
     self.error = ""
Exemple #10
0
def loadDefaults():
    config.plugins.MyMetrix = ConfigSubsection()
    config.plugins.MyMetrix.Color = ConfigSubsection()
    config.plugins.MetrixWeather = ConfigSubsection()
    config.plugins.MetrixUpdater = ConfigSubsection()
    config.plugins.MyMetrix.Store = ConfigSubsection()
    config.plugins.MetrixConnect = ConfigSubsection()
    config.plugins.MyMetrix.templateFile = ConfigSelection(
        default='MetrixHD_Openplus_Mod_by_VillaK.xml',
        choices=getTemplateFiles())
    config.plugins.MyMetrix.showFirstRun = ConfigSelection(default='0',
                                                           choices=[
                                                               ('1', _('Yes')),
                                                               ('0', _('No'))
                                                           ])
    config.plugins.MetrixConnect.PIN = ConfigNumber()
    config.plugins.MetrixConnect.auth_session = ConfigText()
    config.plugins.MetrixConnect.auth_token = ConfigText(default='None')
    config.plugins.MetrixConnect.auth_id = ConfigText()
    config.plugins.MetrixConnect.username = ConfigText(
        default=_('Not connected'))
    config.plugins.MetrixUpdater.refreshInterval = ConfigSelectionNumber(
        10, 1440, 10, default=30)
    config.plugins.MetrixUpdater.UpdateAvailable = ConfigNumber(default=0)
    config.plugins.MetrixUpdater.Reboot = ConfigNumber(default=0)
    config.plugins.MetrixUpdater.Revision = ConfigNumber(default=1000)
    config.plugins.MyMetrix.Store.Author = ConfigText(default='Unknown',
                                                      fixed_size=False)
    config.plugins.MyMetrix.Store.Designname = ConfigText(default='MyDesign',
                                                          fixed_size=False)
    config.plugins.MyMetrix.Color.ProgressBar = ConfigMetrixBarColors(
        '#00a61d4d')
    config.plugins.MyMetrix.Color.Selection = ConfigMetrixColors('#000050EF')
    config.plugins.MyMetrix.Color.Background = ConfigMetrixColors('#00000000')
    config.plugins.MyMetrix.Color.Foreground = ConfigMetrixColors('#00F0A30A')
    config.plugins.MyMetrix.Color.Background2 = ConfigMetrixColors('#0000236b')
    config.plugins.MyMetrix.Color.Accent1 = ConfigMetrixColors('#00ffffff')
    config.plugins.MyMetrix.Color.Accent2 = ConfigMetrixColors('#00ffffff')
    config.plugins.MyMetrix.Color.BackgroundText = ConfigMetrixColors(
        '#00ffffff')
    config.plugins.MyMetrix.Color.Background_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[0, 0, 0])
    config.plugins.MyMetrix.Color.Selection_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[20, 155, 175])
    config.plugins.MyMetrix.Color.Background2_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[17, 17, 17])
    config.plugins.MyMetrix.Color.Foreground_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[255, 255, 255])
    config.plugins.MyMetrix.Color.BackgroundText_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[255, 255, 255])
    config.plugins.MyMetrix.Color.Accent1_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[187, 187, 187])
    config.plugins.MyMetrix.Color.Accent2_Custom = ConfigSequence(
        seperator=',',
        limits=[(0, 255), (0, 255), (0, 255)],
        default=[153, 153, 153])
    config.plugins.MyMetrix.Color.BackgroundTransparency = ConfigSelectionNumber(
        0, 255, 10, default=60, wraparound=False)
    config.plugins.MyMetrix.Color.SelectionTransparency = ConfigSelectionNumber(
        0, 255, 10, default=0, wraparound=False)
    config.plugins.MyMetrix.Color.BackgroundTextTransparency = ConfigSelectionNumber(
        0, 255, 10, default=220, wraparound=False)
    config.plugins.MyMetrix.AutoUpdate = ConfigSelection(default='1',
                                                         choices=[
                                                             ('1', _('On')),
                                                             ('0', _('Off'))
                                                         ])
    config.plugins.MyMetrix.AutoUpdateSkinParts = ConfigSelection(
        default='1', choices=[('1', _('On')), ('0', _('Off'))])
    config.plugins.MetrixWeather = ConfigSubsection()
    config.plugins.MetrixWeather.refreshInterval = ConfigNumber(default=10)
    config.plugins.MetrixWeather.tempUnit = ConfigSelection(
        default='Celsius',
        choices=[('Celsius', _('Celsius')), ('Fahrenheit', _('Fahrenheit'))])
    config.plugins.MetrixWeather = ConfigSubsection()
    config.plugins.MetrixWeather.refreshInterval = ConfigNumber(default='10')
    config.plugins.MetrixWeather.tempUnit = ConfigSelection(
        default='Celsius',
        choices=[('Celsius', _('Celsius')), ('Fahrenheit', _('Fahrenheit'))])
    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')
    config.plugins.yweather = ConfigSubsection()
    config.plugins.yweather.weather_city = ConfigNumber(default='753692')
    config.plugins.save()
    configfile.save()
    return config