[docs]defget_images_from_folder(folder_path:str)->List[str]:"""Get all image files from the specified folder."""valid_extensions=[".jpg",".jpeg",".png",".bmp",".gif"]images=[os.path.join(folder_path,f)forfinos.listdir(folder_path)ifos.path.splitext(f)[1].lower()invalid_extensions]returnimages
[docs]defsave_descriptions(base_dirs:str|List[str],descriptions:dict|List[dict]):ifnotisinstance(base_dirs,list):base_dirs=[base_dirs]ifnotisinstance(descriptions,list):descriptions=[descriptions]assertlen(base_dirs)==len(descriptions),"Number of base paths and descriptions do not match"fordirectory,descinzip(base_dirs,descriptions):metadata={}metadata_path=os.path.join(directory,"metadata.json")ifos.path.exists(metadata_path):metadata=load_config(metadata_path)# extend metadata.json with the new descriptionsmetadata.update(desc)withopen(metadata_path,"w")asfile:json.dump(metadata,file,indent=4)