forked from bartvdbraak/blender
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:
parent
f7793bd53c
commit
db04980678
@ -727,7 +727,7 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
|
|||||||
|
|
||||||
def path_menu(self, searchpaths, operator, *,
|
def path_menu(self, searchpaths, operator, *,
|
||||||
props_default=None, prop_filepath="filepath",
|
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.
|
Populate a menu from a list of paths.
|
||||||
|
|
||||||
@ -761,11 +761,14 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
|
|||||||
# collect paths
|
# collect paths
|
||||||
files = []
|
files = []
|
||||||
for directory in searchpaths:
|
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)
|
for f in os.listdir(directory)
|
||||||
if (not f.startswith("."))
|
if (not f.startswith("."))
|
||||||
if ((filter_ext is None) or
|
if ((filter_ext is None) or
|
||||||
(filter_ext(os.path.splitext(f)[1])))
|
(filter_ext(os.path.splitext(f)[1])))
|
||||||
|
if ((filter_path is None) or
|
||||||
|
(filter_path(f)))
|
||||||
])
|
])
|
||||||
|
|
||||||
files.sort()
|
files.sort()
|
||||||
|
Loading…
Reference in New Issue
Block a user