diff --git a/database.py b/database.py index 27778ac..af8e6c5 100644 --- a/database.py +++ b/database.py @@ -22,7 +22,7 @@ class Database: conn.commit() conn.close() - def is_exists(self, _id, provider) -> bool: + def is_exists(self, provider, _id) -> bool: conn = sqlite3.connect(self.db_name) c = conn.cursor() c.execute("SELECT EXISTS(SELECT 1 FROM images WHERE id=? AND provider=?)", (_id, provider)) diff --git a/metadata.py b/metadata.py index 814bf55..6efb68d 100644 --- a/metadata.py +++ b/metadata.py @@ -15,6 +15,7 @@ class Metadata: def __init__(self, dir_tmp: Path): self.dir_tmp = dir_tmp self.tmp_image_file = Path(self.dir_tmp, "tmp.jpg") + self.tmp_fallback_download_file = Path(self.dir_tmp, "dl.jpg") def process(self, url: str) -> Optional[tuple[Path, Tags]]: logging.info("Retrieving metadata for %s", url) @@ -34,8 +35,14 @@ class Metadata: w = int(r.get("image_width", "0")) h = int(r.get("image_height", "0")) if (ext not in ["jpg", "jpeg", "png", "webp"]) or w == 0 or h == 0: + logging.warning("Skipping due to unsupported extension: %s", ext) + print("\033[93mSkipping due to unsupported extension:", ext, "\033[0m") return False file_url = r.get("file_url") + if file_url is None: + logging.warning("Skipping due to an empty file url") + print("\033[93mSkipping due to an empty file url\033[0m") + return False file_size_kb = int(r.get('file_size', "0")) / 1024 logging.info("Downloading image") diff --git a/picsorter.py b/picsorter.py index 2e72ff9..d966419 100644 --- a/picsorter.py +++ b/picsorter.py @@ -43,10 +43,12 @@ class PicSorter: filename = datetime.now().strftime('%Y-%m-%d.log') logfile = Path(dir_logs, filename) logging.basicConfig( - filename=os.fspath(logfile), level=logging.INFO, format='%(asctime)s %(levelname)s %(module)s: %(message)s', datefmt='%H:%M:%S', + handlers=[ + logging.FileHandler(os.fspath(logfile)) + ] ) def process(self, inputs: list[str]) -> None: @@ -116,7 +118,7 @@ class PicSorter: return True def __show_path(self, p: str) -> None: - print("Saved to", 'file://' + p.replace(' ', '%20')) + print("\033[92mSaved to", 'file://' + p.replace(' ', '%20'), "\033[0m") if __name__ == '__main__':