code: def scp_pull(self, src, dest, progress=False, preserve_times=True):
          
          # set up the progress callback if they want to see the process
          if progress is True:
              self._scp._progress = self._copy_status
          # redirect to another function
          elif hasattr(progress, '__call__'):
              self._scp._progress = progress
          else:  # no progress callback
              self._scp._progress = None
          # retrieve the file(s)
          self._scp.get(src, dest, recursive=True, preserve_times=preserve_times)
          self._filename = None
          return False
docs: Makes an SCP pull request for the specified file(s)/dir.
  
          Purpose: By leveraging the _scp private variable, we make an scp pull
                 | request to retrieve file(s) from a Junos device.
  
          @param src: string containing the source file or directory
          @type src: str
          @param dest: destination string of where to put the file(s)/dir
          @type dest: str
          @param progress: set to `True` to have the progress callback be
                         | printed as the operation is copying. Can also pass
                         | a function pointer to handoff the progress callback
                         | elsewhere.
          @type progress: bool or function pointer
          @param preserve_times: Set to false to have the times of the copied
                               | files set at the time of copy.
          @type preserve_times: bool
  
          @returns: `True` if the copy succeeds.
          @rtype: bool