Compare commits

...

2 Commits

2 changed files with 16 additions and 12 deletions

View File

@ -65,11 +65,14 @@ function create_thumbnail(string $category, string $file): string | null {
$path = add_seperator_ab("/", $category, $file); $path = add_seperator_ab("/", $category, $file);
$original_file = ROOT_DIR.IMG_DIR.$path; $original_file = ROOT_DIR.IMG_DIR.$path;
$thumbnail_directory = ROOT_DIR.THUMBNAIL_DIR.IMG_DIR.add_seperator_ab("/", $category, ""); $hash = hash_file("sha1", $original_file);
$thumbnail_file = $thumbnail_directory.$file;
$thumbnail_directory = ROOT_DIR.THUMBNAIL_DIR;
$thumbnail_name = "$hash.jpg";
$thumbnail_file = $thumbnail_directory.$thumbnail_name;
if (file_exists($thumbnail_file)) { if (file_exists($thumbnail_file)) {
log_print("$thumbnail_file exists, skipping generation"); log_print("thumbnail for $original_file exists, skipping generation");
goto return_thumbnail; goto return_thumbnail;
} }
@ -80,16 +83,16 @@ function create_thumbnail(string $category, string $file): string | null {
log_error($e->getMessage()); log_error($e->getMessage());
} }
log_print(THUMBNAIL_SCRIPT." '$original_file' '$thumbnail_file'"); log_print("generating thumbnail for $original_file");
$output = shell_exec(THUMBNAIL_SCRIPT." '$original_file' '$thumbnail_file' 2>&1"); $output = shell_exec(THUMBNAIL_SCRIPT." '$original_file' '$thumbnail_file' 2>&1");
log_print($output); if ($output) log_print($output);
if ($output === false) { if ($output === false) {
log_error("Thumbnail failed"); log_error("Thumbnail failed");
return ROOT_URL.IMG_DIR.$path; return ROOT_URL.IMG_DIR.$path;
} }
return_thumbnail: return_thumbnail:
return ROOT_URL.THUMBNAIL_DIR.IMG_DIR.$path; return ROOT_URL.THUMBNAIL_DIR.$thumbnail_name;
} }
function add_seperator_ab(string $separator, string $a, string $b): string { function add_seperator_ab(string $separator, string $a, string $b): string {

View File

@ -4,15 +4,13 @@ import sys
def main(): def main():
target_width = 2048
argn = len(sys.argv) argn = len(sys.argv)
if argn == 1: if argn == 1:
print("You must specify an input file") print("Error: You must specify an input file")
exit(1) exit(1)
elif argn == 2: elif argn == 2:
print("You must specify an output file") print("Error: You must specify an output file")
exit(1) exit(1)
input_image_path = sys.argv[1] input_image_path = sys.argv[1]
@ -21,10 +19,12 @@ def main():
try: try:
image = Image.open(input_image_path) image = Image.open(input_image_path)
except IOError: except IOError:
print(f"Cannot open image file {input_image_path}") print(f"Error: Cannot open image file {input_image_path}")
image.close()
exit(1) exit(1)
width, height = image.size width, height = image.size
target_width = int(max(width/4, 1280))
new_height = int(target_width * height / width) new_height = int(target_width * height / width)
image = image.resize((target_width, new_height), Image.Resampling.BICUBIC) image = image.resize((target_width, new_height), Image.Resampling.BICUBIC)
@ -37,7 +37,8 @@ def main():
try: try:
image.save(output_image_path, **kwargs) image.save(output_image_path, **kwargs)
except IOError: except IOError:
print(f"Cannot save file {output_image_path}") print(f"Error: Cannot save file {output_image_path}")
image.close()
exit(1) exit(1)