def Parse(buffer: io.BytesIO, length: int = 0): if (isinstance(buffer, io.BytesIO) is not True): raise TypeError("Expecting buffer type but {0} given".format( type(buffer))) #Start bytes parsing header = None current_pos = buffer.tell() buffer.seek(0, io.SEEK_END) length_from_pos = buffer.tell() buffer.seek(current_pos, io.SEEK_SET) if (length_from_pos > 0): reader = BinaryReader(buffer) major_value = buffer.Read8Bits() minor_value = buffer.Read8Bits() build_value = buffer.Read16Bits() version = Version(major_value, minor_value, build_value) header = Header(version=version, ) return header