)]}'
{"quantum/api/v2/attributes.py":[{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"b654b9a10e481f27fdf13591ea44255ad35b1345","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                return msg"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def _validate_nameservers(data, valid_values\u003dNone):"},{"line_number":148,"context_line":"    if data is None:"},{"line_number":149,"context_line":"        return"},{"line_number":150,"context_line":"    if not hasattr(data, \u0027__iter__\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2F%2Bgs%3D","line":147,"updated":"2012-12-04 07:06:05.000000000","message":"No need to rename to \"_validate_nameservers_or_none\"?","commit_id":"6853eaeaaaaec0191ebf2eb682eec4588f902274"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"b654b9a10e481f27fdf13591ea44255ad35b1345","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        ips.append(ip)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"def _validate_hostroutes(data, valid_values\u003dNone):"},{"line_number":173,"context_line":"    if data is None:"},{"line_number":174,"context_line":"        return"},{"line_number":175,"context_line":"    if not isinstance(data, list):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAMX%2F%2F%2Bgo%3D","line":172,"updated":"2012-12-04 07:06:05.000000000","message":"same question","commit_id":"6853eaeaaaaec0191ebf2eb682eec4588f902274"}],"quantum/db/db_base_plugin_v2.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":1016,"context_line":"            self._validate_ip_version(ip_ver, s[\u0027gateway_ip\u0027], \u0027gateway_ip\u0027)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"        if (\u0027dns_nameservers\u0027 in s and"},{"line_number":1019,"context_line":"            (s[\u0027dns_nameservers\u0027] is not None and"},{"line_number":1020,"context_line":"             s[\u0027dns_nameservers\u0027] !\u003d attributes.ATTR_NOT_SPECIFIED)):"},{"line_number":1021,"context_line":"            if len(s[\u0027dns_nameservers\u0027]) \u003e cfg.CONF.max_dns_nameservers:"},{"line_number":1022,"context_line":"                raise q_exc.DNSNameServersExhausted("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6mQ%3D","line":1019,"updated":"2012-12-07 09:25:48.000000000","message":"This is redundant as the converter now ensures this attribute is never None","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"af006cf12d0cb05ec7fc1c0b59ab926632b455d7","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"            self._validate_ip_version(ip_ver, s[\u0027gateway_ip\u0027], \u0027gateway_ip\u0027)"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"        if (\u0027dns_nameservers\u0027 in s and"},{"line_number":1019,"context_line":"            (s[\u0027dns_nameservers\u0027] is not None and"},{"line_number":1020,"context_line":"             s[\u0027dns_nameservers\u0027] !\u003d attributes.ATTR_NOT_SPECIFIED)):"},{"line_number":1021,"context_line":"            if len(s[\u0027dns_nameservers\u0027]) \u003e cfg.CONF.max_dns_nameservers:"},{"line_number":1022,"context_line":"                raise q_exc.DNSNameServersExhausted("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6hw%3D","line":1019,"in_reply_to":"AAAAMX%2F%2F6mQ%3D","updated":"2012-12-07 13:00:52.000000000","message":"Done","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":1032,"context_line":"                self._validate_ip_version(ip_ver, dns, \u0027dns_nameserver\u0027)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"        if (\u0027host_routes\u0027 in s and"},{"line_number":1035,"context_line":"            (s[\u0027host_routes\u0027] is not None and"},{"line_number":1036,"context_line":"             s[\u0027host_routes\u0027] !\u003d attributes.ATTR_NOT_SPECIFIED)):"},{"line_number":1037,"context_line":"            if len(s[\u0027host_routes\u0027]) \u003e cfg.CONF.max_subnet_host_routes:"},{"line_number":1038,"context_line":"                raise q_exc.HostRoutesExhausted("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6mM%3D","line":1035,"updated":"2012-12-07 09:25:48.000000000","message":"same comment as line 1019","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"af006cf12d0cb05ec7fc1c0b59ab926632b455d7","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"                self._validate_ip_version(ip_ver, dns, \u0027dns_nameserver\u0027)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"        if (\u0027host_routes\u0027 in s and"},{"line_number":1035,"context_line":"            (s[\u0027host_routes\u0027] is not None and"},{"line_number":1036,"context_line":"             s[\u0027host_routes\u0027] !\u003d attributes.ATTR_NOT_SPECIFIED)):"},{"line_number":1037,"context_line":"            if len(s[\u0027host_routes\u0027]) \u003e cfg.CONF.max_subnet_host_routes:"},{"line_number":1038,"context_line":"                raise q_exc.HostRoutesExhausted("}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6hs%3D","line":1035,"in_reply_to":"AAAAMX%2F%2F6mM%3D","updated":"2012-12-07 13:00:52.000000000","message":"Done","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"06e063d4ea622b30d825333f81b31421b260bce5","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"            if \"dns_nameservers\" in s:"},{"line_number":1112,"context_line":"                old_dns_list \u003d self._get_dns_by_subnet(context, id)"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"                new_dns_addr_set \u003d set(s[\"dns_nameservers\"] or [])"},{"line_number":1115,"context_line":"                old_dns_addr_set \u003d set([dns[\u0027address\u0027]"},{"line_number":1116,"context_line":"                                        for dns in old_dns_list])"},{"line_number":1117,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6%2Bg%3D","line":1114,"updated":"2012-12-06 21:37:34.000000000","message":"Is this change still needed?","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"af006cf12d0cb05ec7fc1c0b59ab926632b455d7","unresolved":false,"context_lines":[{"line_number":1111,"context_line":"            if \"dns_nameservers\" in s:"},{"line_number":1112,"context_line":"                old_dns_list \u003d self._get_dns_by_subnet(context, id)"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":"                new_dns_addr_set \u003d set(s[\"dns_nameservers\"] or [])"},{"line_number":1115,"context_line":"                old_dns_addr_set \u003d set([dns[\u0027address\u0027]"},{"line_number":1116,"context_line":"                                        for dns in old_dns_list])"},{"line_number":1117,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6ho%3D","line":1114,"in_reply_to":"AAAAMX%2F%2F6%2Bg%3D","updated":"2012-12-07 13:00:52.000000000","message":"Done","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"06e063d4ea622b30d825333f81b31421b260bce5","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"                old_route_list \u003d self._get_route_by_subnet(context, id)"},{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"                new_route_set \u003d set([_combine(route)"},{"line_number":1136,"context_line":"                                     for route in (s[\u0027host_routes\u0027] or [])])"},{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"                old_route_set \u003d set([_combine(route)"},{"line_number":1139,"context_line":"                                     for route in old_route_list])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6%2Bc%3D","line":1136,"updated":"2012-12-06 21:37:34.000000000","message":"ditto","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"af006cf12d0cb05ec7fc1c0b59ab926632b455d7","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"                old_route_list \u003d self._get_route_by_subnet(context, id)"},{"line_number":1134,"context_line":""},{"line_number":1135,"context_line":"                new_route_set \u003d set([_combine(route)"},{"line_number":1136,"context_line":"                                     for route in (s[\u0027host_routes\u0027] or [])])"},{"line_number":1137,"context_line":""},{"line_number":1138,"context_line":"                old_route_set \u003d set([_combine(route)"},{"line_number":1139,"context_line":"                                     for route in old_route_list])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F6hk%3D","line":1136,"in_reply_to":"AAAAMX%2F%2F6%2Bc%3D","updated":"2012-12-07 13:00:52.000000000","message":"Done","commit_id":"6b00807a05c07e0f6754239292854ea04577da97"}],"quantum/tests/unit/test_db_plugin.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"07c299c5d536b208a521f486e55651179abc1f74","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    def new_delete_request(self, resource, id, fmt\u003d\u0027json\u0027):"},{"line_number":157,"context_line":"        return self._req(\u0027DELETE\u0027, resource, None, fmt, id\u003did)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def new_update_request(self, resource, data, id, fmt\u003d\u0027json\u0027, params\u003dNone):"},{"line_number":160,"context_line":"        return self._req(\u0027PUT\u0027, resource, data, fmt, id\u003did, params\u003dparams)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def new_action_request(self, resource, data, id, action, fmt\u003d\u0027json\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMX%2F%2F5qY%3D","line":159,"updated":"2012-12-09 07:16:37.000000000","message":"Why add \u0027params\u0027 for update request?","commit_id":"352698725f298a87ed2d68cb1d6c019f0f66514d"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"unresolved":false,"context_lines":[{"line_number":156,"context_line":"    def new_delete_request(self, resource, id, fmt\u003d\u0027json\u0027):"},{"line_number":157,"context_line":"        return self._req(\u0027DELETE\u0027, resource, None, fmt, id\u003did)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def new_update_request(self, resource, data, id, fmt\u003d\u0027json\u0027, params\u003dNone):"},{"line_number":160,"context_line":"        return self._req(\u0027PUT\u0027, resource, data, fmt, id\u003did, params\u003dparams)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def new_action_request(self, resource, data, id, action, fmt\u003d\u0027json\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAMX%2F%2F5pQ%3D","line":159,"in_reply_to":"AAAAMX%2F%2F5qY%3D","updated":"2012-12-09 07:35:15.000000000","message":"My bad. It is for previous patch. I try to use a random string appending the URL so that the server will not try to cache it.","commit_id":"352698725f298a87ed2d68cb1d6c019f0f66514d"}]}
