)]}'
{"requirements.txt":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"4c37f1b39658a961bfff0ce17734f450fa3c72ca","unresolved":false,"context_lines":[{"line_number":27,"context_line":"jsonschema!\u003d2.5.0,\u003c3.0.0,\u003e\u003d2.0.0 # MIT"},{"line_number":28,"context_line":"Jinja2\u003e\u003d2.8 # BSD License (3 clause)"},{"line_number":29,"context_line":"pexpect!\u003d3.3,\u003e\u003d3.1 # ISC License"},{"line_number":30,"context_line":"oslo.config\u003e\u003d3.19.0 # Apache-2.0"},{"line_number":31,"context_line":"oslo.context\u003e\u003d2.9.0 # Apache-2.0"},{"line_number":32,"context_line":"oslo.i18n\u003e\u003d2.1.0 # Apache-2.0"},{"line_number":33,"context_line":"oslo.middleware\u003e\u003d3.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"ba5da102_24e7b0ad","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":32},"updated":"2016-11-04 15:59:21.000000000","message":"We should probably leave adjusting requirements.txt to the bot.  Adding new lines is fine, but updating existing ones becomes a shell game...\nFor example, the only valid change for this would be to make it:\n\n  oslo.config\u003e\u003d3.14.0,!\u003d3.18.0  # Apache-2.0","commit_id":"8564e9bb9f6324e2502b127478e81dbdd6165c64"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"b7f98f22e26d712f3d7533e1f332088520c9451f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"jsonschema!\u003d2.5.0,\u003c3.0.0,\u003e\u003d2.0.0 # MIT"},{"line_number":28,"context_line":"Jinja2\u003e\u003d2.8 # BSD License (3 clause)"},{"line_number":29,"context_line":"pexpect!\u003d3.3,\u003e\u003d3.1 # ISC License"},{"line_number":30,"context_line":"oslo.config\u003e\u003d3.19.0 # Apache-2.0"},{"line_number":31,"context_line":"oslo.context\u003e\u003d2.9.0 # Apache-2.0"},{"line_number":32,"context_line":"oslo.i18n\u003e\u003d2.1.0 # Apache-2.0"},{"line_number":33,"context_line":"oslo.middleware\u003e\u003d3.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"ba5da102_9f1c456c","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":32},"in_reply_to":"ba5da102_24e7b0ad","updated":"2016-11-04 16:03:04.000000000","message":"Oh, did not know that. Done.","commit_id":"8564e9bb9f6324e2502b127478e81dbdd6165c64"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"dbb49951050a35356fa2176bebbd584292707680","unresolved":false,"context_lines":[{"line_number":27,"context_line":"jsonschema!\u003d2.5.0,\u003c3.0.0,\u003e\u003d2.0.0 # MIT"},{"line_number":28,"context_line":"Jinja2\u003e\u003d2.8 # BSD License (3 clause)"},{"line_number":29,"context_line":"pexpect!\u003d3.3,\u003e\u003d3.1 # ISC License"},{"line_number":30,"context_line":"oslo.config\u003e\u003d3.19.0 # Apache-2.0"},{"line_number":31,"context_line":"oslo.context\u003e\u003d2.9.0 # Apache-2.0"},{"line_number":32,"context_line":"oslo.i18n\u003e\u003d2.1.0 # Apache-2.0"},{"line_number":33,"context_line":"oslo.middleware\u003e\u003d3.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":5,"id":"ba5da102_5f88edc6","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":32},"in_reply_to":"ba5da102_24e7b0ad","updated":"2016-11-04 16:23:20.000000000","message":"since oslo.config isn\u0027t capped, you should be fine not updating this.","commit_id":"8564e9bb9f6324e2502b127478e81dbdd6165c64"}],"trove/common/cfg.py":[{"author":{"_account_id":12758,"name":"Masaki Matsushita","email":"glass.saga@gmail.com","username":"masaki"},"change_message_id":"7052891f00ba4864800287e48cf1580db65ee6a0","unresolved":false,"context_lines":[{"line_number":31,"context_line":"UNKNOWN_SERVICE_ID \u003d \u0027unknown-service-id-error\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class PortRange(types.Integer):"},{"line_number":35,"context_line":"    def __init__(self, min\u003dNone, max\u003dNone, type_name\u003d\u0027port list value\u0027,"},{"line_number":36,"context_line":"                 choices\u003dNone):"},{"line_number":37,"context_line":"        super(PortRange, self).__init__(min\u003d1, max\u003d65535, type_name\u003dtype_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_af25f109","line":34,"updated":"2016-07-06 00:53:17.000000000","message":"You don\u0027t need to write such a class.\nYou may use cfg.ListOpt and item_type.\nSee also: https://github.com/openstack/oslo.config/blob/3.12.0/oslo_config/cfg.py#L1174","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d425efbc447c777f1e231e567f85ce966e015187","unresolved":false,"context_lines":[{"line_number":31,"context_line":"UNKNOWN_SERVICE_ID \u003d \u0027unknown-service-id-error\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class PortRange(types.Integer):"},{"line_number":35,"context_line":"    def __init__(self, min\u003dNone, max\u003dNone, type_name\u003d\u0027port list value\u0027,"},{"line_number":36,"context_line":"                 choices\u003dNone):"},{"line_number":37,"context_line":"        super(PortRange, self).__init__(min\u003d1, max\u003d65535, type_name\u003dtype_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_0e5b47f7","line":34,"in_reply_to":"1aa78d24_af25f109","updated":"2016-07-06 14:04:04.000000000","message":"PortRange is needed, the oslo type cfg.PortOpt will not count for the string that has \u0027-\u0027 in it.","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"e7ebf7ece2182414677133c3e348e27bbd2384f2","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class PortRange(types.Integer):"},{"line_number":35,"context_line":"    def __init__(self, min\u003dNone, max\u003dNone, type_name\u003d\u0027port list value\u0027,"},{"line_number":36,"context_line":"                 choices\u003dNone):"},{"line_number":37,"context_line":"        super(PortRange, self).__init__(min\u003d1, max\u003d65535, type_name\u003dtype_name,"},{"line_number":38,"context_line":"                                        choices\u003dchoices)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_619cc25d","line":35,"range":{"start_line":35,"start_character":59,"end_line":35,"end_character":63},"updated":"2016-07-05 23:25:23.000000000","message":"list or range?","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d425efbc447c777f1e231e567f85ce966e015187","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class PortRange(types.Integer):"},{"line_number":35,"context_line":"    def __init__(self, min\u003dNone, max\u003dNone, type_name\u003d\u0027port list value\u0027,"},{"line_number":36,"context_line":"                 choices\u003dNone):"},{"line_number":37,"context_line":"        super(PortRange, self).__init__(min\u003d1, max\u003d65535, type_name\u003dtype_name,"},{"line_number":38,"context_line":"                                        choices\u003dchoices)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_ae6033d0","line":35,"range":{"start_line":35,"start_character":59,"end_line":35,"end_character":63},"in_reply_to":"1aa78d24_619cc25d","updated":"2016-07-06 14:04:04.000000000","message":"I need to update this, this is an integer range. This is to describe what is in the help message of tcp_ports and udp_ports. \"...ports and/or port ranges...\"","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d425efbc447c777f1e231e567f85ce966e015187","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    def __call__(self, value):"},{"line_number":41,"context_line":"        for v in value:"},{"line_number":42,"context_line":"            values \u003d v.split(\u0027-\u0027, 1)"},{"line_number":43,"context_line":"            super(PortRange, self).__call__(values[0])"},{"line_number":44,"context_line":"            if len(values) \u003d\u003d 1:"},{"line_number":45,"context_line":"                continue"},{"line_number":46,"context_line":"            temp_min \u003d self.min"}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_8eec57f4","line":43,"range":{"start_line":43,"start_character":12,"end_line":43,"end_character":54},"updated":"2016-07-06 14:04:04.000000000","message":"This returns a parsed version of values[0] I should use this instead of casting values[0] as an int directly on line 49.","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"7e7e9718f346d6872b88747eb7abe10320afc6d8","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                self.min \u003d int(values[0])"},{"line_number":50,"context_line":"                super(PortRange, self).__call__(values[1])"},{"line_number":51,"context_line":"            except ValueError:"},{"line_number":52,"context_line":"                self.min \u003d temp_min"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"        return value"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_418a661c","line":52,"range":{"start_line":52,"start_character":16,"end_line":52,"end_character":35},"updated":"2016-07-05 23:22:31.000000000","message":"I don\u0027t reset this after a successful call. There may be some unwanted changes from this that are not covered in the unit tests.","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d425efbc447c777f1e231e567f85ce966e015187","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                super(PortRange, self).__call__(values[1])"},{"line_number":51,"context_line":"            except ValueError:"},{"line_number":52,"context_line":"                self.min \u003d temp_min"},{"line_number":53,"context_line":"                raise"},{"line_number":54,"context_line":"        return value"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1aa78d24_0e9ce75b","line":53,"range":{"start_line":53,"start_character":16,"end_line":53,"end_character":21},"updated":"2016-07-06 14:04:04.000000000","message":"I may want to rewrite the error message here. Currently it says, \"\u0027Value must be greater than %d\u0027 % self.min\" I probably want to say something like \"the left hand side of the range was too small\".","commit_id":"51df0c77dda33b5984ea18b7981609012faa3454"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"e3da042812eeac9491c47b1171984d583d0cfc5b","unresolved":false,"context_lines":[{"line_number":682,"context_line":"pxc_opts \u003d ["},{"line_number":683,"context_line":"    cfg.BoolOpt(\u0027icmp\u0027, default\u003dFalse,"},{"line_number":684,"context_line":"                help\u003d\u0027Whether to permit ICMP.\u0027),"},{"line_number":685,"context_line":"    cfg.ListOpt(\u0027tcp_ports\u0027, default\u003d[\"3306\", \"4444\", \"4567\", \"4568\"],"},{"line_number":686,"context_line":"                item_type\u003dListOfPortsType,"},{"line_number":687,"context_line":"                help\u003d\u0027List of TCP ports and/or port ranges to open \u0027"},{"line_number":688,"context_line":"                     \u0027in the security group (only applicable \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f231b9d_cece35b3","line":685,"range":{"start_line":685,"start_character":47,"end_line":685,"end_character":51},"updated":"2017-06-15 02:40:44.000000000","message":"this seems like at least one place where this can get used, to make sure it does what we think it should.\n\n4567-4568","commit_id":"91d443e06b50143a707235363bff9ab97d68a8f4"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"3a8a5308d14cf47cfa31830c96fb13691cb4b808","unresolved":false,"context_lines":[{"line_number":682,"context_line":"pxc_opts \u003d ["},{"line_number":683,"context_line":"    cfg.BoolOpt(\u0027icmp\u0027, default\u003dFalse,"},{"line_number":684,"context_line":"                help\u003d\u0027Whether to permit ICMP.\u0027),"},{"line_number":685,"context_line":"    cfg.ListOpt(\u0027tcp_ports\u0027, default\u003d[\"3306\", \"4444\", \"4567\", \"4568\"],"},{"line_number":686,"context_line":"                item_type\u003dListOfPortsType,"},{"line_number":687,"context_line":"                help\u003d\u0027List of TCP ports and/or port ranges to open \u0027"},{"line_number":688,"context_line":"                     \u0027in the security group (only applicable \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"7f231b9d_310bbb7d","line":685,"range":{"start_line":685,"start_character":47,"end_line":685,"end_character":51},"in_reply_to":"7f231b9d_cece35b3","updated":"2017-06-15 15:34:16.000000000","message":"Did you want me to make those changes? I guess I could. As the config stands now, the hyphen is reserved for consecutive port numbers \u003e 2","commit_id":"91d443e06b50143a707235363bff9ab97d68a8f4"}]}
