kkpyutil 1.49.4__tar.gz → 1.50.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kkpyutil
3
- Version: 1.49.4
3
+ Version: 1.50.0
4
4
  Summary: Building blocks for sysadmin and DevOps
5
5
  Home-page: https://github.com/kakyoism/kkpyutil/
6
6
  License: MIT
@@ -2079,7 +2079,7 @@ def move_file(src, dst, isdstdir=False):
2079
2079
  return dst if not isdstdir else osp.join(dst, osp.basename(src))
2080
2080
 
2081
2081
 
2082
- def sync_dirs(src_root, dst_root, logger=glogger, sudo=False):
2082
+ def sync_dirs(src_root, dst_root, logger=glogger, sudo=False, excludes=()):
2083
2083
  """
2084
2084
  - assume src and dst folders are the same level of folder tree
2085
2085
  - the result will be dst_root mirrors src_root
@@ -2116,7 +2116,7 @@ def sync_dirs(src_root, dst_root, logger=glogger, sudo=False):
2116
2116
  if os.path.isdir(src_path):
2117
2117
  # copytree with dirs_exist_ok=True will overwrite existing files
2118
2118
  # and merge directories without warning.
2119
- shutil.copytree(src_path, dst_path, dirs_exist_ok=True)
2119
+ shutil.copytree(src_path, dst_path, dirs_exist_ok=True, ignore=shutil.ignore_patterns(*excludes) if excludes else None)
2120
2120
  logger.info(f"Merged directory: {src_path} -> {dst_path}")
2121
2121
  else:
2122
2122
  # For individual files at the root of my_src_dir
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "kkpyutil"
3
- version = "1.49.4"
3
+ version = "1.50.0"
4
4
  description = "Building blocks for sysadmin and DevOps"
5
5
  authors = ["Beinan Li <li.beinan@gmail.com>"]
6
6
  maintainers = ["Beinan Li <li.beinan@gmail.com>"]
File without changes
File without changes