in zktraffic/zab/quorum_packet.py [0:0]
def __new__(cls, clsname, bases, dct):
obj = super(QuorumPacketBase, cls).__new__(cls, clsname, bases, dct)
if obj.PTYPE in cls.TYPES:
raise ValueError("Duplicate ptype name: %s" % obj.PTYPE)
if obj.PTYPE is not None:
cls.TYPES[obj.PTYPE] = obj
return obj