)]}'
{"dragonflow/db/neutron/lockedobjects_db.py":[{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"f9a1c36a850458893fd8888801516f1f487ac3e7","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def _get_lock_id_by_resource_type(resource_type, *args, **kwargs):"},{"line_number":99,"context_line":"    if RESOURCE_DF_PLUGIN \u003d\u003d resource_type:"},{"line_number":100,"context_line":"        lock_id \u003d args[1].project_id"},{"line_number":101,"context_line":"    elif RESOURCE_ML2_NETWORK_OR_PORT \u003d\u003d resource_type:"},{"line_number":102,"context_line":"        lock_id \u003d args[1].current[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_dc4125a8","line":99,"range":{"start_line":99,"start_character":7,"end_line":99,"end_character":42},"updated":"2017-12-19 13:13:10.000000000","message":"nit for readability: maybe do this using a map?","commit_id":"fb07a82e98016eded7eae7c31b6cb90d0286fdbc"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"597020ea1bbd5327a8311501216b776b55290cdb","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def _get_lock_id_by_resource_type(resource_type, *args, **kwargs):"},{"line_number":99,"context_line":"    if RESOURCE_DF_PLUGIN \u003d\u003d resource_type:"},{"line_number":100,"context_line":"        lock_id \u003d args[1].project_id"},{"line_number":101,"context_line":"    elif RESOURCE_ML2_NETWORK_OR_PORT \u003d\u003d resource_type:"},{"line_number":102,"context_line":"        lock_id \u003d args[1].current[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf8cb3f7_316556b6","line":99,"range":{"start_line":99,"start_character":7,"end_line":99,"end_character":42},"in_reply_to":"df87a7cf_05dac976","updated":"2017-12-21 20:20:01.000000000","message":"Agree","commit_id":"fb07a82e98016eded7eae7c31b6cb90d0286fdbc"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"e882ffbb4ce9c66bad11c9565705e831d4141944","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"def _get_lock_id_by_resource_type(resource_type, *args, **kwargs):"},{"line_number":99,"context_line":"    if RESOURCE_DF_PLUGIN \u003d\u003d resource_type:"},{"line_number":100,"context_line":"        lock_id \u003d args[1].project_id"},{"line_number":101,"context_line":"    elif RESOURCE_ML2_NETWORK_OR_PORT \u003d\u003d resource_type:"},{"line_number":102,"context_line":"        lock_id \u003d args[1].current[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_05dac976","line":99,"range":{"start_line":99,"start_character":7,"end_line":99,"end_character":42},"in_reply_to":"df87a7cf_dc4125a8","updated":"2017-12-19 18:46:33.000000000","message":"Hmm... It will probably look like:\n\ntry:\n    return {\n        RESOURCE_...1: lambda: args[1]...1,\n        RESOURCE_...2: lambda: args[1]...2,\n        RESOURCE_...3: lambda: kwargs[...],\n    }[resource_type]\nexcept KeyError:\n    raise UnsupportedException(...)\n\nIt is more readable, but should be in a separate patch. I am also a little worried about creating so many lambdas, performance-wise.\n\nI thought about maybe creating a different decorator per resource type, and then creating just the relevant function during construction (since we know the function logic at construction. I\u0027ll think about it some more.\n\nIn any case, I think this should definitely go in a different patch :)","commit_id":"fb07a82e98016eded7eae7c31b6cb90d0286fdbc"}]}
