def runEncoderDecoder(self, sample): decoder = AMFDecoder(sample) packet = decoder.decode() encoder = AMFEncoder(packet) result = encoder.encode() self.assertRawPacketEqual(sample, result)
def runEncoderDecoderXML(self, sample): decoder = AMFDecoder(sample) packet = decoder.decode() toxml = ToXML(packet) xml = toxml.get_xml() fromxml = FromXML(xml) new_packet = fromxml.get_packet() encoder = AMFEncoder(new_packet) result = encoder.encode() self.assertRawPacketEqual(sample, result)
def runEncoderDecoder2(self, sample): decoder = AMFDecoder(sample) packet = decoder.decode() encoder = AMFEncoder(packet) sample2 = encoder.encode() decoder = AMFDecoder(sample2) packet = decoder.decode() encoder = AMFEncoder(packet) sample3 = encoder.encode() self.assertEqual(sample2, sample3)
def runEncoderDecoderXML2(self, sample): decoder = AMFDecoder(sample) packet = decoder.decode() toxml = ToXML(packet) xml = toxml.get_xml() fromxml = FromXML(xml) new_packet = fromxml.get_packet() encoder = AMFEncoder(new_packet) sample2 = encoder.encode() decoder = AMFDecoder(sample2) packet = decoder.decode() toxml = ToXML(packet) xml = toxml.get_xml() fromxml = FromXML(xml) new_packet = fromxml.get_packet() encoder = AMFEncoder(new_packet) sample3 = encoder.encode() self.assertEqual(sample2, sample3)
def decode(cls, raw): decoder = AMFDecoder(raw) packet = decoder.decode() toxml = ToXML(packet) return toxml.get_xml()
################################################## def get_packet(self): assert self.packet != None, "Don't call get_packet twice" #TODO: clean the object packet = self.packet self.packet = None return packet # }}} ################################################## if __name__ == '__main__': from AMFDecoder import AMFDecoder fp = open('samples/login.txt', 'rb') fp = open('samples/login-response.txt', 'rb') fp = open('samples/client-ping.txt', 'rb') fp = open('samples/client-ping-response.txt', 'rb') fp = open('samples/7.txt', 'rb') fp = open('samples/9.txt', 'rb') decoder = AMFDecoder(fp) packet = decoder.decode() toxml = ToXML(packet) xml = toxml.get_xml() #print xml fromxml = FromXML(xml) #print fromxml.get_packet() # vim: foldmethod=marker:
def assertU29Decode(self, s, i): self.assertEquals(AMFDecoder(bits2str(s)).read_u29(), i)