'This is a wrapper around "read" that will write the results
to a local file.
:param remote_filename: The remote file to download.
:param local_filename: The local file where to write the contents of
the remote file.
:return: The message to show to the user.'

@download_debug
def download(self, remote_filename, local_filename):

    remote_content = self.read(remote_filename)
    if (not remote_content):
        return 'Remote    file    does    not    exist.'
    else:
        try:
            fh = file(local_filename, 'w')
        except:
            return 'Failed    to    open    local    file    for    writing.'
        else:
            fh.write(remote_content)
            fh.close()
            return 'Success.'
