|
|
|
@ -5,6 +5,7 @@ import yaml |
|
|
|
|
|
|
|
from tibi_hardlinks.config import CONFIG_DATA, CONFIG_FILE_PATH |
|
|
|
from tibi_hardlinks.backups import Backup, create_backup_directory_name |
|
|
|
from tibi_hardlinks.cache import cache_manager |
|
|
|
|
|
|
|
|
|
|
|
def find_all_property_files(): |
|
|
|
@ -25,15 +26,33 @@ def hardlink_all_files(files, dry=False): |
|
|
|
else: |
|
|
|
dest_dir.mkdir(parents=True, exist_ok=True) |
|
|
|
backup.hardlink_to(dest_dir, dry) |
|
|
|
already_processed = cache_manager.tibi_cache["already_processed"] |
|
|
|
cache_manager.tibi_cache["already_processed"] = already_processed |
|
|
|
cache_manager.tibi_cache.sync() |
|
|
|
|
|
|
|
|
|
|
|
def main(): |
|
|
|
parser = ArgumentParser() |
|
|
|
parser.add_argument("-d", "--dry", action="store_true", help="Don't do anything") |
|
|
|
parser.add_argument("--dump-config", action="store_true", help="Show config") |
|
|
|
parser.add_argument( |
|
|
|
"-c", |
|
|
|
"--clear-already-processed", |
|
|
|
action="store_true", |
|
|
|
help="Clear the cache of property files that were already linked", |
|
|
|
) |
|
|
|
parser.add_argument( |
|
|
|
"--clear-all", |
|
|
|
action="store_true", |
|
|
|
help="Clear the cache entirely", |
|
|
|
) |
|
|
|
args = parser.parse_args() |
|
|
|
if args.dump_config: |
|
|
|
print(CONFIG_FILE_PATH) |
|
|
|
print(yaml.dump(CONFIG_DATA)) |
|
|
|
exit(0) |
|
|
|
if args.clear_all: |
|
|
|
cache_manager.invalidate_all() |
|
|
|
elif args.clear_already_processed: |
|
|
|
cache_manager.invalidate_already_processed() |
|
|
|
hardlink_all_files(find_all_property_files(), args.dry) |