def _filter( self ) : result = Gaffer.CompoundPathFilter() result.addFilter( Gaffer.FileNamePathFilter( [ re.compile( "^[^.].*" ) ], leafOnly=False, userData = { "UI" : { "label" : "Show hidden files", "invertEnabled" : True, } } ) ) result.addFilter( Gaffer.InfoPathFilter( infoKey = "name", matcher = None, # the ui will fill this in leafOnly = False, ) ) return result
def _initialPath(self): scriptWindow = self.browser().ancestor(GafferUI.ScriptWindow) scriptNode = scriptWindow.scriptNode() return Gaffer.GraphComponentPath( scriptNode, "/", filter=Gaffer.CompoundPathFilter( filters=[ Gaffer.FileNamePathFilter([re.compile("^[^__].*")], leafOnly=False, userData={ "UI": { "label": "Show hidden", "invertEnabled": True, } }), Gaffer.InfoPathFilter( infoKey="name", matcher=None, # the ui will fill this in leafOnly=False, ), ], ), )
def createStandardFilter( extensions=[], extensionsLabel=None ) : result = Gaffer.CompoundPathFilter() if extensions : extensions = [ e.lower() for e in extensions ] if extensionsLabel is None : extensionsLabel = "Show only " + ", ".join( [ "." + e for e in extensions ] ) + " files" extensions += [ e.upper() for e in extensions ] extensions = [ "*." + e for e in extensions ] # the form below is for file sequences, where the frame range will # come after the extension extensions += [ "*.%s *" % e for e in extensions ] result.addFilter( Gaffer.FileNamePathFilter( extensions, userData = { "UI" : { "label" : extensionsLabel, } } ) ) result.addFilter( Gaffer.FileNamePathFilter( [ re.compile( "^[^.].*" ) ], leafOnly=False, userData = { "UI" : { "label" : "Show hidden files", "invertEnabled" : True, } } ) ) result.addFilter( Gaffer.InfoPathFilter( infoKey = "name", matcher = None, # the ui will fill this in leafOnly = False, ) ) return result