PyAPI: Menu.path_menu: Add path filter callback

Needed if we want to filter based on filenames (not just extension).
This commit is contained in:
Campbell Barton 2017-03-17 05:17:39 +11:00
parent f7793bd53c
commit db04980678

@ -727,7 +727,7 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
def path_menu(self, searchpaths, operator, *,
props_default=None, prop_filepath="filepath",
filter_ext=None, display_name=None):
filter_ext=None, filter_path=None, display_name=None):
"""
Populate a menu from a list of paths.
@ -761,11 +761,14 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
# collect paths
files = []
for directory in searchpaths:
files.extend([(f, os.path.join(directory, f))
files.extend(
[(f, os.path.join(directory, f))
for f in os.listdir(directory)
if (not f.startswith("."))
if ((filter_ext is None) or
(filter_ext(os.path.splitext(f)[1])))
if ((filter_path is None) or
(filter_path(f)))
])
files.sort()