)]}'
{"oslo_utils/dictutils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":20,"context_line":"    :param d: dictionaries which may be nested"},{"line_number":21,"context_line":"    :param separator: symbol between names"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    for name, value in sorted(iter(d.items())):"},{"line_number":24,"context_line":"        if isinstance(value, dict):"},{"line_number":25,"context_line":"            for subname, subvalue in flatten_dict_to_keypairs(value,"},{"line_number":26,"context_line":"                                                              separator):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f6357f6_84af6fb9","line":23,"range":{"start_line":23,"start_character":23,"end_line":23,"end_character":47},"updated":"2021-02-01 10:41:02.000000000","message":"This isn\u0027t necessary. \u0027.items()\u0027 returns an interator in Python 3","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    :param d: dictionaries which may be nested"},{"line_number":21,"context_line":"    :param separator: symbol between names"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":"    for name, value in sorted(iter(d.items())):"},{"line_number":24,"context_line":"        if isinstance(value, dict):"},{"line_number":25,"context_line":"            for subname, subvalue in flatten_dict_to_keypairs(value,"},{"line_number":26,"context_line":"                                                              separator):"}],"source_content_type":"text/x-python","patch_set":6,"id":"e8869903_f90557a2","line":23,"range":{"start_line":23,"start_character":23,"end_line":23,"end_character":47},"in_reply_to":"7f6357f6_84af6fb9","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"}],"oslo_utils/netutils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":284,"context_line":"    \"\"\""},{"line_number":285,"context_line":"    m \u003d \"[0-9a-f]{2}(:[0-9a-f]{2}){5}$\""},{"line_number":286,"context_line":"    return (isinstance(address, str) and"},{"line_number":287,"context_line":"            re.match(m, address.lower()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"def _is_int_in_range(value, start, end):"}],"source_content_type":"text/x-python","patch_set":6,"id":"2553b849_7f5b4ae3","line":287,"updated":"2021-02-01 10:41:02.000000000","message":"nit: can fit on one line","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":284,"context_line":"    \"\"\""},{"line_number":285,"context_line":"    m \u003d \"[0-9a-f]{2}(:[0-9a-f]{2}){5}$\""},{"line_number":286,"context_line":"    return (isinstance(address, str) and"},{"line_number":287,"context_line":"            re.match(m, address.lower()))"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"def _is_int_in_range(value, start, end):"}],"source_content_type":"text/x-python","patch_set":6,"id":"25f9915a_073b8c30","line":287,"in_reply_to":"2553b849_7f5b4ae3","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"}],"oslo_utils/reflection.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"44a2ecb03245ebf416ea1d9e525be81c8ffcf03d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Signature \u003d inspect.Signature"},{"line_number":44,"context_line":"get_signature \u003d inspect.signature"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def get_members(obj, exclude_hidden\u003dTrue):"},{"line_number":47,"context_line":"    \"\"\"Yields the members of an object, filtering by hidden/not hidden."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    .. versionadded:: 2.3"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_9bc61015","line":46,"updated":"2020-10-07 04:16:03.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"cf969df2a27fbf706b707fc61ea13d7357286d24"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"84928ec7357b18e245471bf5a900da2b67695dbf","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    if not inspect.ismethod(method):"},{"line_number":156,"context_line":"        return None"},{"line_number":157,"context_line":"    try:"},{"line_number":158,"context_line":"        return operator.attrgetter(method)"},{"line_number":159,"context_line":"    except AttributeError:"},{"line_number":160,"context_line":"        return None"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_aab57fd2","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":42},"updated":"2020-10-07 08:01:27.000000000","message":"Something went wrong here:\n\n```\n2020-10-07 07:04:10.478543 | ubuntu-focal |     b\u0027Traceback (most recent call last):\u0027\n2020-10-07 07:04:10.478555 | ubuntu-focal |     b\u0027  File \"/home/zuul/src/opendev.org/openstack/oslo.utils/oslo_utils/tests/test_reflection.py\", line 220, in test_inner_callable_class\u0027\n2020-10-07 07:04:10.478567 | ubuntu-focal |     b\u0027    name \u003d reflection.get_callable_name(obj.__call__)\u0027\n2020-10-07 07:04:10.478578 | ubuntu-focal |     b\u0027  File \"/home/zuul/src/opendev.org/openstack/oslo.utils/oslo_utils/reflection.py\", line 118, in get_callable_name\u0027\n2020-10-07 07:04:10.478597 | ubuntu-focal |     b\u0027    method_self \u003d get_method_self(function)\u0027\n2020-10-07 07:04:10.478610 | ubuntu-focal |     b\u0027  File \"/home/zuul/src/opendev.org/openstack/oslo.utils/oslo_utils/reflection.py\", line 158, in get_method_self\u0027\n2020-10-07 07:04:10.478622 | ubuntu-focal |     b\u0027    return operator.attrgetter(method)\u0027\n2020-10-07 07:04:10.478633 | ubuntu-focal |     b\u0027TypeError: attribute name must be a string\u0027\n```","commit_id":"042651b20d742e6edc2cb3f6813c8891a6eecc0a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"fdf9e3453ad48b39df0d15cb3b483bbccbac503a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    if not inspect.ismethod(method):"},{"line_number":156,"context_line":"        return None"},{"line_number":157,"context_line":"    try:"},{"line_number":158,"context_line":"        return operator.attrgetter(method)"},{"line_number":159,"context_line":"    except AttributeError:"},{"line_number":160,"context_line":"        return None"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_8a64fb4a","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":42},"in_reply_to":"9f560f44_aab57fd2","updated":"2020-10-09 01:32:47.000000000","message":"Done","commit_id":"042651b20d742e6edc2cb3f6813c8891a6eecc0a"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"84928ec7357b18e245471bf5a900da2b67695dbf","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        # another object if the objects have __eq__ methods that return true"},{"line_number":196,"context_line":"        # (when in fact it is a different bound method). Python u so crazy!"},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            self1 \u003d operator.attrgetter(callback1)"},{"line_number":199,"context_line":"            self2 \u003d operator.attrgetter(callback2)"},{"line_number":200,"context_line":"            return self1 is self2"},{"line_number":201,"context_line":"        except AttributeError:  # nosec"},{"line_number":202,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_aa8c5f2e","line":199,"range":{"start_line":198,"start_character":0,"end_line":199,"end_character":50},"updated":"2020-10-07 08:01:27.000000000","message":"Something went wrong here:\n\n```\n2020-10-07 07:04:10.466516 | ubuntu-focal |     b\u0027Traceback (most recent call last):\u0027\n2020-10-07 07:04:10.466523 | ubuntu-focal |     b\u0027  File \"/home/zuul/src/opendev.org/openstack/oslo.utils/oslo_utils/tests/test_reflection.py\", line 162, in test_different_instance_callbacks\u0027\n2020-10-07 07:04:10.466536 | ubuntu-focal |     b\u0027    self.assertTrue(reflection.is_same_callback(b.b, b.b))\u0027\n2020-10-07 07:04:10.466542 | ubuntu-focal |     b\u0027  File \"/home/zuul/src/opendev.org/openstack/oslo.utils/oslo_utils/reflection.py\", line 198, in is_same_callback\u0027\n2020-10-07 07:04:10.466554 | ubuntu-focal |     b\u0027    self1 \u003d operator.attrgetter(callback1)\u0027\n2020-10-07 07:04:10.466561 | ubuntu-focal |     b\u0027TypeError: attribute name must be a string\u0027\n```","commit_id":"042651b20d742e6edc2cb3f6813c8891a6eecc0a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"fdf9e3453ad48b39df0d15cb3b483bbccbac503a","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        # another object if the objects have __eq__ methods that return true"},{"line_number":196,"context_line":"        # (when in fact it is a different bound method). Python u so crazy!"},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            self1 \u003d operator.attrgetter(callback1)"},{"line_number":199,"context_line":"            self2 \u003d operator.attrgetter(callback2)"},{"line_number":200,"context_line":"            return self1 is self2"},{"line_number":201,"context_line":"        except AttributeError:  # nosec"},{"line_number":202,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_2a532f6e","line":199,"range":{"start_line":198,"start_character":0,"end_line":199,"end_character":50},"in_reply_to":"9f560f44_aa8c5f2e","updated":"2020-10-09 01:32:47.000000000","message":"Done","commit_id":"042651b20d742e6edc2cb3f6813c8891a6eecc0a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":223,"context_line":"    are not included into output."},{"line_number":224,"context_line":"    \"\"\""},{"line_number":225,"context_line":"    sig \u003d get_signature(function)"},{"line_number":226,"context_line":"    function_args \u003d list(iter(sig.parameters.keys()))"},{"line_number":227,"context_line":"    for param_name, p in iter(sig.parameters.items()):"},{"line_number":228,"context_line":"        if (p.kind in (Parameter.VAR_POSITIONAL, Parameter.VAR_KEYWORD) or"},{"line_number":229,"context_line":"                (required_only and p.default is not Parameter.empty)):"}],"source_content_type":"text/x-python","patch_set":6,"id":"89d75149_4ba8682c","line":226,"range":{"start_line":226,"start_character":25,"end_line":226,"end_character":53},"updated":"2021-02-01 10:41:02.000000000","message":"unnecessary","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":223,"context_line":"    are not included into output."},{"line_number":224,"context_line":"    \"\"\""},{"line_number":225,"context_line":"    sig \u003d get_signature(function)"},{"line_number":226,"context_line":"    function_args \u003d list(iter(sig.parameters.keys()))"},{"line_number":227,"context_line":"    for param_name, p in iter(sig.parameters.items()):"},{"line_number":228,"context_line":"        if (p.kind in (Parameter.VAR_POSITIONAL, Parameter.VAR_KEYWORD) or"},{"line_number":229,"context_line":"                (required_only and p.default is not Parameter.empty)):"}],"source_content_type":"text/x-python","patch_set":6,"id":"eaaeeb35_5a974d90","line":226,"range":{"start_line":226,"start_character":25,"end_line":226,"end_character":53},"in_reply_to":"89d75149_4ba8682c","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":224,"context_line":"    \"\"\""},{"line_number":225,"context_line":"    sig \u003d get_signature(function)"},{"line_number":226,"context_line":"    function_args \u003d list(iter(sig.parameters.keys()))"},{"line_number":227,"context_line":"    for param_name, p in iter(sig.parameters.items()):"},{"line_number":228,"context_line":"        if (p.kind in (Parameter.VAR_POSITIONAL, Parameter.VAR_KEYWORD) or"},{"line_number":229,"context_line":"                (required_only and p.default is not Parameter.empty)):"},{"line_number":230,"context_line":"            function_args.remove(param_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"33325288_a5f912f9","line":227,"updated":"2021-02-01 10:41:02.000000000","message":"ditto","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":224,"context_line":"    \"\"\""},{"line_number":225,"context_line":"    sig \u003d get_signature(function)"},{"line_number":226,"context_line":"    function_args \u003d list(iter(sig.parameters.keys()))"},{"line_number":227,"context_line":"    for param_name, p in iter(sig.parameters.items()):"},{"line_number":228,"context_line":"        if (p.kind in (Parameter.VAR_POSITIONAL, Parameter.VAR_KEYWORD) or"},{"line_number":229,"context_line":"                (required_only and p.default is not Parameter.empty)):"},{"line_number":230,"context_line":"            function_args.remove(param_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"e1f867aa_a15a149e","line":227,"in_reply_to":"33325288_a5f912f9","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":235,"context_line":"    \"\"\"Returns ``True`` if function accepts kwargs otherwise ``False``.\"\"\""},{"line_number":236,"context_line":"    sig \u003d get_signature(function)"},{"line_number":237,"context_line":"    return any(p.kind \u003d\u003d Parameter.VAR_KEYWORD"},{"line_number":238,"context_line":"               for p in iter(sig.parameters.values()))"}],"source_content_type":"text/x-python","patch_set":6,"id":"e4582ca5_e6c6e16a","line":238,"updated":"2021-02-01 10:41:02.000000000","message":"ditto","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":235,"context_line":"    \"\"\"Returns ``True`` if function accepts kwargs otherwise ``False``.\"\"\""},{"line_number":236,"context_line":"    sig \u003d get_signature(function)"},{"line_number":237,"context_line":"    return any(p.kind \u003d\u003d Parameter.VAR_KEYWORD"},{"line_number":238,"context_line":"               for p in iter(sig.parameters.values()))"}],"source_content_type":"text/x-python","patch_set":6,"id":"ce2fee03_cbf85a79","line":238,"in_reply_to":"e4582ca5_e6c6e16a","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"}],"oslo_utils/tests/test_fileutils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":130,"context_line":"    def check_file_content(self, path):"},{"line_number":131,"context_line":"        with open(path, \u0027r\u0027) as fd:"},{"line_number":132,"context_line":"            ans \u003d fd.read()"},{"line_number":133,"context_line":"            self.assertEqual(self.content, ans.encode(\"latin-1\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def test_file_without_path_and_suffix(self):"},{"line_number":136,"context_line":"        res \u003d fileutils.write_to_tempfile(self.content)"}],"source_content_type":"text/x-python","patch_set":6,"id":"e48c47ec_5ba3d87b","line":133,"range":{"start_line":133,"start_character":43,"end_line":133,"end_character":64},"updated":"2021-02-01 10:41:02.000000000","message":"you can just call \u0027bytes(ans)\u0027","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def check_file_content(self, path):"},{"line_number":131,"context_line":"        with open(path, \u0027r\u0027) as fd:"},{"line_number":132,"context_line":"            ans \u003d fd.read()"},{"line_number":133,"context_line":"            self.assertEqual(self.content, ans.encode(\"latin-1\"))"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def test_file_without_path_and_suffix(self):"},{"line_number":136,"context_line":"        res \u003d fileutils.write_to_tempfile(self.content)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5c4cfd74_9b20ccd4","line":133,"range":{"start_line":133,"start_character":43,"end_line":133,"end_character":64},"in_reply_to":"e48c47ec_5ba3d87b","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":203,"context_line":"    def check_file_content(self, content, path):"},{"line_number":204,"context_line":"        with open(path, \u0027r\u0027) as fd:"},{"line_number":205,"context_line":"            ans \u003d fd.read()"},{"line_number":206,"context_line":"            self.assertEqual(content, ans.encode(\"latin-1\"))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def test_compute_checksum_default_algorithm(self):"},{"line_number":209,"context_line":"        path \u003d fileutils.write_to_tempfile(self.content)"}],"source_content_type":"text/x-python","patch_set":6,"id":"386a57f8_e9c1fbc5","line":206,"updated":"2021-02-01 10:41:02.000000000","message":"ditto","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    def check_file_content(self, content, path):"},{"line_number":204,"context_line":"        with open(path, \u0027r\u0027) as fd:"},{"line_number":205,"context_line":"            ans \u003d fd.read()"},{"line_number":206,"context_line":"            self.assertEqual(content, ans.encode(\"latin-1\"))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    def test_compute_checksum_default_algorithm(self):"},{"line_number":209,"context_line":"        path \u003d fileutils.write_to_tempfile(self.content)"}],"source_content_type":"text/x-python","patch_set":6,"id":"0b22a399_7ea19580","line":206,"in_reply_to":"386a57f8_e9c1fbc5","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"}],"oslo_utils/tests/test_fnmatch.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"44a2ecb03245ebf416ea1d9e525be81c8ffcf03d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"import fnmatch as standard_fnmatch"},{"line_number":14,"context_line":"import ntpath"},{"line_number":15,"context_line":"import posixpath"},{"line_number":16,"context_line":"import sys"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslotest import base"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_5b4758a4","line":16,"updated":"2020-10-07 04:16:03.000000000","message":"pep8: F401 \u0027sys\u0027 imported but unused","commit_id":"cf969df2a27fbf706b707fc61ea13d7357286d24"}],"oslo_utils/tests/test_reflection.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"44a2ecb03245ebf416ea1d9e525be81c8ffcf03d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import sys"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslotest import base as test_base"},{"line_number":21,"context_line":"import testtools"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from oslo_utils import reflection"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_bbc31406","line":21,"updated":"2020-10-07 04:16:03.000000000","message":"pep8: F401 \u0027testtools\u0027 imported but unused","commit_id":"cf969df2a27fbf706b707fc61ea13d7357286d24"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"RUNTIME_ERROR_CLASSES \u003d [\u0027RuntimeError\u0027, \u0027Exception\u0027,"},{"line_number":26,"context_line":"                         \u0027BaseException\u0027, \u0027object\u0027]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def dummy_decorator(f):"}],"source_content_type":"text/x-python","patch_set":6,"id":"a372fa37_956d9363","line":26,"updated":"2021-02-01 10:41:02.000000000","message":"nit: can fit on one line?","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"RUNTIME_ERROR_CLASSES \u003d [\u0027RuntimeError\u0027, \u0027Exception\u0027,"},{"line_number":26,"context_line":"                         \u0027BaseException\u0027, \u0027object\u0027]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def dummy_decorator(f):"}],"source_content_type":"text/x-python","patch_set":6,"id":"6d29e535_621a4094","line":26,"in_reply_to":"a372fa37_956d9363","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4363286704a1ded3d1daf3136f7a9a256030768a","unresolved":true,"context_lines":[{"line_number":188,"context_line":"    def test_static_method(self):"},{"line_number":189,"context_line":"        name \u003d reflection.get_callable_name(Class.static_method)"},{"line_number":190,"context_line":"        self.assertEqual(\u0027.\u0027.join((__name__, \u0027Class\u0027, \u0027static_method\u0027)),"},{"line_number":191,"context_line":"                         name)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_class_method(self):"},{"line_number":194,"context_line":"        name \u003d reflection.get_callable_name(Class.class_method)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bb0c9817_6abb10f4","line":191,"updated":"2021-02-01 10:41:02.000000000","message":"ditto","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"63f58d6b96a27610641a883cfcbcbf3937a36bf5","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def test_static_method(self):"},{"line_number":189,"context_line":"        name \u003d reflection.get_callable_name(Class.static_method)"},{"line_number":190,"context_line":"        self.assertEqual(\u0027.\u0027.join((__name__, \u0027Class\u0027, \u0027static_method\u0027)),"},{"line_number":191,"context_line":"                         name)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def test_class_method(self):"},{"line_number":194,"context_line":"        name \u003d reflection.get_callable_name(Class.class_method)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1191a3_fe29d54b","line":191,"in_reply_to":"bb0c9817_6abb10f4","updated":"2021-02-01 10:56:53.000000000","message":"Done","commit_id":"cfe9881e6b363251d09e59e9b6c8a21ab6fbef37"}],"oslo_utils/tests/test_strutils.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"014e08297df7f66de396c6c2e1132c7cf7d1ec79","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class StrUtilsTest(test_base.BaseTestCase):"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @mock.patch(\"str\")"},{"line_number":36,"context_line":"    def test_bool_bool_from_string_no_text(self, mock_text):"},{"line_number":37,"context_line":"        self.assertTrue(strutils.bool_from_string(True))"},{"line_number":38,"context_line":"        self.assertFalse(strutils.bool_from_string(False))"},{"line_number":39,"context_line":"        self.assertEqual(0, mock_text.call_count)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_bool_bool_from_string(self):"},{"line_number":42,"context_line":"        self.assertTrue(strutils.bool_from_string(True))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_fbf90782","line":39,"range":{"start_line":35,"start_character":0,"end_line":39,"end_character":49},"updated":"2020-10-07 11:27:54.000000000","message":"I don\u0027t think we should drop this.\n\nIf you face an issue with that it\u0027s maybe that we have a problem somewhere else.\n\nThoughts?","commit_id":"a559349b9eff9be79245067d258e43df408987be"}],"oslo_utils/tests/tests_encodeutils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"44a2ecb03245ebf416ea1d9e525be81c8ffcf03d","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_i18n import fixture as oslo_i18n_fixture"},{"line_number":21,"context_line":"from oslotest import base as test_base"},{"line_number":22,"context_line":"import testtools"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from oslo_utils import encodeutils"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_1b4de0c4","line":22,"updated":"2020-10-07 04:16:03.000000000","message":"pep8: F401 \u0027testtools\u0027 imported but unused","commit_id":"cf969df2a27fbf706b707fc61ea13d7357286d24"}],"oslo_utils/versionutils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"44a2ecb03245ebf416ea1d9e525be81c8ffcf03d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            version \u003d convert_version_to_tuple(version)"},{"line_number":62,"context_line":"        if isinstance(version, tuple):"},{"line_number":63,"context_line":"            return functools.reduce(lambda x, y: (x * 1000) + y, version)"},{"line_number":64,"context_line":"            #return reduce(lambda x, y: (x * 1000) + y, version)"},{"line_number":65,"context_line":"    except Exception as ex:"},{"line_number":66,"context_line":"        msg \u003d _(\"Version %s is invalid.\") % version"},{"line_number":67,"context_line":"        raise ValueError(msg) from ex"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_7b4cdcc7","line":64,"updated":"2020-10-07 04:16:03.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"cf969df2a27fbf706b707fc61ea13d7357286d24"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"6201eafc276b70524d2c9ec369a2199d83d19362","unresolved":false,"context_lines":[{"line_number":19,"context_line":".. versionadded:: 1.6"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import functools"},{"line_number":23,"context_line":"import packaging.version"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo_utils._i18n import _"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_0c910247","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":16},"updated":"2020-10-09 07:36:06.000000000","message":"I wonder if we should an empty line after this one","commit_id":"4e59c8534f7bbbd9f4da559fca6552d5f836129e"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"70462df8ab36d8704514bc457f45725fe1988b5a","unresolved":false,"context_lines":[{"line_number":19,"context_line":".. versionadded:: 1.6"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import functools"},{"line_number":23,"context_line":"import packaging.version"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from oslo_utils._i18n import _"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_40bbbb73","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":16},"in_reply_to":"9f560f44_0c910247","updated":"2020-10-09 11:21:26.000000000","message":"Done","commit_id":"4e59c8534f7bbbd9f4da559fca6552d5f836129e"}]}
