On 24/03/2021 23:35, email@example.com wrote:
Several attempts in this thread to write "simpler" code that does this job proved to be buggy. I feel there's some ground to say that having this in the library could prevent other less talented writers make those or even bigger mistakes.
I feel a tuple to specify multiple patterns fits nicely and it's easier to explain that an extended syntax.
I have created an issue and opened a PR with doc and tests, if this is deemed something worth to have.
Here's a sketch for yet another implementation:
Change _compile_pattern() and maybe translate() to return a regex that matches multiple patterns. Then you could leave the already over-complicated implementation of filter() alone and would support tuples or iterators of patterns in fnmatch() and fnmatchcase(), too.