This looks a bit C-ish, why don't you just use regular keys ('fullpath', 'basename' and 'extension') ?
From a design point of view it looks like you're defining several set of objects associated with the same key which sounds like you want a dict or even a registry...
Also, while this is certainly out of scope for this proposal, keep in mind that some plugins want to define their own '.xxx-ignore' files and our current API is already a pain to use, it would be nice if we can help them by providing the right set of function/classes to process a set of paths against a given set of patterns coming from a file (or several in bzr case...).
43 + TYPE_FULLPATH = 1
44 + TYPE_BASENAME = 2
45 + TYPE_EXTENSION = 3
This looks a bit C-ish, why don't you just use regular keys ('fullpath', 'basename' and 'extension') ?
From a design point of view it looks like you're defining several set of objects associated with the same key which sounds like you want a dict or even a registry...
Also, while this is certainly out of scope for this proposal, keep in mind that some plugins want to define their own '.xxx-ignore' files and our current API is already a pain to use, it would be nice if we can help them by providing the right set of function/classes to process a set of paths against a given set of patterns coming from a file (or several in bzr case...).