コード例 #1
0
    def import_settings_from_db(self):
        """
        Read configuration from DB.
        If configuration does not yet exist, create it first.

        Configuration is applied to this class with uppercase field names
        for the sake of simplifying reading throughout the rest of the application.

        :return:
        """
        # Fetch current settings (create it if nothing yet exists)
        db_settings = unmodels.Settings()
        # If there is no DB connection just create an empty settings model
        if self.db_connection:
            try:
                # Fetch a single row (get() will raise DoesNotExist exception if no results are found)
                self.settings = db_settings.select().limit(1).get()
            except:
                # Create settings (defaults will be applied)
                self.settings = db_settings.create()
        else:
            self.settings = self.get_empty_settings_model()
        # Check if key is a valid setting
        current_settings = self.get_config_as_dict()
        for setting in current_settings:
            # Import settings
            self.set_config_item(setting.upper(),
                                 current_settings[setting],
                                 save_settings=False)
コード例 #2
0
 def get_empty_settings_model(self):
     """
     Return a settings Model object
     :return:
     """
     if self.settings:
         return self.settings
     else:
         # Fetch blank settings Model object
         return unmodels.Settings()