class CryptoBoxWebserverSettings: '''this is the motherclass of all cbx site settings put the stuff in here, that every site will need access to''' def setSettings(self, website): '''fills a dictionary with values from the configfile There may also be set some useful standards here.''' website.settings={} #TODO: this is nessessary since the last config split in different sections ## put all found WebSettings values in the dictionary ## RFC: arbitrarily importing all available keys does not sound very secure [l] ## RFC: settings with the same names in different sections (Log, Main, ...) will collide silently - right? [l] for key in self.cbxPrefs["WebSettings"].keys(): website.settings["Settings."+key] = self.cbxPrefs["WebSettings"][key] ## also all Log values for key in self.cbxPrefs["Log"].keys(): website.settings["Log."+key] = self.cbxPrefs["Log"][key] ## also Main for key in self.cbxPrefs["Main"].keys(): website.settings["Settings."+key] = self.cbxPrefs["Main"][key] ## Locations dito for key in self.cbxPrefs["Locations"].keys(): website.settings["Settings."+key] = self.cbxPrefs["Locations"][key] ## put available languages also in the dictionary website.settings["Settings.AvailableLanguages"] = self.getAvailableLanguages() website.settings["Settings.AvailableDocLanguages"] = self.getAvailableDocLanguages() #self.log.info(self.settings) def print_foo(self): '''a stupid demo method if there are methods necessary for more than one site, put them in here like this stupid demo''' self.log.info("'print_foo' was called by some site and triggerd an inheritated method") self.cbx_inheritance_test("fooooooooooooobaaaaaaaaaaaaaaaaaaaar")