diff --git a/tests/test_create_filenames.py b/tests/test_create_filenames.py new file mode 100644 index 0000000..b0c1e85 --- /dev/null +++ b/tests/test_create_filenames.py @@ -0,0 +1,15 @@ +import pytest +from tibi_hardlinks.filename_creation import create_backup_directory_name + + +@pytest.mark.usefixtures("canned_data_output") +@pytest.mark.parametrize("filename", ["example-old", "example-new"]) +def test_filename_good(filename, canned_data_output): + data = canned_data_output(filename) + filenames = { + "example-old": "XT1095/TA44909SO3/QPython3/1.0.3/2017-11-01_07-38-42", + "example-new": "OnePlus 7 Pro/7ea4c847/Luis.Babyphone/2.0.72/2020-10-30_09-12-41", + } + + generated_filename = create_backup_directory_name(data) + assert filenames[filename] == generated_filename diff --git a/tibi_hardlinks/filename_creation.py b/tibi_hardlinks/filename_creation.py new file mode 100644 index 0000000..06b6476 --- /dev/null +++ b/tibi_hardlinks/filename_creation.py @@ -0,0 +1,24 @@ +import datetime +import os + +HEIRACHY = ( + "sys_ro.product.model", + "sys_ro.serialno", + "app_label", + "app_version_name", + "backup_time", +) + + +def create_backup_directory_name(backup_info, time_format="%Y-%m-%d_%H-%M-%S"): + utc_timestamp = backup_info["backup_time"] + backup_datetime = datetime.datetime.utcfromtimestamp(utc_timestamp) + backup_info["backup_time"] = backup_datetime.strftime(time_format) + ret_list = [] + for part in HEIRACHY: + data = backup_info[part] + if len(data) == 0: + data = "DEFAULT" + ret_list.append(data) + + return os.path.join("", *ret_list)