1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-04 16:49:42 +00:00

strict ignore for compare

This commit is contained in:
deadc0de6
2024-01-27 23:22:20 +01:00
committed by deadc0de
parent 6fc489289e
commit e15968e058
2 changed files with 9 additions and 6 deletions

View File

@@ -35,7 +35,7 @@ class FTreeDir:
for file in files:
fpath = os.path.join(root, file)
if must_ignore([fpath], ignores=self.ignores,
debug=self.debug):
debug=self.debug, strict=True):
continue
self.entries.append(fpath)
for dname in dirs:
@@ -44,7 +44,7 @@ class FTreeDir:
# ignore empty directory
continue
if must_ignore([dpath], ignores=self.ignores,
debug=self.debug):
debug=self.debug, strict=True):
continue
self.entries.append(dpath)

View File

@@ -249,7 +249,8 @@ def _match_ignore_pattern(path, pattern, debug=False):
return False
def _must_ignore(path, ignores, neg_ignores, debug=False):
def _must_ignore(path, ignores, neg_ignores,
debug=False, strict=False):
"""
return true if path matches any ignore patterns
"""
@@ -298,7 +299,7 @@ def _must_ignore(path, ignores, neg_ignores, debug=False):
# if debug:
# LOG.dbg(f'NOT ignoring \"{path}\"', force=True)
return False
if (
if not strict and (
os.path.isdir(path) or not os.path.exists(path)
) and neg_ignore_cnt > 0:
# this ensures whoever calls this function will
@@ -315,7 +316,8 @@ def _must_ignore(path, ignores, neg_ignores, debug=False):
return True
def must_ignore(paths, ignores, debug=False):
def must_ignore(paths, ignores, debug=False,
strict=False):
"""
return true if any paths in list matches any ignore patterns
"""
@@ -327,7 +329,8 @@ def must_ignore(paths, ignores, debug=False):
nign, ign = categorize(
lambda ign: ign.startswith('!'), ignores)
for path in paths:
if _must_ignore(path, ign, nign, debug=debug):
if _must_ignore(path, ign, nign,
debug=debug, strict=strict):
if debug:
LOG.dbg(f'[IGN] IGNORING \"{paths}\"', force=True)
return True