)]}'
{"keystone/common/json_home.py":[{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"a7dcd77f00da91110de6049f1cffa8dab63ffe0e","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    DEPRECATED \u003d \u0027deprecated\u0027"},{"line_number":61,"context_line":"    EXPERIMENTAL \u003d \u0027experimental\u0027"},{"line_number":62,"context_line":"    STABLE \u003d \u0027stable\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a80dd14_dce4ed0e","line":62,"updated":"2015-03-13 11:13:18.000000000","message":"Since we don\u0027t know yet if we are going to support \u0027stable\u0027 status for stable APIs, it would be better to not have this type for now, and then add if we go for it.","commit_id":"380a2dbb2d14d5979220741c1cfbb9f952498e0f"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"1d6552be193697e79cfb87e847615dad9b5b4cd2","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    DEPRECATED \u003d \u0027deprecated\u0027"},{"line_number":61,"context_line":"    EXPERIMENTAL \u003d \u0027experimental\u0027"},{"line_number":62,"context_line":"    STABLE \u003d \u0027stable\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a80dd14_54b272e5","line":62,"in_reply_to":"9a80dd14_a20ffd37","updated":"2015-03-14 00:06:53.000000000","message":"Makes sense to me. Thanks","commit_id":"380a2dbb2d14d5979220741c1cfbb9f952498e0f"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"37199a3c45eededd566b448722cb1c1425095e20","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    DEPRECATED \u003d \u0027deprecated\u0027"},{"line_number":61,"context_line":"    EXPERIMENTAL \u003d \u0027experimental\u0027"},{"line_number":62,"context_line":"    STABLE \u003d \u0027stable\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9a80dd14_a20ffd37","line":62,"in_reply_to":"9a80dd14_dce4ed0e","updated":"2015-03-13 19:07:23.000000000","message":"Well, actually we do use stable at the top level of our v3 API...so I\u0027d like to leave this definition here, then have a second patch that replaces the existing hard coded status in /v3 for this one.","commit_id":"380a2dbb2d14d5979220741c1cfbb9f952498e0f"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"a7dcd77f00da91110de6049f1cffa8dab63ffe0e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"},{"line_number":66,"context_line":"        return status in [cls.DEPRECATED, cls.EXPERIMENTAL, cls.STABLE]"},{"line_number":67,"context_line":"        "},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def translate_urls(json_home, new_prefix):"},{"line_number":70,"context_line":"    \"\"\"Given a JSON Home document, sticks new_prefix on each of the urls.\"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"9a80dd14_bc6819bb","line":67,"updated":"2015-03-13 11:13:18.000000000","message":"Please remove trailing whitespaces.","commit_id":"380a2dbb2d14d5979220741c1cfbb9f952498e0f"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"37199a3c45eededd566b448722cb1c1425095e20","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"},{"line_number":66,"context_line":"        return status in [cls.DEPRECATED, cls.EXPERIMENTAL, cls.STABLE]"},{"line_number":67,"context_line":"        "},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def translate_urls(json_home, new_prefix):"},{"line_number":70,"context_line":"    \"\"\"Given a JSON Home document, sticks new_prefix on each of the urls.\"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"9a80dd14_bd22bca0","line":67,"in_reply_to":"9a80dd14_bc6819bb","updated":"2015-03-13 19:07:23.000000000","message":"Done","commit_id":"380a2dbb2d14d5979220741c1cfbb9f952498e0f"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f09018102afd1384eb53a3718b1620497d1afb91","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @classmethod"},{"line_number":65,"context_line":"    def is_supported(cls, status):"},{"line_number":66,"context_line":"        return status in [cls.DEPRECATED, cls.EXPERIMENTAL, cls.STABLE]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def translate_urls(json_home, new_prefix):"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_42a366b1","line":66,"updated":"2015-03-16 14:51:50.000000000","message":"this should be using \"is\" to compare rather than \u003d\u003d.\n\n return status is cls.DEPRECATED or status is cls.EXPERIMENTAL or status is cls.STABLE","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"}],"keystone/common/wsgi.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"9f80bdabe1542ddbb38cf1ad409b8eb281a822d0","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":658,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":659,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":660,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":661,"context_line":"        if get_head_action:"},{"line_number":662,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":663,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_8b37e6af","line":660,"updated":"2015-02-28 14:00:19.000000000","message":"this could be in a different change","commit_id":"bfec05e6555e149b66149a461d6289902da68bbc"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"5b4517a4c3c8347bebe03bc8b5ec72bb5daa9a8d","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":658,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":659,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":660,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":661,"context_line":"        if get_head_action:"},{"line_number":662,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":663,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_5cfe92af","line":660,"in_reply_to":"ba7be1f8_8b37e6af","updated":"2015-02-28 20:41:29.000000000","message":"Agreed...although I wanted a test for it....and this seemed pretty ideal!","commit_id":"bfec05e6555e149b66149a461d6289902da68bbc"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"769ba206c066483ed2e01607e59a64a4cb3f4952","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":657,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":658,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":659,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":660,"context_line":"        if get_head_action:"},{"line_number":661,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":662,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_755dfd14","line":659,"updated":"2015-03-12 17:33:08.000000000","message":"Do we want to mark stable APIs with \u0027hints\u0027: {\u0027status\u0027: \u0027stable\u0027} ?\n\nIf so, we should add \u0027stable\u0027 as the default here.","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ba58cf8dfb3feed931059d575337ac716d55f4db","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":657,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":658,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":659,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":660,"context_line":"        if get_head_action:"},{"line_number":661,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":662,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_fc7a96ef","line":659,"in_reply_to":"9a80dd14_755dfd14","updated":"2015-03-13 10:35:48.000000000","message":"Let\u0027s discuss that separately - and if we do want to do that, then have a patch specifically for that","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"74a441f772e1deb40d9d6c52cbdbe6bf733579c9","unresolved":false,"context_lines":[{"line_number":656,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":657,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":658,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":659,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":660,"context_line":"        if get_head_action:"},{"line_number":661,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":662,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_bccad94c","line":659,"in_reply_to":"9a80dd14_fc7a96ef","updated":"2015-03-13 11:13:57.000000000","message":"Agreed","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"769ba206c066483ed2e01607e59a64a4cb3f4952","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        else:"},{"line_number":699,"context_line":"            resource_data[\u0027href\u0027] \u003d path"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        if status:"},{"line_number":702,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"},{"line_number":703,"context_line":"            resource_data[\u0027hints\u0027][\u0027status\u0027] \u003d status"},{"line_number":704,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_b53a1596","line":701,"updated":"2015-03-12 17:33:08.000000000","message":"I think we should assert that the provided status is valid.\nMaybe:\n\n    if status in (\u0027experimental\u0027, \u0027deprecated\u0027):","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ba58cf8dfb3feed931059d575337ac716d55f4db","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        else:"},{"line_number":699,"context_line":"            resource_data[\u0027href\u0027] \u003d path"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        if status:"},{"line_number":702,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"},{"line_number":703,"context_line":"            resource_data[\u0027hints\u0027][\u0027status\u0027] \u003d status"},{"line_number":704,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_5c8642dc","line":701,"in_reply_to":"9a80dd14_75ec1df4","updated":"2015-03-13 10:35:48.000000000","message":"agreed","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":9142,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@lsd.ufcg.edu.br","username":"samuel-z","inactive":true},"change_message_id":"fa2503ea177abc070863d831bbb7447e3e597914","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        else:"},{"line_number":699,"context_line":"            resource_data[\u0027href\u0027] \u003d path"},{"line_number":700,"context_line":""},{"line_number":701,"context_line":"        if status:"},{"line_number":702,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"},{"line_number":703,"context_line":"            resource_data[\u0027hints\u0027][\u0027status\u0027] \u003d status"},{"line_number":704,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_75ec1df4","line":701,"in_reply_to":"9a80dd14_b53a1596","updated":"2015-03-12 17:35:51.000000000","message":"Otherwise, let\u0027s raise an exception.","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"36cdf33ef787b25d42ea381fc0cc3fc4ee435672","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":658,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":659,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":660,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":661,"context_line":"        if get_head_action:"},{"line_number":662,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":663,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_c906b685","line":660,"updated":"2015-03-15 23:52:36.000000000","message":"suggest provide STABLE as a default, then this is self-documenting.","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f09018102afd1384eb53a3718b1620497d1afb91","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":658,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":659,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":660,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":661,"context_line":"        if get_head_action:"},{"line_number":662,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":663,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_62bf8ad0","line":660,"in_reply_to":"9a80dd14_b6838801","updated":"2015-03-16 14:51:50.000000000","message":"The code here could check if the status is STABLE and not add the hint, since it\u0027s the default. No need to have the hints property for STABLE.","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2736349c8d1d17f2f6363fc58d9574f40d60ed44","unresolved":false,"context_lines":[{"line_number":657,"context_line":"                      get_action\u003dNone, head_action\u003dNone, get_head_action\u003dNone,"},{"line_number":658,"context_line":"                      put_action\u003dNone, post_action\u003dNone, patch_action\u003dNone,"},{"line_number":659,"context_line":"                      delete_action\u003dNone, get_post_action\u003dNone,"},{"line_number":660,"context_line":"                      path_vars\u003dNone, status\u003dNone):"},{"line_number":661,"context_line":"        if get_head_action:"},{"line_number":662,"context_line":"            getattr(controller, get_head_action)  # ensure the attribute exists"},{"line_number":663,"context_line":"            mapper.connect(path, controller\u003dcontroller, action\u003dget_head_action,"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_b6838801","line":660,"in_reply_to":"9a80dd14_c906b685","updated":"2015-03-16 13:37:57.000000000","message":"I\u0027m going to do that a separate patch, since it will result in most APIs having a hints property added....","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"36cdf33ef787b25d42ea381fc0cc3fc4ee435672","unresolved":false,"context_lines":[{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        if status:"},{"line_number":703,"context_line":"            if not json_home.Status.is_supported(status):"},{"line_number":704,"context_line":"                raise exception.Error(message\u003d_("},{"line_number":705,"context_line":"                    \u0027Unexpected status requested for JSON Home response, %s\u0027) %"},{"line_number":706,"context_line":"                    status)"},{"line_number":707,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_c9df960b","line":704,"updated":"2015-03-15 23:52:36.000000000","message":"suggest make this Status.check_supported(status) and raise the exception there to make this method simpler.","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6c51ef72c68d3fa5f8c12350467e4f268fd27812","unresolved":false,"context_lines":[{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        if status:"},{"line_number":703,"context_line":"            if not json_home.Status.is_supported(status):"},{"line_number":704,"context_line":"                raise exception.Error(message\u003d_("},{"line_number":705,"context_line":"                    \u0027Unexpected status requested for JSON Home response, %s\u0027) %"},{"line_number":706,"context_line":"                    status)"},{"line_number":707,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_d98588ad","line":704,"in_reply_to":"9a80dd14_c9df960b","updated":"2015-03-16 15:35:52.000000000","message":"++","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2736349c8d1d17f2f6363fc58d9574f40d60ed44","unresolved":false,"context_lines":[{"line_number":701,"context_line":""},{"line_number":702,"context_line":"        if status:"},{"line_number":703,"context_line":"            if not json_home.Status.is_supported(status):"},{"line_number":704,"context_line":"                raise exception.Error(message\u003d_("},{"line_number":705,"context_line":"                    \u0027Unexpected status requested for JSON Home response, %s\u0027) %"},{"line_number":706,"context_line":"                    status)"},{"line_number":707,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_f69fc04d","line":704,"in_reply_to":"9a80dd14_c9df960b","updated":"2015-03-16 13:37:57.000000000","message":"will do in a clean up patch","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"36cdf33ef787b25d42ea381fc0cc3fc4ee435672","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                raise exception.Error(message\u003d_("},{"line_number":705,"context_line":"                    \u0027Unexpected status requested for JSON Home response, %s\u0027) %"},{"line_number":706,"context_line":"                    status)"},{"line_number":707,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"},{"line_number":708,"context_line":"            resource_data[\u0027hints\u0027][\u0027status\u0027] \u003d status"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        self.v3_resources.append((rel, resource_data))"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_49d3a603","line":707,"updated":"2015-03-15 23:52:36.000000000","message":"there\u0027s no way that resource_data could have hints here already, so no need to setdefault.","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"2736349c8d1d17f2f6363fc58d9574f40d60ed44","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                raise exception.Error(message\u003d_("},{"line_number":705,"context_line":"                    \u0027Unexpected status requested for JSON Home response, %s\u0027) %"},{"line_number":706,"context_line":"                    status)"},{"line_number":707,"context_line":"            resource_data.setdefault(\u0027hints\u0027, {})"},{"line_number":708,"context_line":"            resource_data[\u0027hints\u0027][\u0027status\u0027] \u003d status"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        self.v3_resources.append((rel, resource_data))"}],"source_content_type":"text/x-python","patch_set":23,"id":"9a80dd14_d6a47ca7","line":707,"in_reply_to":"9a80dd14_49d3a603","updated":"2015-03-16 13:37:57.000000000","message":"will do in a clean up patch","commit_id":"3b1085b8620dbab82c8e03eb07ebbe10352b36af"}],"keystone/resource/routers.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"65a55ec8d2138899979b1f86cb3dc64ccc0cb8cf","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            patch_action\u003d\u0027update_domain_config_only\u0027,"},{"line_number":54,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":55,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":56,"context_line":"            status\u003d\u0027experimental\u0027,"},{"line_number":57,"context_line":"            path_vars\u003d{"},{"line_number":58,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID"},{"line_number":59,"context_line":"            })"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_7155081d","line":56,"updated":"2015-03-12 20:56:53.000000000","message":"\u0027experimental\u0027 should be a constant defined in json_home, e.g., json_home.Status.EXPERIMENTAL.","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"ba58cf8dfb3feed931059d575337ac716d55f4db","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            patch_action\u003d\u0027update_domain_config_only\u0027,"},{"line_number":54,"context_line":"            delete_action\u003d\u0027delete_domain_config\u0027,"},{"line_number":55,"context_line":"            rel\u003djson_home.build_v3_resource_relation(\u0027domain_config\u0027),"},{"line_number":56,"context_line":"            status\u003d\u0027experimental\u0027,"},{"line_number":57,"context_line":"            path_vars\u003d{"},{"line_number":58,"context_line":"                \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID"},{"line_number":59,"context_line":"            })"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a80dd14_5688de70","line":56,"in_reply_to":"9a80dd14_7155081d","updated":"2015-03-13 10:35:48.000000000","message":"Done","commit_id":"709f36cc5f5b542b3c8202d8b14a4cc3447b4244"}],"keystone/tests/unit/test_versions.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"dcc12e38538a1a87cd743160a05b353d694ba306","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        \u0027/domains/{domain_id}/config\u0027,"},{"line_number":496,"context_line":"        \u0027href-vars\u0027: {"},{"line_number":497,"context_line":"            \u0027domain_id\u0027: json_home.Parameters.DOMAIN_ID},"},{"line_number":498,"context_line":"        \u0027hints\u0027: {\u0027status\u0027: \u0027experimental\u0027}},"},{"line_number":499,"context_line":"    json_home.build_v3_resource_relation(\u0027domain_config\u0027): {"},{"line_number":500,"context_line":"        \u0027href-template\u0027:"},{"line_number":501,"context_line":"        \u0027/domains/{domain_id}/config/{group}\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a80dd14_5cbac26e","line":498,"updated":"2015-03-06 20:56:52.000000000","message":"the v3 API spec doesn\u0027t say anything about this use of status in hints, so nobody\u0027s going to know what to do with it. http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3.html#json-home","commit_id":"fd2600a184b65612e93e319fd1eb40dad03fa57a"}]}
