def search_for_images(root_path):
extensions = [extension for x in models.FORMAT_EXTENSIONS for extension in x[1]]
logging.debug("Looking for extensions: %s", str(extensions))
for dirname, dirnames, filenames in os.walk(root_path):
for d in dirnames[:]:
for sd in app.config["SEARCH_EXCLUDE_DIRS"]:
if re.fullmatch(sd, os.path.join(dirname, d)) is not None:
logging.debug("Skipping directory %s", os.path.join(dirname, d))
dirnames.remove(d)
break
for filename in filenames:
for sf in app.config["SEARCH_EXCLUDE_FILES"]:
if re.fullmatch(sf, os.path.join(dirname, filename)) is not None:
logging.debug("Skipping file %s", os.path.join(dirname, filename))
break
else:
if os.path.splitext(filename)[1].lower()[1:] in extensions:
yield os.path.join(dirname, filename)
评论列表
文章目录