Exemplo n.º 1
0
 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)