'Load file information from a filename.'

@convert_error(IOError, error)
@loadfile()
def load(self, filething):

    fileobj = filething.fileobj
    self.metadata_blocks = []
    self.tags = None
    self.cuesheet = None
    self.seektable = None
    fileobj = StrictFileObject(fileobj)
    self.__check_header(fileobj, filething.name)
    while self.__read_metadata_block(fileobj):
        pass
    try:
        self.metadata_blocks[0].length
    except (AttributeError, IndexError):
        raise FLACNoHeaderError('Stream    info    block    not    found')
    if self.info.length:
        start = fileobj.tell()
        fileobj.seek(0, 2)
        self.info.bitrate = int(((float((fileobj.tell() - start)) * 8) / self.info.length))
    else:
        self.info.bitrate = 0
