)]}'
{"dragonflow/tests/common/app_testing_objects.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cc7d85c96ecc1b58963eff57528dac0fbc6e3eab","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"def packet_raw_data_to_hex(buf):"},{"line_number":97,"context_line":"    return binascii.hexlify(str(buf).encode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":98,"context_line":"                            ).decode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_4cc8d472","line":97,"updated":"2019-05-16 13:01:30.000000000","message":"Is this *really* necessary?","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b9b1ecf44e51ffb1fec405fa327d4f3f0309d7fa","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"def packet_raw_data_to_hex(buf):"},{"line_number":97,"context_line":"    return binascii.hexlify(str(buf).encode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":98,"context_line":"                            ).decode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_47766f40","line":97,"in_reply_to":"dfbec78f_4cc8d472","updated":"2019-05-16 14:03:21.000000000","message":"I think so, we need to supply a byte array to hexlify and return a string","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"}],"dragonflow/tests/fullstack/apps/test_dhcp.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cc7d85c96ecc1b58963eff57528dac0fbc6e3eab","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @staticmethod"},{"line_number":66,"context_line":"    def _to_bytes(val):"},{"line_number":67,"context_line":"        return chr(val).encode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def _create_dhcp_discover(self):"},{"line_number":70,"context_line":"        result \u003d self._create_udp_packet_for_dhcp()"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_accdd085","line":67,"updated":"2019-05-16 13:01:30.000000000","message":"Is this *really* necessary?","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b9b1ecf44e51ffb1fec405fa327d4f3f0309d7fa","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @staticmethod"},{"line_number":66,"context_line":"    def _to_bytes(val):"},{"line_number":67,"context_line":"        return chr(val).encode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def _create_dhcp_discover(self):"},{"line_number":70,"context_line":"        result \u003d self._create_udp_packet_for_dhcp()"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_c7449f76","line":67,"in_reply_to":"dfbec78f_8cfc8c70","updated":"2019-05-16 14:03:21.000000000","message":"Done","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"3547328810ee0118e1bed791ef207c2608fbedbe","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @staticmethod"},{"line_number":66,"context_line":"    def _to_bytes(val):"},{"line_number":67,"context_line":"        return chr(val).encode(\u0027utf-8\u0027, \u0027ignore\u0027)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def _create_dhcp_discover(self):"},{"line_number":70,"context_line":"        result \u003d self._create_udp_packet_for_dhcp()"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_8cfc8c70","line":67,"in_reply_to":"dfbec78f_accdd085","updated":"2019-05-16 13:06:48.000000000","message":"Can be: bytes((val,)) . Note double brackets.","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"}],"dragonflow/tests/fullstack/test_sfc.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cc7d85c96ecc1b58963eff57528dac0fbc6e3eab","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    @property"},{"line_number":488,"context_line":"    def _initial_packet(self):"},{"line_number":489,"context_line":"        payload \u003d (\u00270\u0027 * 64).encode()"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"        if self.pkt_proto \u003d\u003d constants.PROTO_NAME_TCP:"},{"line_number":492,"context_line":"            tp \u003d self._gen_tcp()"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_2c956033","line":489,"updated":"2019-05-16 13:01:30.000000000","message":"b\u00270\u0027 * 64 ?","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b9b1ecf44e51ffb1fec405fa327d4f3f0309d7fa","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    @property"},{"line_number":488,"context_line":"    def _initial_packet(self):"},{"line_number":489,"context_line":"        payload \u003d (\u00270\u0027 * 64).encode()"},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"        if self.pkt_proto \u003d\u003d constants.PROTO_NAME_TCP:"},{"line_number":492,"context_line":"            tp \u003d self._gen_tcp()"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_87622709","line":489,"in_reply_to":"dfbec78f_2c956033","updated":"2019-05-16 14:03:21.000000000","message":"Done","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"3547328810ee0118e1bed791ef207c2608fbedbe","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            self._gen_ethernet() /"},{"line_number":581,"context_line":"            self._gen_ipv4(proto\u003dinet.IPPROTO_UDP) /"},{"line_number":582,"context_line":"            self._gen_udp(src_port\u003dSRC_PORT, dst_port\u003dDST_PORT) /"},{"line_number":583,"context_line":"            (\u0027{len}\u0027.format(len\u003dlen(self.layout)) * 64).encode()"},{"line_number":584,"context_line":"        )"},{"line_number":585,"context_line":"        fc \u003d objects.FlowClassifierTestObj(self.neutron, self.nb_api)"},{"line_number":586,"context_line":"        self.addCleanup(fc.close)"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_2c31e05a","line":583,"updated":"2019-05-16 13:06:48.000000000","message":"Can also be `bytes((len.layout,))`.","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b9b1ecf44e51ffb1fec405fa327d4f3f0309d7fa","unresolved":false,"context_lines":[{"line_number":580,"context_line":"            self._gen_ethernet() /"},{"line_number":581,"context_line":"            self._gen_ipv4(proto\u003dinet.IPPROTO_UDP) /"},{"line_number":582,"context_line":"            self._gen_udp(src_port\u003dSRC_PORT, dst_port\u003dDST_PORT) /"},{"line_number":583,"context_line":"            (\u0027{len}\u0027.format(len\u003dlen(self.layout)) * 64).encode()"},{"line_number":584,"context_line":"        )"},{"line_number":585,"context_line":"        fc \u003d objects.FlowClassifierTestObj(self.neutron, self.nb_api)"},{"line_number":586,"context_line":"        self.addCleanup(fc.close)"}],"source_content_type":"text/x-python","patch_set":14,"id":"dfbec78f_a75deb47","line":583,"in_reply_to":"dfbec78f_2c31e05a","updated":"2019-05-16 14:03:21.000000000","message":"Done","commit_id":"4b22d1e204cd1bfe77f549ffff9edb3e09ddd7c2"}]}
