'Retrieves a file from a Key
:type fp: file
:param fp: File pointer to put the data into
:type headers: string
:param: ignored in this subclass.
:type cb: function
:param cb: ignored in this subclass.
:type cb: int
:param num_cb: ignored in this subclass.'

def get_file(self, fp, headers=None, cb=None, num_cb=10, torrent=False):

    if (self.key_type & self.KEY_STREAM_WRITABLE):
        raise BotoClientError('Stream    is    not    readable')
    elif (self.key_type & self.KEY_STREAM_READABLE):
        key_file = self.fp
    else:
        key_file = open(self.full_path, 'rb')
    try:
        shutil.copyfileobj(key_file, fp)
    finally:
        key_file.close()
