diff --git a/run.py b/run.py index 52ecdcd..1f3aa04 100644 --- a/run.py +++ b/run.py @@ -84,7 +84,9 @@ def dw_api(): for chunk in r.iter_content(chunk_size=8192): f.write(chunk) database.add_raw(data_get) - image_processor.generate_thumb(FILE_DW_FOLDERS+"/"+file_name, THUMB_FOLDER, TARGET_MIN_SIZE) + res_data = image_processor.generate_thumb(FILE_DW_FOLDERS+"/"+file_name, THUMB_FOLDER, TARGET_MIN_SIZE) + if not res_data["status"]: + print(res_data["message"]) return jsonify({'status': 'success'}) except requests.exceptions.RequestException as e: error_message = f"Network error {image_id}: {e}" diff --git a/system_module/gelbooru.py b/system_module/gelbooru.py index 4eae091..e41897d 100644 --- a/system_module/gelbooru.py +++ b/system_module/gelbooru.py @@ -29,7 +29,12 @@ class GB: return response.json()["post"][0], url_file, file_name def get_from_md5(self, md5): - pass + params = {"page": "dapi", "s": "post", "q": "index", "json": 1, "tags":"md5:"+md5, "api_key":self.api_hash, "user_id":self.api_id} + response = requests.get(self.root_url, params=params, headers=self.HEADERS, timeout=15) + print(response.url) + url_file = response.json()["post"][0]["file_url"] + file_name = response.json()["post"][0]["image"] + return response.json()["post"][0], url_file, file_name def get_binary_file(self, id_post): pass \ No newline at end of file diff --git a/system_module/image_processor.py b/system_module/image_processor.py index b4a683b..b390ae9 100644 --- a/system_module/image_processor.py +++ b/system_module/image_processor.py @@ -2,8 +2,8 @@ import subprocess from PIL import Image import os -EXTENSIONS_IMG = ('.jpg', '.jpeg', '.png', '.gif', '.webp', '.bmp') -EXTENSIONS_VID = ('.mp4', '.webm') +EXTENSIONS_IMG = ('jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp') +EXTENSIONS_VID = ('mp4', 'webm') VALID_EXTENSIONS = EXTENSIONS_IMG + EXTENSIONS_VID def check_ffmpeg(): @@ -27,15 +27,10 @@ def video_gen(input_path_file, output_path_file, TARGET_MIN_SIZE): def image_and_gif_gen(input_path_file, output_path_file, TARGET_MIN_SIZE): with Image.open(input_path_file) as img: img_rgba = img.convert("RGBA") - background = Image.new("RGB", img_rgba.size, (255, 255, 255)) - background.paste(img_rgba, mask=img_rgba) - final_img = background - width, height = final_img.size - if width <= TARGET_MIN_SIZE and height <= TARGET_MIN_SIZE: final_img.save(output_path_file, "JPEG", quality=90) else: @@ -45,7 +40,6 @@ def image_and_gif_gen(input_path_file, output_path_file, TARGET_MIN_SIZE): else: new_height = TARGET_MIN_SIZE new_width = int(TARGET_MIN_SIZE * (width / height)) - resized_img = final_img.resize((new_width, new_height), Image.Resampling.LANCZOS) resized_img.save(output_path_file, "JPEG", quality=85) @@ -53,7 +47,7 @@ def generate_thumb(input_path_file, THUMB_FOLDER, TARGET_MIN_SIZE): ext_file = input_path_file.split(".")[-1] if ext_file not in VALID_EXTENSIONS: return {"status":False, "message":"Расширение не поддерживаеться!"} - thumb_filename = f"{input_path_file.split(".")[-2]}.jpg" + thumb_filename = f"{os.path.basename(input_path_file).split(".")[-2]}.jpg" output_path_file = os.path.join(THUMB_FOLDER, thumb_filename) if ext_file in EXTENSIONS_IMG: image_and_gif_gen(input_path_file, output_path_file, TARGET_MIN_SIZE) diff --git a/templates/index.html b/templates/index.html index ed24ec8..f912482 100644 --- a/templates/index.html +++ b/templates/index.html @@ -63,7 +63,9 @@
+