Skip to content

Releases: facelessuser/wcmatch

6.0.2

24 Jun 01:38
Compare
Choose a tag to compare

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

23 Mar 01:59
Compare
Choose a tag to compare

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

15 Mar 13:39
Compare
Choose a tag to compare

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 when BRACE or SPLIT expansion produces new patterns that match the same file.
  • NEW: A new flag called NOUNIQUE has been added that makes glob act like Bash, which will return the same file multiple times if multiple patterns match it, whether provided directly or due to the result of BRACE or SPLIT 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 when NOUNIQUE is enabled, this is so they can better act like Bash when NOUNIQUE is enabled.
  • FIX: BRACE is now processed before SPLIT 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 by BRACE, SPLIT, and finally GLOBTILDE.

5.1.0

27 Nov 17:30
Compare
Choose a tag to compare

5.1.0

  • NEW: Add new parameter to glob related functions (except in pathlib) called root_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 and globfilter 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

22 Nov 23:37
3a9f0ab
Compare
Choose a tag to compare

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 where pathlib couldn't handle negate patterns
    properly (!negate).

5.0.2

22 Nov 00:57
Compare
Choose a tag to compare

5.0.2

  • FIX: Fix case where a GLOBSTAR pattern, followed by a slash, was not disabling MATCHBASE.
  • FIX: Fix pathlib relative path resolution in glob implementations.

5.0.1

16 Nov 22:48
a309935
Compare
Choose a tag to compare

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

12 Oct 02:15
Compare
Choose a tag to compare

5.0.0

  • NEW: Add wcmatch.pathlib which contains pathlib variants that uses wcmatch.glob instead of the default Python glob.
  • NEW: escape and raw_escape can manually be forced to use Windows or Linux/Unix logic via the keyword only argument by setting to False or True respectively. The default is None which will auto detect the system.
  • NEW: The deprecated flag FORCECASE has now been removed.
  • NEW: The deprecated functions globsplit and fnsplit have been removed.
  • NEW: The deprecated variables version and version_info have been removed.

4.3.1

21 Aug 13:22
e17ca9b
Compare
Choose a tag to compare

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

08 Aug 13:48
9bd55a7
Compare
Choose a tag to compare

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 and FORCEUNIX, FORCECASE is no longer needed. Deprecate FORCECASE which will be removed at some future point.