def find(self, details, filter=None): self.stop() matcher = make_matcher(details.find, case_sensitive=details.case, is_regexp=details.regexp) self.start_time = time.time() self.details = details self.finder = Search(details.path, matcher, output=self, filter=filter) async_call(self.finder.search) self.Clear() self.output.start()
def find(self, details): self.stop() matcher = make_matcher(details.find, case_sensitive=details.case, is_regexp=details.regexp) if details.hidden: def dir_filter(info): return True else: def dir_filter(info): return bool(not info.hidden and not re_hidden_dirs.match(info.filename)) if details.file_patterns.strip(): file_pattern_re = compile_file_patterns(details.file_patterns) if details.hidden: def file_filter(info): return bool(file_pattern_re.match(info.filename)) else: def file_filter(info): return bool(not info.hidden and not re_hidden_files.match(info.filename) and file_pattern_re.match(info.filename)) else: if details.hidden: def file_filter(info): return True else: def file_filter(info): return bool(not info.hidden and not re_hidden_files.match(info.filename)) self.start_time = time.time() self.details = details self.finder = Search(details.path, matcher, output=self, file_filter=file_filter, dir_filter=dir_filter) async_call(self.finder.search) self.Clear() self.output.start()