From 837508f5e758ae964d264028b6e408af6cdb8f34 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Fri, 7 May 2021 21:31:29 -0500 Subject: [PATCH] Bugfixes --- tibi_hardlinks/__init__.py | 1 + tibi_hardlinks/backups.py | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/tibi_hardlinks/__init__.py b/tibi_hardlinks/__init__.py index abf958e..ab3d419 100644 --- a/tibi_hardlinks/__init__.py +++ b/tibi_hardlinks/__init__.py @@ -19,6 +19,7 @@ def hardlink_all_files(files, dry=False): dest_dir = create_backup_directory_name( backup.backup_info, CONFIG_DATA["customization"]["time_format"] ) + dest_dir = Path(CONFIG_DATA["output"]["output_root"]) / dest_dir if dry: print(f"mkdir: {dest_dir}") else: diff --git a/tibi_hardlinks/backups.py b/tibi_hardlinks/backups.py index 0307e1d..382ad61 100644 --- a/tibi_hardlinks/backups.py +++ b/tibi_hardlinks/backups.py @@ -14,18 +14,23 @@ HEIRACHY = ( def create_backup_directory_name(backup_info, time_format="%Y-%m-%d_%H-%M-%S"): + mod_info = backup_info.copy() utc_timestamp = backup_info["backup_time"] backup_datetime = datetime.datetime.utcfromtimestamp(utc_timestamp) try: new_time = backup_datetime.strftime(time_format) assert backup_datetime == datetime.datetime.strptime(new_time, time_format) - backup_info["backup_time"] = new_time + mod_info["backup_time"] = new_time except (ValueError, AssertionError): raise ConfigurationException("customization", "time_format", time_format) backup_directory_name = Path("") for part in HEIRACHY: - data = backup_info[part] + try: + data = mod_info[part] + except KeyError: + if part in ("app_label"): + data = mod_info["app_gui_label"] if len(data) == 0: data = "DEFAULT" backup_directory_name /= data @@ -38,10 +43,12 @@ def find_backup_data(property_file: Path, backup_info): backup_root = property_file.parent try: apk_hash = backup_info["app_apk_md5"] - apk_file = filter( - lambda apk_file: apk_hash in apk_file.name, backup_root.glob("*.apk*") + apk_file = next( + filter( + lambda apk_file: apk_hash in apk_file.name, backup_root.glob("*.apk*") + ) ) - except KeyError: + except (KeyError, StopIteration): apk_file = None related_files = list(backup_root.glob(property_file.stem + "*")) if len(related_files) > 2: