From b63846a3e6e7c037aca2419edf4c2e7a91d2ea75 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Fri, 7 May 2021 16:33:50 -0500 Subject: [PATCH] Added things necessary to make the script run --- setup.py | 3 ++- tibi_hardlinks/__init__.py | 31 +++++++++++++++++++++++++++++++ tibi_hardlinks/__main__.py | 4 ++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 tibi_hardlinks/__main__.py diff --git a/setup.py b/setup.py index 72c0d05..fed1f4b 100644 --- a/setup.py +++ b/setup.py @@ -10,6 +10,7 @@ setup( install_requires=INSTALL_REQUIRES, author="Raphael Roberts", author_email="raphael.roberts48@gmail.com", - packages=find_packages(), + packages=["tibi_hardlinks"], + entry_points={"console_scripts": ["tibi-hardlinks = tibi_hardlinks:main"]}, package_data={"tibi_hardlinks": ["config.yml"]}, ) diff --git a/tibi_hardlinks/__init__.py b/tibi_hardlinks/__init__.py index e69de29..428f503 100644 --- a/tibi_hardlinks/__init__.py +++ b/tibi_hardlinks/__init__.py @@ -0,0 +1,31 @@ +from argparse import ArgumentParser +from pathlib import Path + +from tibi_hardlinks.config import CONFIG_DATA +from tibi_hardlinks.backups import Backup, create_backup_directory_name + + +def find_all_property_files(): + for path in map(Path, CONFIG_DATA["input"]["backup_paths"]): + if path.exists(): + yield from path.absolute().glob("*.properties") + + +def hardlink_all_files(files, dry=False): + for prop_file in files: + backup = Backup(prop_file) + dest_dir = create_backup_directory_name( + backup.backup_info, CONFIG_DATA["customization"]["time_format"] + ) + if dry: + print(f"mkdir: {dest_dir}") + else: + dest_dir.mkdir(parents=True, exist_ok=True) + backup.hardlink_to(dest_dir, dry) + + +def main(): + parser = ArgumentParser() + parser.add_argument("-d", "--dry", action="store_true", help="Don't do anything") + args = parser.parse_args() + hardlink_all_files(find_all_property_files(), args.dry) diff --git a/tibi_hardlinks/__main__.py b/tibi_hardlinks/__main__.py new file mode 100644 index 0000000..868d99e --- /dev/null +++ b/tibi_hardlinks/__main__.py @@ -0,0 +1,4 @@ +from . import main + +if __name__ == "__main__": + main()