'Copies one or more files from the remote host to the local host.'

def get(self, remotepaths, localpath=''):

    remotepaths = self._make_list(remotepaths)
    localpath = (localpath or os.getcwd())
    globs = []
    noglobs = []
    for rpath in remotepaths:
        if glob.has_magic(rpath):
            globs.append(rpath)
        else:
            noglobs.append(rpath)
    globresults = [self.glob(g) for g in globs]
    remotepaths = noglobs
    for globresult in globresults:
        remotepaths.extend(globresult)
    recursive = False
    for rpath in remotepaths:
        if (not self.path_exists(rpath)):
            raise exception.BaseException(('Remote    file    or    directory    does    not    exist:    %s' % rpath))
    for rpath in remotepaths:
        if self.isdir(rpath):
            recursive = True
            break
    try:
        self.scp.get(remotepaths, local_path=localpath, recursive=recursive)
    except Exception as e:
        log.debug('get    failed:    remotepaths=%s,    localpath=%s', str(remotepaths), localpath)
        raise exception.SCPException(str(e))
