)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix best_match() deprecation warning"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"wsgi call to best_match() generates the following warning:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DeprecationWarning: The behavior of .best_match for the Accept classes"},{"line_number":12,"context_line":"is currently being maintained for backward compatibility,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_54834c07","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":25},"updated":"2018-10-17 10:57:53.000000000","message":"you can mention the below link in commit msg for deprecated method of accept API. \n\n- https://docs.pylonsproject.org/projects/webob/en/stable/api/webob.html#webob.acceptparse.AcceptValidHeader.best_match","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1586389d17a50d73e02a6b79225004d9f70521e0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix best_match() deprecation warning"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"wsgi call to best_match() generates the following warning:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DeprecationWarning: The behavior of .best_match for the Accept classes"},{"line_number":12,"context_line":"is currently being maintained for backward compatibility,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_3f251517","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":25},"in_reply_to":"3f79a3b5_54834c07","updated":"2018-10-19 05:35:53.000000000","message":"Done","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"}],"nova/api/openstack/wsgi.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                    content_type \u003d possible_type"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"            if not content_type:"},{"line_number":163,"context_line":"                best_matches \u003d self.accept.acceptable_offers("},{"line_number":164,"context_line":"                    get_supported_content_types())"},{"line_number":165,"context_line":"                if best_matches:"},{"line_number":166,"context_line":"                    content_type \u003d best_matches[0][0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b4bf40c9","line":163,"range":{"start_line":163,"start_character":43,"end_line":163,"end_character":60},"updated":"2018-10-17 10:57:53.000000000","message":"there is no exact replacement for self.accept.best_match() and acceptable_offers is the one i found as close as we can.\n \n\"The offers are returned in descending order of preference\" so choosing the first value seems reasonable. \n\n- https://docs.pylonsproject.org/projects/webob/en/stable/api/webob.html#webob.acceptparse.AcceptValidHeader.acceptable_offers","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1586389d17a50d73e02a6b79225004d9f70521e0","unresolved":false,"context_lines":[{"line_number":160,"context_line":"                    content_type \u003d possible_type"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"            if not content_type:"},{"line_number":163,"context_line":"                best_matches \u003d self.accept.acceptable_offers("},{"line_number":164,"context_line":"                    get_supported_content_types())"},{"line_number":165,"context_line":"                if best_matches:"},{"line_number":166,"context_line":"                    content_type \u003d best_matches[0][0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_df7f41ba","line":163,"range":{"start_line":163,"start_character":43,"end_line":163,"end_character":60},"in_reply_to":"3f79a3b5_b4bf40c9","updated":"2018-10-19 05:35:53.000000000","message":"It is same code in neutron and glance.\nSee the following code.\n\nhttps://github.com/openstack/neutron/blob/f253d676b8f96b52f16382830349da50c3e366bc/neutron/wsgi.py#L245-L255\nhttps://github.com/openstack/glance/blob/674059187da983946aec65827fd591948466c6a6/glance/common/wsgi.py#L1047-L1062","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        if not self.accept_language:"},{"line_number":202,"context_line":"            return None"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        best_match \u003d self.accept_language.lookup("},{"line_number":205,"context_line":"            i18n.get_available_languages(), default\u003d\u0027fake_LANG\u0027)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        if best_match \u003d\u003d \u0027fake_LANG\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_74e76847","line":204,"range":{"start_line":204,"start_character":41,"end_line":204,"end_character":49},"updated":"2018-10-17 10:57:53.000000000","message":"lookup() is best replacement for best_match as per Accept APIs. \n\nhttps://docs.pylonsproject.org/projects/webob/en/stable/api/webob.html#webob.acceptparse.AcceptLanguageValidHeader.lookup","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            return None"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        best_match \u003d self.accept_language.lookup("},{"line_number":205,"context_line":"            i18n.get_available_languages(), default\u003d\u0027fake_LANG\u0027)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        if best_match \u003d\u003d \u0027fake_LANG\u0027:"},{"line_number":208,"context_line":"            best_match \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_547d8c6e","line":205,"range":{"start_line":205,"start_character":44,"end_line":205,"end_character":51},"updated":"2018-10-17 10:57:53.000000000","message":"passing \u0027default\u0027 is much safer here than \u0027default_tag\u0027.\n\nlookup() accept 2 arg to decide the default behavior.\n 1. \u0027default_tag\u0027 which is a tag returned when no match and this default tag is not in header with q\u003d0\n 2. \u0027default\u0027 if \u0027default_tag\u0027 is not passed and no match then this callable is called. if this is not callable then value itself is returned which is \"fake_lang\" in this case.\n\nThis is also little tricky that \u0027default\u0027 value cannot be None. At least one of default_tag or default must be supplied as an argument to the method, to define the defaulting behavior.\n\ncan we add a note with explaining the above behaviour so  that is easy for reviewer and also for future ref.\n\nNOTE: To decide the default behavior, \u0027default\u0027 is preferred over \u0027default_tag\u0027 because that is return as it is when no match. This is also little tricky that \u0027default\u0027 value cannot be None. At least one of default_tag or default must be supplied as an argument to the method, to define the defaulting behavior. So passing a sentinal value to return None from this function.","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6adff8bc5528290d517e1e4cf6a173d0230de2d5","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            return None"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        best_match \u003d self.accept_language.lookup("},{"line_number":205,"context_line":"            i18n.get_available_languages(), default\u003d\u0027fake_LANG\u0027)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        if best_match \u003d\u003d \u0027fake_LANG\u0027:"},{"line_number":208,"context_line":"            best_match \u003d None"},{"line_number":209,"context_line":"        return best_match"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def set_api_version_request(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_71d421eb","line":208,"range":{"start_line":205,"start_character":44,"end_line":208,"end_character":29},"updated":"2018-10-19 06:18:02.000000000","message":"we should add the comment to explain this sentinal value. i wrote a example NOTE in previous PS review comment","commit_id":"4ef7b05a1759312ebbcda321e658beca16cce2a8"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"bc88bbe229b824d21947ad317efa2a2fb5f59281","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            return None"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        best_match \u003d self.accept_language.lookup("},{"line_number":205,"context_line":"            i18n.get_available_languages(), default\u003d\u0027fake_LANG\u0027)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        if best_match \u003d\u003d \u0027fake_LANG\u0027:"},{"line_number":208,"context_line":"            best_match \u003d None"},{"line_number":209,"context_line":"        return best_match"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def set_api_version_request(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_3540b504","line":208,"range":{"start_line":205,"start_character":44,"end_line":208,"end_character":29},"in_reply_to":"3f79a3b5_71d421eb","updated":"2018-10-22 05:38:25.000000000","message":"Done","commit_id":"4ef7b05a1759312ebbcda321e658beca16cce2a8"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8a8177a26855a6fe1a1725d5f9b6df7a0611b6b9","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            return None"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        # NOTE(takashin): To decide the default behavior, \u0027default\u0027 is"},{"line_number":141,"context_line":"        # preferred over \u0027default_tag\u0027 because that is return as it is when"},{"line_number":142,"context_line":"        # no match. This is also little tricky that \u0027default\u0027 value cannot be"},{"line_number":143,"context_line":"        # None. At least one of default_tag or default must be supplied as"},{"line_number":144,"context_line":"        # an argument to the method, to define the defaulting behavior."}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_cd53d814","line":141,"range":{"start_line":141,"start_character":55,"end_line":141,"end_character":61},"updated":"2018-11-05 19:22:43.000000000","message":"nit: s/return/returned/","commit_id":"cbaddd6b778d5f96142c9393e3dd24002109cfe0"}],"nova/tests/unit/api/openstack/test_wsgi.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":112,"context_line":"        self.assertEqual(request.best_match_language(), \u0027en_GB\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_prefix(self):"},{"line_number":115,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"},{"line_number":116,"context_line":"        accepted \u003d \u0027zh\u0027"},{"line_number":117,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":118,"context_line":"        self.assertEqual(request.best_match_language(), \u0027zh_CN\u0027)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_secondary(self):"},{"line_number":121,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_34e570dc","side":"PARENT","line":118,"range":{"start_line":114,"start_character":0,"end_line":118,"end_character":64},"updated":"2018-10-17 10:57:53.000000000","message":"we can keep this test also to check the prefix match","commit_id":"d3686890c1dc6cec208b5b298530a65d5c546548"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6adff8bc5528290d517e1e4cf6a173d0230de2d5","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":112,"context_line":"        self.assertEqual(request.best_match_language(), \u0027en_GB\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_prefix(self):"},{"line_number":115,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"},{"line_number":116,"context_line":"        accepted \u003d \u0027zh\u0027"},{"line_number":117,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":118,"context_line":"        self.assertEqual(request.best_match_language(), \u0027zh_CN\u0027)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_secondary(self):"},{"line_number":121,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f1ca7117","side":"PARENT","line":118,"range":{"start_line":114,"start_character":0,"end_line":118,"end_character":64},"in_reply_to":"3f79a3b5_31ff89b2","updated":"2018-10-19 06:18:02.000000000","message":"yeah this also change. previously it used to search the best options based on matching prefix but thats not case with lookup().\n\nIs this behavior change ok to go, i think yes, with assumption that user are passing full name not prefix.","commit_id":"d3686890c1dc6cec208b5b298530a65d5c546548"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1586389d17a50d73e02a6b79225004d9f70521e0","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":112,"context_line":"        self.assertEqual(request.best_match_language(), \u0027en_GB\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_prefix(self):"},{"line_number":115,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"},{"line_number":116,"context_line":"        accepted \u003d \u0027zh\u0027"},{"line_number":117,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":118,"context_line":"        self.assertEqual(request.best_match_language(), \u0027zh_CN\u0027)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def test_secondary(self):"},{"line_number":121,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_31ff89b2","side":"PARENT","line":118,"range":{"start_line":114,"start_character":0,"end_line":118,"end_character":64},"in_reply_to":"3f79a3b5_34e570dc","updated":"2018-10-19 05:35:53.000000000","message":"According to RFC 4647, section 3.4,\nLookup progressively truncates subtags from the end of the range until a matching language tag is found.\nSee example in *1.\n\n*1: https://docs.pylonsproject.org/projects/webob/en/stable/api/webob.html#webob.acceptparse.AcceptLanguageValidHeader.lookup\n\nSo I remove this prefix test and add the truncate test.","commit_id":"d3686890c1dc6cec208b5b298530a65d5c546548"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_content_type_accept_default(self):"},{"line_number":74,"context_line":"        request \u003d wsgi.Request.blank(\u0027/tests/123.unsupported\u0027)"},{"line_number":75,"context_line":"        request.headers[\"Accept\"] \u003d \"application/unsupported1\""},{"line_number":76,"context_line":"        result \u003d request.best_match_content_type()"},{"line_number":77,"context_line":"        self.assertEqual(result, \"application/json\")"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_cache_and_retrieve_instances(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7404487e","line":76,"range":{"start_line":76,"start_character":25,"end_line":76,"end_character":48},"updated":"2018-10-17 10:57:53.000000000","message":"can we add few more test to check highest q value is returned from best_match_content_type() now also","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6adff8bc5528290d517e1e4cf6a173d0230de2d5","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_content_type_accept_default(self):"},{"line_number":74,"context_line":"        request \u003d wsgi.Request.blank(\u0027/tests/123.unsupported\u0027)"},{"line_number":75,"context_line":"        request.headers[\"Accept\"] \u003d \"application/unsupported1\""},{"line_number":76,"context_line":"        result \u003d request.best_match_content_type()"},{"line_number":77,"context_line":"        self.assertEqual(result, \"application/json\")"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_cache_and_retrieve_instances(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b19cf95c","line":76,"range":{"start_line":76,"start_character":25,"end_line":76,"end_character":48},"in_reply_to":"3f79a3b5_31cc69bd","updated":"2018-10-19 06:18:02.000000000","message":"humm i prefer to add in this patch  (or before this patch) as you are changing the best_match_content_type() code and it is hard to verify the results before and after change because we do not have test coverage.","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"1586389d17a50d73e02a6b79225004d9f70521e0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_content_type_accept_default(self):"},{"line_number":74,"context_line":"        request \u003d wsgi.Request.blank(\u0027/tests/123.unsupported\u0027)"},{"line_number":75,"context_line":"        request.headers[\"Accept\"] \u003d \"application/unsupported1\""},{"line_number":76,"context_line":"        result \u003d request.best_match_content_type()"},{"line_number":77,"context_line":"        self.assertEqual(result, \"application/json\")"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_cache_and_retrieve_instances(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_31cc69bd","line":76,"range":{"start_line":76,"start_character":25,"end_line":76,"end_character":48},"in_reply_to":"3f79a3b5_7404487e","updated":"2018-10-19 05:35:53.000000000","message":"It is better to add the test. But it should be done in another patch.","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"bc88bbe229b824d21947ad317efa2a2fb5f59281","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_content_type_accept_default(self):"},{"line_number":74,"context_line":"        request \u003d wsgi.Request.blank(\u0027/tests/123.unsupported\u0027)"},{"line_number":75,"context_line":"        request.headers[\"Accept\"] \u003d \"application/unsupported1\""},{"line_number":76,"context_line":"        result \u003d request.best_match_content_type()"},{"line_number":77,"context_line":"        self.assertEqual(result, \"application/json\")"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_cache_and_retrieve_instances(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_75570dcb","line":76,"range":{"start_line":76,"start_character":25,"end_line":76,"end_character":48},"in_reply_to":"3f79a3b5_b19cf95c","updated":"2018-10-22 05:38:25.000000000","message":"Done","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"574a86493f68cbd850b70afcca83ff84d7b14a74","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"},{"line_number":114,"context_line":"        accepted \u003d \u0027*;q\u003d0.5\u0027"},{"line_number":115,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":116,"context_line":"        self.assertIsNone(request.best_match_language())"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def test_asterisk_followed_by_other_language(self):"},{"line_number":119,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_14ab9471","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":56},"updated":"2018-10-17 10:57:53.000000000","message":"yeas, this is change here. it will looks for matching value in the header lang range not with *","commit_id":"cd38220f49c20928fa8af2ca5eba2a074d1498e9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6adff8bc5528290d517e1e4cf6a173d0230de2d5","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"},{"line_number":114,"context_line":"        accepted \u003d \u0027*;q\u003d0.5\u0027"},{"line_number":115,"context_line":"        request.headers \u003d {\u0027Accept-Language\u0027: accepted}"},{"line_number":116,"context_line":"        self.assertIsNone(request.best_match_language())"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def test_asterisk_followed_by_other_language(self):"},{"line_number":119,"context_line":"        request \u003d wsgi.Request.blank(\u0027/\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f1ab516e","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":56},"updated":"2018-10-19 06:18:02.000000000","message":"This is changed behavior. * before used to give first lang in the list but now it will be None. I think this should be ok ? or it can change nova behavior ?\n\nlookup() does not match the * :  \n\n\"In the lookup scheme, this range does not convey enough information by itself to determine which language tag is most appropriate, since it matches everything. If the language range \"*\" is followed by other language ranges, it is skipped. If the language range \"*\" is the only one in the language priority list or if no other language range follows, the default value is computed and returned.\"","commit_id":"4ef7b05a1759312ebbcda321e658beca16cce2a8"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"da5a54c3d7976b31e7cb3626e4dba30d43588165","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        result \u003d request.best_match_content_type()"},{"line_number":77,"context_line":"        self.assertEqual(result, \"application/json\")"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_content_type_accept_with_quality_values(self):"},{"line_number":80,"context_line":"        request \u003d wsgi.Request.blank(\u0027/tests/123\u0027)"},{"line_number":81,"context_line":"        request.headers[\"Accept\"] \u003d ("},{"line_number":82,"context_line":"            \"application/json;q\u003d0.4,\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ec72dae3","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":52},"updated":"2018-10-30 03:30:23.000000000","message":"thanks foe adding this. tough it does not cover the full coverage of best_match_content_type(). We can add more test cases in separate patch.","commit_id":"dd43eccc965e6f809f452cfa156563cb78d385c2"}]}
