code: def update_file(self, filepath, creator, status):
          
          file_handle = self.get_handle(filepath)
          if status in [FileStatus.exists, FileStatus.superseded]:
              # Make sure the file really exists
              fullpath = file_handle.fullpath
              if not os.path.exists(fullpath):
                  raise ValueError("File %s does not exist" % fullpath)
              timestamp = int(os.stat(fullpath).st_mtime)
          else:
              timestamp = 0
          file_handle.creator = creator
          file_handle.timestamp = timestamp
          file_handle.status = status
          file_handle.update_table_row(self._table, file_handle.key - 1)
          return file_handle
docs: Update a file in the archive
  
          If the file does not exists, this raises a `KeyError`
  
          Parameters
          ----------
  
          filepath : str
              The path to the file
          creatror : int
              A unique key for the job that created this file
          status   : `FileStatus`
              Enumeration giving current status of file
  
          Returns `FileHandle`