Documentation, cleanup
This commit is contained in:
@@ -1,15 +1,60 @@
|
||||
import os
|
||||
|
||||
class Images:
|
||||
""" Class for image operations
|
||||
"""
|
||||
def __init__(self) -> None:
|
||||
pass
|
||||
|
||||
|
||||
def get_images_from_folder(self, URI: str) -> list:
|
||||
""" List all images in a folder
|
||||
|
||||
Args:
|
||||
URI (str): Absolute path of the folder
|
||||
|
||||
Returns:
|
||||
list: List of file names which are images
|
||||
"""
|
||||
items = []
|
||||
|
||||
for file in os.listdir(URI):
|
||||
if file.endswith("jpg") or file.endswith("jpeg") or file.endswith("png") or file.endswith("bmp"):
|
||||
if file.endswith(("jpg", "jpeg", "png", "bmp", "svg")):
|
||||
items.append(file)
|
||||
|
||||
items.sort()
|
||||
return items
|
||||
return items
|
||||
|
||||
|
||||
def extract_heic_file(self, file_uri: str) -> bool:
|
||||
""" Extract a heic file to an internal folder
|
||||
|
||||
Args:
|
||||
file_uri (str): Absolute path to the heic file
|
||||
|
||||
Returns:
|
||||
bool: Extraction was successful
|
||||
"""
|
||||
try:
|
||||
extract_folder = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir)) + \
|
||||
"/images/extracted_images/"
|
||||
|
||||
file_name: str = file_uri[file_uri.rfind("/") + 1:]
|
||||
file_name = file_name[:file_name.rfind(".")]
|
||||
|
||||
# Create the buffer folder if its not existing
|
||||
try:
|
||||
os.mkdir(extract_folder)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Cleanup the folder
|
||||
for file in self.get_images_from_folder(extract_folder):
|
||||
os.remove(extract_folder + file)
|
||||
|
||||
# Extract the HEIC file
|
||||
os.system("heif-convert '" + file_uri + "' '" + extract_folder + file_name + ".jpg'")
|
||||
|
||||
return True
|
||||
except:
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user