示例#1
0
 def merge_defn_dict(self, _defn_dict):
     """ Merges a definition file into the current object
     """
     self.config_defn = utils.merge_dict(self.config_defn, _defn_dict)
     self.update_restricted_items(_defn_dict)
     if self.db is not None:
         self.save_defn_to_db(_defn_dict)
示例#2
0
 def get_default_config(self):
     """
     JSON format: [module]['sections'][section]['settings'][setting][metadata]
     section is the section in the ini file
     setting is the name in the ini file
     """
     config_defaults = {}
     if self.db is not None:
         areas = self.get_areas()
         for area in areas:
             area_dict = self.get_defn(area)
             defaults_dict = self.get_default_config_area(area, area_dict)
             config_defaults = utils.merge_dict(config_defaults,
                                                defaults_dict)
     else:
         for area, area_dict in self.config_defn.items():
             defaults_dict = self.get_default_config_area(area, area_dict)
             config_defaults = utils.merge_dict(config_defaults,
                                                defaults_dict)
     return config_defaults
示例#3
0
 def import_manifest(self):
     try:
         json_settings = importlib.resources.read_text(self.plugin_path, PLUGIN_MANIFEST_FILE)
         settings = json.loads(json_settings)
         self.namespace = settings['name']
         self.plugin_db.save_plugin(settings)
         self.logger.debug(
             'Plugin Manifest file loaded at {}'.format(self.plugin_path))
         self.plugin_settings = utils.merge_dict(self.plugin_settings, settings, True)
     except FileNotFoundError:
         self.logger.warning(
             'PLUGIN MANIFEST FILE NOT FOUND AT {}'.format(self.plugin_path))
示例#4
0
 def merge_defn_obj(self, _defn_obj):
     """ will merge and terminate defn object
     """
     self.config_defn = utils.merge_dict(self.config_defn,
                                         _defn_obj.config_defn)
     self.update_restricted_items(_defn_obj.config_defn)
示例#5
0
 def merge_config(self, _delta_config_dict):
     self.data = utils.merge_dict(self.data,
                                  _delta_config_dict,
                                  ignore_conflicts=True)