47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
import argparse
|
|
import fnmatch
|
|
import importlib.util
|
|
import json
|
|
import re
|
|
import subprocess
|
|
import sys
|
|
|
|
from pathlib import Path
|
|
|
|
# import module utils without excuting __init__
|
|
spec = importlib.util.spec_from_file_location(
|
|
"utils", Path(__file__).parent / "file_utils.py"
|
|
)
|
|
utils = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(utils)
|
|
|
|
|
|
def synchronize(src, dst, only_new=False, only_recent=False):
|
|
|
|
excludes = ["*.sync-conflict-*", ".*"]
|
|
includes = ["*.blend", "blender_assets.cats.txt"]
|
|
|
|
utils.copy_dir(
|
|
src,
|
|
dst,
|
|
only_new=only_new,
|
|
only_recent=only_recent,
|
|
excludes=excludes,
|
|
includes=includes,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(
|
|
description="Add Comment To the tracker",
|
|
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
|
)
|
|
|
|
parser.add_argument("--src")
|
|
parser.add_argument("--dst")
|
|
parser.add_argument("--only-new", type=json.loads, default="false")
|
|
parser.add_argument("--only-recent", type=json.loads, default="false")
|
|
|
|
args = parser.parse_args()
|
|
synchronize(**vars(args))
|