code: def find_datafile(name, search_path=('.'), codecs=get_codecs()):
      
      rv = []
  
      if isinstance(search_path, basestring):
          search_path = (search_path,)
  
      #print "search path ", str(search_path)
  
      ext = os.path.splitext(name)[1][1:]
  
      cls = get_codec(ext)
      if cls:
          for each in search_path:
              fq_filename = os.path.join(each, name)
              if os.path.exists(fq_filename):
                  rv.append((cls, fq_filename))
  
      for exts, obj in list(codecs.items()):
          for ext in exts:
              filename = "%s.%s" % (name, ext)
              for each in search_path:
                  fq_filename = os.path.join(each, filename)
                  if os.path.exists(fq_filename):
                      rv.append((obj, fq_filename))
  
      return rv
docs: find all matching data files in search_path
      search_path: path of directories to load from
      codecs: allow to override from list of installed
      returns array of tuples (codec_object, filename)