From 8eb05424fdf05ddf3aa681863976161f4f24faaf Mon Sep 17 00:00:00 2001 From: KnugiHK <24708955+KnugiHK@users.noreply.github.com> Date: Sun, 8 Oct 2023 11:42:39 +0800 Subject: [PATCH] Support preservation of file timestamp for encrypted backup --- Whatsapp_Chat_Exporter/extract_iphone_media.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Whatsapp_Chat_Exporter/extract_iphone_media.py b/Whatsapp_Chat_Exporter/extract_iphone_media.py index af7b1bd..8fa0f65 100644 --- a/Whatsapp_Chat_Exporter/extract_iphone_media.py +++ b/Whatsapp_Chat_Exporter/extract_iphone_media.py @@ -16,7 +16,7 @@ else: support_encrypted = True -def extract_encrypted(base_dir, password, identifiers, preserve_timestamp): +def extract_encrypted(base_dir, password, identifiers, bplist_reader=None): backup = EncryptedBackup(backup_directory=base_dir, passphrase=password, cleanup=False, check_same_thread=False) print("Decrypting WhatsApp database...", end="") try: @@ -37,7 +37,7 @@ def extract_encrypted(base_dir, password, identifiers, preserve_timestamp): print("Done") extract_thread = threading.Thread( target=backup.extract_files_by_domain, - args=(identifiers.DOMAIN, identifiers.DOMAIN) + args=(identifiers.DOMAIN, identifiers.DOMAIN, bplist_reader) ) extract_thread.daemon = True extract_thread.start() @@ -70,9 +70,10 @@ def is_encrypted(base_dir): return False -def extract_media(base_dir, identifiers, preserve_timestamp): +def extract_media(base_dir, identifiers, preserve_timestamp=False): if preserve_timestamp: - from Whatsapp_Chat_Exporter.bplist import BPListReader + from Whatsapp_Chat_Exporter.bplist import BPListReader + preserve_timestamp = BPListReader if is_encrypted(base_dir): if not support_encrypted: print("You don't have the dependencies to handle encrypted backup.")