コード例 #1
0
ファイル: common.py プロジェクト: El-gitano/otr_new
 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
コード例 #2
0
ファイル: proto.py プロジェクト: python-otr/pure-python-otr
 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)
コード例 #3
0
 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)
コード例 #4
0
 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)
コード例 #5
0
 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)
コード例 #6
0
ファイル: proto.py プロジェクト: gajim/gajim-plugins
 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)
コード例 #7
0
 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)
コード例 #8
0
 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)
コード例 #9
0
 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:])
コード例 #10
0
ファイル: proto.py プロジェクト: shintakezou/pure-python-otr
 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:])
コード例 #11
0
ファイル: common.py プロジェクト: kenluozhenyu/PyXMPPclient
 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