@classmethod
def from_quirky(cls, data):
    'Constructs a correct response for quirky devices'
    (msgid, btag, btaginverse) = struct.unpack_from('BBBx', data)
    data = data.rstrip(b'\x00')
    if (';' in str(data)):
        (transfer_size, transfer_attributes) = struct.unpack_from('<LBxxx', data, 4)
        data = data[12:]
    else:
        transfer_size = 0
        transfer_attributes = 1
    return cls(msgid, btag, btaginverse, transfer_size, transfer_attributes, data)
Constructs a correct response for quirky devices
@classmethod
def from_quirky(cls, data):
    
    (msgid, btag, btaginverse) = struct.unpack_from('BBBx', data)
    data = data.rstrip(b'\x00')
    if (';' in str(data)):
        (transfer_size, transfer_attributes) = struct.unpack_from('<LBxxx', data, 4)
        data = data[12:]
    else:
        transfer_size = 0
        transfer_attributes = 1
    return cls(msgid, btag, btaginverse, transfer_size, transfer_attributes, data)