)]}'
{"dragonflow/db/field_types.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"ca1d82d213d256f7c84e886379682788d48c6524","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                return PortRange(port_min, port_max)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"class IpProto(fields.BaseField):"},{"line_number":310,"context_line":"    types \u003d six.integer_types"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def validate(self, value):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df3967d1_78b87575","line":309,"range":{"start_line":309,"start_character":21,"end_line":309,"end_character":30},"updated":"2017-08-01 08:21:22.000000000","message":"Why not int-field, then you only need to validate the range, and the type is validate by super()","commit_id":"e7b15f2fb9c52de21a8b9aa5cc97a727c8797053"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"7870b5ab399a344c0f4892e056776499e8cb476b","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                return PortRange(port_min, port_max)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"class IpProto(fields.BaseField):"},{"line_number":310,"context_line":"    types \u003d six.integer_types"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def validate(self, value):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df3967d1_26f1a7ce","line":309,"range":{"start_line":309,"start_character":21,"end_line":309,"end_character":30},"in_reply_to":"df3967d1_78b87575","updated":"2017-08-01 11:20:21.000000000","message":"done","commit_id":"e7b15f2fb9c52de21a8b9aa5cc97a727c8797053"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"99c1f42ae0769d05b0a166f9dbd142782d6d65dd","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":"class IpProto(fields.IntField):"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def validate(self, value):"},{"line_number":312,"context_line":"        if value is None:"},{"line_number":313,"context_line":"            return"},{"line_number":314,"context_line":"        if value \u003c 0 or value \u003e 255:"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_d1383b3e","line":311,"updated":"2017-08-02 06:43:19.000000000","message":"You need to call super(..).validate(value)","commit_id":"96c9af4f3f4636ab26dcac26e59deb89e73d5585"},{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"990cd3caa76c23f1f93cfa57538451541bb08df3","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":"        if value \u003c 0 or value \u003e 255:"},{"line_number":316,"context_line":"            raise errors.ValidationError("},{"line_number":317,"context_line":"                _(\u0027Ip proto value -{val} is not between [0,255]\u0027).format("},{"line_number":318,"context_line":"                    val\u003dvalue))"}],"source_content_type":"text/x-python","patch_set":4,"id":"df3967d1_3d596334","line":317,"range":{"start_line":317,"start_character":19,"end_line":317,"end_character":27},"updated":"2017-08-03 13:49:08.000000000","message":"Maybe \"IP protocol\", or \"IpProto\" is better","commit_id":"96648a41729d7a885345f1e0614889e537d2fcbf"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"b4d62501fd84103d1909706e89f4baf5f80ba9aa","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":"        if value \u003c 0 or value \u003e 255:"},{"line_number":316,"context_line":"            raise errors.ValidationError("},{"line_number":317,"context_line":"                _(\u0027Ip proto value -{val} is not between [0,255]\u0027).format("},{"line_number":318,"context_line":"                    val\u003dvalue))"}],"source_content_type":"text/x-python","patch_set":4,"id":"df3967d1_fd74fbd0","line":317,"range":{"start_line":317,"start_character":19,"end_line":317,"end_character":27},"in_reply_to":"df3967d1_3d596334","updated":"2017-08-03 14:10:00.000000000","message":"+1 on \u0027IP protocol\u0027","commit_id":"96648a41729d7a885345f1e0614889e537d2fcbf"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cfc27f705e88986fb16d1ea927cd2e90fbf93186","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":"        if value \u003c 0 or value \u003e 255:"},{"line_number":316,"context_line":"            raise errors.ValidationError("},{"line_number":317,"context_line":"                _(\u0027IP protocol value -{val} is not between [0,255]\u0027).format("},{"line_number":318,"context_line":"                    val\u003dvalue))"}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_65c73c98","line":317,"range":{"start_line":317,"start_character":37,"end_line":317,"end_character":38},"updated":"2017-08-04 03:57:54.000000000","message":"I think this will be confusing later.","commit_id":"302cc97379f2970a034b86a70baed5a684930cb2"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"7cfccf1268583ed5e947d91bb8c617c3f4acf6cf","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":"        if value \u003c 0 or value \u003e 255:"},{"line_number":316,"context_line":"            raise errors.ValidationError("},{"line_number":317,"context_line":"                _(\u0027IP protocol value -{val} is not between [0,255]\u0027).format("},{"line_number":318,"context_line":"                    val\u003dvalue))"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf3e73b7_01948d8a","line":317,"range":{"start_line":317,"start_character":37,"end_line":317,"end_character":38},"in_reply_to":"df3967d1_65c73c98","updated":"2017-08-06 07:21:26.000000000","message":"I change that - hope that it more clear now","commit_id":"302cc97379f2970a034b86a70baed5a684930cb2"}],"dragonflow/db/models/secgroups.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"990cd3caa76c23f1f93cfa57538451541bb08df3","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RULE_DIRECTION \u003d (\u0027ingress\u0027, \u0027egress\u0027)"},{"line_number":21,"context_line":"RULE_ETHERTYPE \u003d (\u0027IPv4\u0027, \u0027IPv6\u0027)"},{"line_number":22,"context_line":"# TODO(lihi): Suppport protocol number as protocol type"},{"line_number":23,"context_line":"RULE_PROTOCOL \u003d (\u0027icmp\u0027, \u0027icmpv6\u0027, \u0027tcp\u0027, \u0027udp\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@mf.construct_nb_db_model"}],"source_content_type":"text/x-python","patch_set":4,"id":"df3967d1_3d53a441","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":48},"updated":"2017-08-03 13:49:08.000000000","message":"This can be removed now :)","commit_id":"96648a41729d7a885345f1e0614889e537d2fcbf"}],"dragonflow/tests/unit/test_app_base.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"d1d6c88286d1216517d1c6dcee52b937a2661664","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            topic\u003d\"fake_tenant1\","},{"line_number":312,"context_line":"            port_range_max\u003d53,"},{"line_number":313,"context_line":"            port_range_min\u003d53,"},{"line_number":314,"context_line":"            protocol\u003d17,"},{"line_number":315,"context_line":"            remote_group_id\u003dNone,"},{"line_number":316,"context_line":"            remote_ip_prefix\u003d\"192.168.180.0/28\","},{"line_number":317,"context_line":"            id\u003d\"fake_security_group_rule_1\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_48706c73","line":314,"range":{"start_line":314,"start_character":20,"end_line":314,"end_character":24},"updated":"2017-07-30 16:06:33.000000000","message":"Please use a const","commit_id":"464718ccf88e2928fde1fd0e7072b81065c990c0"}]}
