Releases: facelessuser/wcmatch
Releases · facelessuser/wcmatch
6.0.2
6.0.2
- FIX: Fix logic related to dot files and
GLOBSTAR
. Recursive directory search should return all dot files, which should then be filtered by the patterns. They should not be excluded before being filtered by the pattern.
6.0.1
6.0.1
- FIX: If we only have one pattern (exclusion patterns not included) we can disable unique path filtering on returns as you cannot have a duplicate path with only one inclusion pattern.
6.0.0
6.0.0
- NEW: Tilde user expansion support via the new
GLOBTILDE
flag. - NEW:
glob
by default now returns only unique results, regardless of whether multiple patterns that match the
same file were provided, or even whenBRACE
orSPLIT
expansion produces new patterns that match the same file. - NEW: A new flag called
NOUNIQUE
has been added that makesglob
act like Bash, which will return the same file multiple times if multiple patterns match it, whether provided directly or due to the result ofBRACE
orSPLIT
expansion. - NEW: Limit number of patterns that can be processed (expanded and otherwise) to 1000. Allow user to change this value via an optional
limit
parameter in related API functions. - FIX: Matching functions that receive multiple patterns, or that receive a single pattern that expands to multiple, will filter out duplicate patterns in order avoid redundant matching. While the
WcMatch
class crawls the file system, it utilizes the aforementioned matching functions in it's operation, and indirectly takes advantage of this.glob
(and related functions:rglob
,iglob
, etc.) will also filter redundant patterns except whenNOUNIQUE
is enabled, this is so they can better act like Bash whenNOUNIQUE
is enabled. - FIX:
BRACE
is now processed beforeSPLIT
in order to fix a number of edge cases. - FIX:
RAWCHARS
was inconsistently applied at different times depending on what was calling it. It is now applied first followed byBRACE
,SPLIT
, and finallyGLOBTILDE
.
5.1.0
5.1.0
- NEW: Add new parameter to
glob
related functions (except inpathlib
) calledroot_dir
that allows a user to specify a different working directory with either a string or path-like object. Path-like inputs are only supported on Python 3.6+. - NEW: Support path-like objects for
globmatch
andglobfilter
path inputs. Path-like inputs are only supported on Python 3.6+. - FIX: Filter functions should not alter the slashes of files it filters. Filtered strings and paths should be returned unaltered.
5.0.3
5.0.3
- FIX: Rework
glob
relative path handling so internally it is indistinguishable from when it is given no relative
path and uses the current working directory. This fixes an issue wherepathlib
couldn't handle negate patterns
properly (!negate
).
5.0.2
5.0.2
- FIX: Fix case where a
GLOBSTAR
pattern, followed by a slash, was not disablingMATCHBASE
. - FIX: Fix
pathlib
relative path resolution in glob implementations.
5.0.1
5.0.1
- FIX: In
glob
, avoid using up too many file descriptors by acquiring all file/folder names under a directory in
one batch before recursing into other folders.
5.0.0
5.0.0
- NEW: Add
wcmatch.pathlib
which containspathlib
variants that useswcmatch.glob
instead of the default Python glob. - NEW:
escape
andraw_escape
can manually be forced to use Windows or Linux/Unix logic via the keyword only argument by setting toFalse
orTrue
respectively. The default isNone
which will auto detect the system. - NEW: The deprecated flag
FORCECASE
has now been removed. - NEW: The deprecated functions
globsplit
andfnsplit
have been removed. - NEW: The deprecated variables
version
andversion_info
have been removed.
4.3.1
4.3.1
- FIX: Regression for root level literal matches in
glob
. - FIX: Bug where
glob
would mistakenly abort if a pattern started with a literal file or directory and could not match a file or directory. This caused subsequent patterns in the chain to not get evaluated.
4.3.0
4.3.0
- NEW: Add
CASE
flag which allows for case sensitive paths on Linux, macOS, and Windows. Windows drive letters and UNC//host-name/share-name/
portion are still treated insensitively, but all directories will be treated with case sensitivity. - NEW: With the recent addition of
CASE
andFORCEUNIX
,FORCECASE
is no longer needed. DeprecateFORCECASE
which will be removed at some future point.