class_docstr: Subclass that also caches the stamp of the file
docstr: Check if the given file has been modified
  since the previous build.
  
  depending on CHECK_MODIFIED_METHOD
  a float may be returned for 'mtime',
  a hash for a function name in the hashlib module
  or an empty bytes string otherwise
docstr_tok: ["Check","if","the","given","file","has","been","modified","since","the","previous","build",".","depending","on","CHECK_MODIFIED_METHOD","a","float","may","be","returned","for","'mtime","'",",","a","hash","for","a","function","name","in","the","hashlib","module","or","an","empty","bytes","string","otherwise"]
code: def _get_file_stamp(self, filename):
      """Check if the given file has been modified
      since the previous build.
  
      depending on CHECK_MODIFIED_METHOD
      a float may be returned for 'mtime',
      a hash for a function name in the hashlib module
      or an empty bytes string otherwise
      """
  
      try:
          return self._filestamp_func(filename)
      except (OSError, TypeError) as err:
          logger.warning(
              "Cannot get modification stamp for %s\n\t%s",
              filename,
              err,
          )
          return ""
  
file_path: pelican/pelican/cache.py
imports: import hashlib
  import logging
  import os
  import pickle
  from pelican.utils import mkdir_p
label_desc: Use image node_id 3 for calling the FileStampDataCacher obj's underlying member method code with example usage: obj._get_file_stamp(filename) and returns: self, str