示例#1
0
 def restoreConfigDefaults(self, parm_map):
     d = OptionsClass()
     d.load_defaults(defaults)
     for section, option in parm_map:
         if option is not None:
             if not options.no_restore(section, option):
                 options.set(section, option, d.get(section,option))
     options.update_file(optionsPathname)
示例#2
0
    def restoreConfigDefaults(self, parm_map):
        # note that the behaviour of this function has subtly changed:
        # previously options were removed from the config file, now the
        # config file is updated to match the defaults
        d = OptionsClass()
        d.load_defaults(defaults)

        # Only restore the settings that appear on the form.
        for section, option in parm_map:
            if option is not None:
                if not options.no_restore(section, option):
                    options.set(section, option, d.get(section,option))

        options.update_file(optionsPathname)
示例#3
0
    def onChangeopts(self, **parms):
        pmap = self.parm_ini_map
        if parms.has_key("how"):
            if parms["how"] == "Save advanced options":
                pmap = self.advanced_options_map
            del parms["how"]
        html = self._getHTMLClone()
        html.shutdownTableCell = " "
        html.mainContent = self.html.headedBox.clone()
        errmsg = self.verifyInput(parms, pmap)

        if errmsg != '':
            html.mainContent.heading = "Errors Detected"
            html.mainContent.boxContent = errmsg
            html.title = 'Home > Error'
            html.pagename = '> Error'
            self.writeOKHeaders('text/html')
            self.write(html)
            return

        for name, value in parms.items():
            sect, opt = name.split('_', 1)
            if (sect, opt) in pmap:
                options.set(sect, opt, value)
            # If a section name has an underscore in it (like html_ui)
            # the split won't work the first time
            else:
                sect2, opt = opt.split('_', 1)
                sect += '_' + sect2
                options.set(sect, opt, value)

        options.update_file(optionsPathname)
        self.reReadOptions()

        html.mainContent.heading = "Options Changed"
        html.mainContent.boxContent = "%s.  Return <a href='home'>Home</a>." \
                                      % "Options changed"
        html.title = 'Home &gt; Options Changed'
        html.pagename = '&gt; Options Changed'
        self.writeOKHeaders('text/html')
        self.write(html)
示例#4
0
 def onChangeopts(self, **parms):
     pmap = self.parm_ini_map
     if parms.has_key("how"):
         if parms["how"] == _("Save advanced options"):
             pmap = self.advanced_options_map
         elif parms["how"] == _("Save experimental options"):
             pmap = experimental_ini_map
         del parms["how"]
     html = self._getHTMLClone()
     html.shutdownTableCell = "&nbsp;"
     html.mainContent = self.html.headedBox.clone()
     errmsg = self.verifyInput(parms, pmap)
     if errmsg != '':
         html.mainContent.heading = _("Errors Detected")
         html.mainContent.boxContent = errmsg
         html.title = _('Home &gt; Error')
         html.pagename = _('&gt; Error')
         self.writeOKHeaders('text/html')
         self.write(html)
         return
     old_database_type = options["Storage", "persistent_use_database"]
     old_name = options["Storage", "persistent_storage_file"]
     for name, value in parms.items():
         sect, opt = name.split('_', 1)
         if (sect, opt) in pmap:
             options.set(sect, opt, value)
         else:
             sect2, opt = opt.split('_', 1)
             sect += '_' + sect2
             options.set(sect, opt, value)
     options.update_file(optionsPathname)
     if options["Storage", "persistent_use_database"] != \
        old_database_type and os.path.exists(old_name):
         new_name = options["Storage", "persistent_storage_file"]
         new_type = options["Storage", "persistent_use_database"]
         self.close_database()
         try:
             os.remove(new_name + ".tmp")
         except OSError:
             pass
         storage.convert(old_name, old_database_type,
                         new_name + ".tmp", new_type)
         if os.path.exists(new_name):
             try:
                 os.remove(new_name + ".old")
             except OSError:
                 pass
             os.rename(new_name, new_name + ".old")
         os.rename(new_name + ".tmp", new_name)
         if os.path.exists(options["Storage",
                                   "messageinfo_storage_file"]):
             try:
                 os.remove(options["Storage",
                                   "messageinfo_storage_file"] + ".old")
             except OSError:
                 pass
             os.rename(options["Storage", "messageinfo_storage_file"],
                       options["Storage",
                               "messageinfo_storage_file"] + ".old")
     self.reReadOptions()
     html.mainContent.heading = _("Options Changed")
     html.mainContent.boxContent = _("Options changed.  Return " \
                                     "<a href='home'>Home</a>.")
     html.title = _('Home &gt; Options Changed')
     html.pagename = _('&gt; Options Changed')
     self.writeOKHeaders('text/html')
     self.write(html)