diff --git a/bot/tfm-tb.py b/bot/tfm-tb.py index 414ed75..ee9ba20 100644 --- a/bot/tfm-tb.py +++ b/bot/tfm-tb.py @@ -119,7 +119,7 @@ def file_handler(message): def scan(message): tfm_tb.reply_to(message, "Scanning...") log.info("Scanning...") - scan_dir = "/srv/hfs/misc/tfm_temp/scan" + scan_dir = "/srv/share/hfs/misc/tfm_temp/scan" files = [] for file in os.listdir(scan_dir): new_file = {"name": file} @@ -127,7 +127,11 @@ def scan(message): if not os.path.isfile(file): continue new_file["path"] = file - exif = ljson(os.popen(f"exiftool -json \"{file}\"").read())[0] + try: + exif = ljson(os.popen(f"exiftool -json \"{file}\"").read())[0] + except Exception as e: + log.error("Error while parsing EXIF for file '%s': %s" % (file, e)) + continue dt = exif["FileModifyDate"] if "SubSecDateTimeOriginal" in exif.keys(): dt = exif["SubSecDateTimeOriginal"] @@ -140,9 +144,13 @@ def scan(message): dt = TZ.localize(datetime.strptime(dt, "%Y:%m:%d %H:%M:%S.%f")) else: try: - dt = datetime.strptime(dt, "%Y:%m:%d %H:%M:%S%z") + try: + dt = datetime.strptime(dt, "%Y:%m:%d %H:%M:%S%z") + except: + dt = TZ.localize(datetime.strptime(dt[:19], "%Y:%m:%d %H:%M:%S")) except: - dt = TZ.localize(datetime.strptime(dt, "%Y:%m:%d %H:%M:%S")) + log.error("Broken date: %s\t%s" % (new_file, dt)) + continue new_file["datetime"] = dt files.append(new_file) tfm_tb.reply_to(message, f"{len(files)} files found.")