class_docstr: Filters based on manifest type.
  
    's' -> file is source code
    'd' -> file is a dependency
    'g' -> file is generated
  
  Note that 'g' is a virtual manigest type -- this type does not exist in a
  manifest by definition but is inferred by the absence of a manifest entry.
class_docstr_tok: ["Filters","based","on","manifest","type",".","'s","'","-",">","file","is","source","code","'d","'","-",">","file","is","a","dependency","'","g","'","-",">","file","is","generated","Note","that","'","g","'","is","a","virtual","manigest","type","--","this","type","does","not","exist","in","a","manifest","by","definition","but","is","inferred","by","the","absence","of","a","manifest","entry","."]
code: def maybe_delete_dir(self, name, path, dirs):
      _remove_missing_dirs_for_index(self.index_dirs, name, path, dirs)
  
imports: import fnmatch
  import logging
  import re
  import os
  from guild import cli
  from guild import run_manifest
  from guild import util
  from .None import remote_impl_support
  from .None import runs_impl
label_desc: Use image node_id 3 for calling the _ManifestFilter obj's underlying member method code with example usage: obj.maybe_delete_dir(name, path, dirs) without return types