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)
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)
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 > Options Changed' html.pagename = '> Options Changed' self.writeOKHeaders('text/html') self.write(html)
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 = " " 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 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 > Options Changed') html.pagename = _('> Options Changed') self.writeOKHeaders('text/html') self.write(html)