)]}'
{"neutron/common/coordination.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"799192a61985a93ed805bc40644c0288013ee798","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \"\"\"This is a copy of the inspect.getargspec."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Since py36 marked this as deprecated."},{"line_number":33,"context_line":"    It should be removed when neutron stop supporting python2.7."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Get the names and default values of a function\u0027s arguments."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_197d091c","line":33,"updated":"2019-06-03 07:45:33.000000000","message":"I don\u0027t understand. Why this and getcallargs functions needs to be here?","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"fa4130d24fd97234a9156d0209f7824d843c21d1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    \"\"\"This is a copy of the inspect.getargspec."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Since py36 marked this as deprecated."},{"line_number":33,"context_line":"    It should be removed when neutron stop supporting python2.7."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Get the names and default values of a function\u0027s arguments."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_73745e9a","line":33,"in_reply_to":"9fb8cfa7_197d091c","updated":"2019-06-03 15:11:11.000000000","message":"IIRC, I have explained this many times, maybe you can read the context from original patch set, : )\nhttps://review.opendev.org/#/c/656163/","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"799192a61985a93ed805bc40644c0288013ee798","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    return arg2value"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"def synchronized(lock_name):"},{"line_number":157,"context_line":"    \"\"\"Synchronization decorator."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    :param str lock_name: Lock name."}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_59986169","line":156,"updated":"2019-06-03 07:45:33.000000000","message":"I\u0027m not sure if this should be here or maybe in neutron-lib. I wonder what others thing about it.","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"fa4130d24fd97234a9156d0209f7824d843c21d1","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    return arg2value"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"def synchronized(lock_name):"},{"line_number":157,"context_line":"    \"\"\"Synchronization decorator."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    :param str lock_name: Lock name."}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_939a32c3","line":156,"in_reply_to":"9fb8cfa7_59986169","updated":"2019-06-03 15:11:11.000000000","message":"Maybe someday later, but not now.  A TODO mark maybe.  Many many times neutron patch sets are blocked by neutron-lib. This is something weird, IMO, we reversed the priority. Neutron\u0027s own development cycle priority should be considered first. Almost every neutron change with constant or utils function, will become a cross-project developing. This may affect the motivation of activity contributors.\nAnd more important thing is we can not test neutron with neutron-lib master branch. So once neutron test can work with master neutron-lib then we may find a more positive development process.\nSo, for now, this is not widely used, let\u0027s make this stable in neutron first, and then move to neutron-lib, make sense ?","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"799192a61985a93ed805bc40644c0288013ee798","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def _synchronized(f, *a, **k):"},{"line_number":193,"context_line":"        if six.PY2:"},{"line_number":194,"context_line":"            # \u0027noqa\u0027 do not work:"},{"line_number":195,"context_line":"            # call_args \u003d inspect.getcallargs(f, *a, **k)  # noqa"},{"line_number":196,"context_line":"            # so call a local copy function getcallargs."},{"line_number":197,"context_line":"            call_args \u003d getcallargs(f, *a, **k)"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_f973554c","line":195,"range":{"start_line":195,"start_character":14,"end_line":195,"end_character":65},"updated":"2019-06-03 07:45:33.000000000","message":"what is the issue with calling it that way that You would need \"noqa\"?","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"254a985746895f8e8e0018dd5ad5f44f65d3e86a","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def _synchronized(f, *a, **k):"},{"line_number":193,"context_line":"        if six.PY2:"},{"line_number":194,"context_line":"            # \u0027noqa\u0027 do not work:"},{"line_number":195,"context_line":"            # call_args \u003d inspect.getcallargs(f, *a, **k)  # noqa"},{"line_number":196,"context_line":"            # so call a local copy function getcallargs."},{"line_number":197,"context_line":"            call_args \u003d getcallargs(f, *a, **k)"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_5d3c8ebe","line":195,"range":{"start_line":195,"start_character":14,"end_line":195,"end_character":65},"in_reply_to":"9fb8cfa7_42dce573","updated":"2019-06-05 21:44:22.000000000","message":"but is this deprecation warning any problem?\n\nIf most of this code here is only to avoid deprecation warning in pylint why not do simply something like:\n\n    # pylint: disable\u003ddeprecated-method\n    call_args \u003d inspect.getcallargs(f, *a, **k)\n\nSuch simple comment should disable this specific warning :)","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"61bf1319b74b219ad48baed483826dfe03b93520","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def _synchronized(f, *a, **k):"},{"line_number":193,"context_line":"        if six.PY2:"},{"line_number":194,"context_line":"            # \u0027noqa\u0027 do not work:"},{"line_number":195,"context_line":"            # call_args \u003d inspect.getcallargs(f, *a, **k)  # noqa"},{"line_number":196,"context_line":"            # so call a local copy function getcallargs."},{"line_number":197,"context_line":"            call_args \u003d getcallargs(f, *a, **k)"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_ea76d5d8","line":195,"range":{"start_line":195,"start_character":14,"end_line":195,"end_character":65},"in_reply_to":"9fb8cfa7_5d3c8ebe","updated":"2019-06-06 02:12:32.000000000","message":"It works, thanks.","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"fa4130d24fd97234a9156d0209f7824d843c21d1","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def _synchronized(f, *a, **k):"},{"line_number":193,"context_line":"        if six.PY2:"},{"line_number":194,"context_line":"            # \u0027noqa\u0027 do not work:"},{"line_number":195,"context_line":"            # call_args \u003d inspect.getcallargs(f, *a, **k)  # noqa"},{"line_number":196,"context_line":"            # so call a local copy function getcallargs."},{"line_number":197,"context_line":"            call_args \u003d getcallargs(f, *a, **k)"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_42dce573","line":195,"range":{"start_line":195,"start_character":14,"end_line":195,"end_character":65},"in_reply_to":"9fb8cfa7_f973554c","updated":"2019-06-03 15:11:11.000000000","message":"It is pylint check, \"Deprecation Warning\" will be raised here. \u0027noqa\u0027 does not work, since \"noqa\" is only for flake8.\n\n************* Module neutron.common.coordination\nneutron/common/coordination.py:195:24: W1505: Using deprecated method getcallargs() (deprecated-method)","commit_id":"3a88c106963aed8da09add004471759e29e1251f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6e5a3035ca479b7b6bd7357d537c3ccd742dceea","unresolved":false,"context_lines":[{"line_number":24,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def synchronized(lock_name):"},{"line_number":28,"context_line":"    \"\"\"Synchronization decorator."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    :param str lock_name: Lock name."}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_f6d55cb8","line":27,"updated":"2019-06-06 08:03:09.000000000","message":"as per our IRC discussion, we can propose it here first as it will be easy to backport. But later we should IMO think about proposing this to Oslo_concurrency lib as other projects may benefit from it too.","commit_id":"975143fd08f38819859b2251da568af58c8f3a33"}]}
