code: def copy(source, destination, ignore=None, adapter=None, fatal=True, logger=LOG.debug):
      
      return _file_op(source, destination, _copy, adapter, fatal, logger, ignore=ignore)
docs: Copy source -> destination
  
      Args:
          source (str | None): Source file or folder
          destination (str | None): Destination file or folder
          ignore (callable | list | str | None): Names to be ignored
          adapter (callable | None): Optional function to call on 'source' before copy
          fatal (bool | None): Abort execution on failure if True
          logger (callable | None): Logger to use
  
      Returns:
          (int): 1 if effectively done, 0 if no-op, -1 on failure