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, *,
|
||||
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,12 +761,15 @@ class Menu(StructRNA, _GenericUI, metaclass=RNAMeta):
|
||||
# collect paths
|
||||
files = []
|
||||
for directory in searchpaths:
|
||||
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])))
|
||||
])
|
||||
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()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user