code: def __call__(self, path):
      pattern = self.pattern
  
      if (
          pattern.find(path.sep) == -1
          and iswin32
          and pattern.find(posixpath.sep) != -1
      ):
          # Running on Windows, the pattern has no Windows path separators,
          # and the pattern has one or more Posix path separators. Replace
          # the Posix path separators with the Windows path separator.
          pattern = pattern.replace(posixpath.sep, path.sep)
  
      if pattern.find(path.sep) == -1:
          name = path.basename
      else:
          name = str(path)  # path.strpath # XXX svn?
          if not os.path.isabs(pattern):
              pattern = "*" + path.sep + pattern
      return fnmatch.fnmatch(name, pattern)
  
imports: import warnings
  import os
  import sys
  import posixpath
  import fnmatch
  import py
label_desc: Use image node_id 2 for calling the FNMatcher obj's underlying member method code with example usage: obj.__call__(path) and returns: fnmatch