def filter_by_ignore_extension(self, target, output, extensions): """ Specific filter for selected exuensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '^(' for ext in extensions: pattern += '(?!\.{0})'.format(ext) pattern += '.)*$' newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)
def filter_by_extension(self, target, output, extensions): """ Filter list by multiple extensions :param str target: target list :param str output: output list :param list extensions: filtered extensions :return: None """ try: target_file = self.__config.get(target) output_file = self.__config.get(output) dirlist = filesystem.read(target_file) dirlist = [i.strip() for i in dirlist] pattern = '.*\.' + '|.*\.'.join(extensions) newlist = filesystem.filter_file_lines(dirlist, pattern) filesystem.makefile(output_file) filesystem.writelist(output_file, newlist, '\n') self.__counter = len(newlist) except (CoreSystemError, FileSystemError) as error: raise ReaderError(error)