Browse Source

Bugfixes

master
Raphael Roberts 5 years ago
parent
commit
837508f5e7
  1. 1
      tibi_hardlinks/__init__.py
  2. 17
      tibi_hardlinks/backups.py

1
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:

17
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:

Loading…
Cancel
Save