[issue28718] '*' matches entire path in fnmatch

2017-03-27 Thread Aaron Whitehouse

Aaron Whitehouse added the comment:

Posted to the [Python-ideas] mailing list, as it is proposing a change to a 
standard library:
https://mail.python.org/pipermail/python-ideas/2017-February/044880.html

Nobody has responded so far, however. I take this as at least no vehement 
objection to the idea.

--

___
Python tracker 
<http://bugs.python.org/issue28718>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28718] '*' matches entire path in fnmatch

2017-02-26 Thread Aaron Whitehouse

Aaron Whitehouse added the comment:

Note that somebody has forked the standard library to implement this:
https://github.com/kianxineki/python-wildcard
This shows that the actual changes would be pretty small (though pywildcard is 
based on 2.x code and does not handle the cross-platform slashes you have been 
discussing).

It is also worth noting that the glob standard library:
https://docs.python.org/3.7/library/glob.html
implements a "recursive" option that has similar behaviour (* does not span 
path separators whereas ** does) and essentially builds this on top of fnmatch 
for the actual filename matching. 

I do not think we can change the default behaviour of fnmatch at this point, 
but I would like to see this behaviour triggered by an optional argument to the 
various functions, e.g.:
fnmatch.fnmatch(filename, pattern, glob_asterisks=False)
fnmatch.fnmatchcase(filename, pattern, glob_asterisks=False)
fnmatch.filter(names, pattern, glob_asterisks=False)
fnmatch.translate(pattern, glob_asterisks=False)

In each case, if glob_asterisks (or whatever other name we came up with) is 
true, the behaviour would match the pywildcard behaviour, i.e.:
**  matches everything
*   matches in one path level

I look after the glob matching code in duplicity and would like to start using 
the standard library to do filename matching for us, but we need the above 
behaviour. I am happy to do the patching if there is a realistic chance of it 
being accepted.

--
nosy: +aaron-whitehouse
title: '*' matches entire path in fnmatch.translate -> '*' matches entire path 
in fnmatch

___
Python tracker 
<http://bugs.python.org/issue28718>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com