def write_exclude_filelist()

in dynalab_cli/utils.py [0:0]


    def write_exclude_filelist(self, outfile, model_name, exclude_model=False):
        def _write_exclude_entry_safe(file, f_obj):
            if os.path.exists(os.path.join(self.root_dir, file)):
                f_obj.write(file + "\n")

        config = self.load_config()
        with open(outfile, "w") as f:
            # exclude itself
            _write_exclude_entry_safe(outfile, f)

            # all exclude files and folders
            if config["exclude"]:
                for ex in config["exclude"]:
                    _write_exclude_entry_safe(ex, f)

            # tmp dir for test
            tmp_dir = os.path.join(self.config_dir, "tmp")
            _write_exclude_entry_safe(tmp_dir, f)

            # past submissions
            _write_exclude_entry_safe(self.submission_dir, f)

            # dir for other models
            if os.path.exists(self.dynalab_dir):
                for m in os.listdir(self.dynalab_dir):
                    if m != model_name:
                        _write_exclude_entry_safe(os.path.join(self.dynalab_dir, m), f)

            if exclude_model:
                _write_exclude_entry_safe(config["checkpoint"], f)
                _write_exclude_entry_safe(config["handler"], f)