'transfer a file from local to local'

def put_file(self, in_path, out_path):

    super(Connection, self).put_file(in_path, out_path)
    display.vvv(u'PUT    {0}    TO    {1}'.format(in_path, out_path), host=self._play_context.remote_addr)
    if (not os.path.exists(to_bytes(in_path, errors='surrogate_or_strict'))):
        raise AnsibleFileNotFound('file    or    module    does    not    exist:    {0}'.format(to_native(in_path)))
    try:
        shutil.copyfile(to_bytes(in_path, errors='surrogate_or_strict'), to_bytes(out_path, errors='surrogate_or_strict'))
    except shutil.Error:
        raise AnsibleError('failed    to    copy:    {0}    and    {1}    are    the    same'.format(to_native(in_path), to_native(out_path)))
    except IOError as e:
        raise AnsibleError('failed    to    transfer    file    to    {0}:    {1}'.format(to_native(out_path), to_native(e)))
