def getImplementation(data): typeid, data = unpack(b'!H', data) print typeid sys.exit() cls = pkTypes.get(typeid, None) if cls is None: raise NotImplementedError('unknown typeid %r' % typeid) return cls, data
def parse(cls, data): if not data: return [] typ, length, data = unpack(b'!HH', data) if typ in tlvClasses: return [tlvClasses[typ].parsePayload(data[:length])] \ + cls.parse(data[length:]) else: raise UnknownTLV(data)
def parsePayload(cls, data): mpis = [] if cls.dlen > 0: count, data = unpack(b"!I", data) for i in range(count): n, data = read_mpi(data) mpis.append(n) if len(data) > 0: raise TypeError("too much data for {0} mpis".format(cls.dlen)) return cls(mpis)
def parsePayload(cls, data): mpis = [] if cls.dlen > 0: count, data = unpack(b'!I', data) for _ in range(count): n, data = read_mpi(data) mpis.append(n) if len(data) > 0: raise TypeError('too much data for {0} mpis'.format(cls.dlen)) return cls(mpis)
def parsePayload(cls, data): data = base64.b64decode(data) args = [] for _, ftype in cls.fields: if ftype == 'data': value, data = read_data(data) elif isinstance(ftype, bytes): value, data = unpack(ftype, data) elif isinstance(ftype, int): value, data = data[:ftype], data[ftype:] args.append(value) return cls(*args)
def parsePayload(cls, data): data = base64.b64decode(data) args = [] for k, ftype in cls.fields: if ftype == "data": value, data = read_data(data) elif isinstance(ftype, bytes): size = int(struct.calcsize(ftype)) value, data = unpack(ftype, data) elif isinstance(ftype, int): value, data = data[:ftype], data[ftype:] args.append(value) return cls(*args)
def parse(cls, data): if not data: return [] typ, length, data = unpack(b"!HH", data) return [tlvClasses[typ].parsePayload(data[:length])] + cls.parse(data[length:])
def parse(cls, data): if not data: return [] typ, length, data = unpack(b'!HH', data) return [tlvClasses[typ].parsePayload(data[:length])] \ + cls.parse(data[length:])
def getImplementation(data): typeid, data = unpack(b'!H', data) cls = pkTypes.get(typeid, None) if cls is None: raise NotImplementedError('unknown typeid %r' % typeid) return cls, data