def init(self): self.in_dir = os.environ['MFDATA_DATA_IN_DIR'] conf_file = os.path.join(os.environ['MODULE_RUNTIME_HOME'], "tmp", "config_auto", "switch.ini") if not os.path.exists(conf_file): self.error_and_die("no switch configuration file") self.condition_tuples = [] parser = ExtendedConfigParser(config=CONFIG, strict=False, inheritance='im', interpolation=None) parser.read(conf_file) sections = parser.sections() for section in sections: directory = parser.get(section, "directory").strip() plugin_name = parser.get(section, "plugin_name").strip() condition = parser.get(section, "condition").strip() magic_file = parser.get(section, "magic_file").strip() use_hardlink = parser.getboolean(section, "use_hardlink") if magic_file.lower() in ('null', 'none'): magic_file = None self.condition_tuples.append( (plugin_name, condition, directory, magic_file, use_hardlink)) self.no_match_policy = self.args.no_match_policy if self.no_match_policy not in ('keep', 'delete', 'move'): self.error_and_die("unknown no-match policy: %s", self.no_match_policy) if self.no_match_policy == "move": nmpmdd = self.args.no_match_policy_move_dest_dir if nmpmdd is None: self.error_and_die('you have to set a ' 'no-match-policy-move-dest-dir' ' in case of move no-match policy') mkdir_p_or_die(nmpmdd)