)]}'
{"neutron/services/firewall/fwaas_plugin.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"721a4b3521d8ebcc57437984e7c9e53f7c3325c5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            context,"},{"line_number":54,"context_line":"            filters\u003d{\u0027device_owner\u0027: [constants.DEVICE_OWNER_ROUTER_INTF],"},{"line_number":55,"context_line":"                     \u0027device_id\u0027: [r[\u0027id\u0027] for r in tenant_routers]})"},{"line_number":56,"context_line":"    return bool(tenant_routers) and bool(router_ports)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class FirewallCallbacks(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_73773609","line":56,"updated":"2014-06-16 10:59:34.000000000","message":"Why do you need to set it to bool? Lists are valid arguments in bool context.","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0d3fb5c60fe0fcf28dcf4c67e093928a88976c59","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            context,"},{"line_number":54,"context_line":"            filters\u003d{\u0027device_owner\u0027: [constants.DEVICE_OWNER_ROUTER_INTF],"},{"line_number":55,"context_line":"                     \u0027device_id\u0027: [r[\u0027id\u0027] for r in tenant_routers]})"},{"line_number":56,"context_line":"    return bool(tenant_routers) and bool(router_ports)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class FirewallCallbacks(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_271ba874","line":56,"in_reply_to":"1ae5cdf2_5c1087ab","updated":"2014-06-16 11:59:37.000000000","message":"But indeed, I shouldn\u0027t expect it to be any better in terms of performance (we don\u0027t know and should not rely on how and operation is implemented for lists). So ignore my comment.","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"59d1f211e2d08e9389599d8ca7d2f0620fe70089","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            context,"},{"line_number":54,"context_line":"            filters\u003d{\u0027device_owner\u0027: [constants.DEVICE_OWNER_ROUTER_INTF],"},{"line_number":55,"context_line":"                     \u0027device_id\u0027: [r[\u0027id\u0027] for r in tenant_routers]})"},{"line_number":56,"context_line":"    return bool(tenant_routers) and bool(router_ports)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class FirewallCallbacks(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_967cb0ed","line":56,"in_reply_to":"1ae5cdf2_73773609","updated":"2014-06-16 11:29:25.000000000","message":"The semantics of the method is (tenant_id) -\u003e bool","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"bf039237245df8f616e9671d0427f9c374c1b18b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            context,"},{"line_number":54,"context_line":"            filters\u003d{\u0027device_owner\u0027: [constants.DEVICE_OWNER_ROUTER_INTF],"},{"line_number":55,"context_line":"                     \u0027device_id\u0027: [r[\u0027id\u0027] for r in tenant_routers]})"},{"line_number":56,"context_line":"    return bool(tenant_routers) and bool(router_ports)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class FirewallCallbacks(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_5c1087ab","line":56,"in_reply_to":"1ae5cdf2_967cb0ed","updated":"2014-06-16 11:51:12.000000000","message":"Ok, fair enough. Then return bool(tenant_routers and router_ports), no?","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"721a4b3521d8ebcc57437984e7c9e53f7c3325c5","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                \"%(tenant_id)s. Only one firewall is supported per tenant.\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class FirewallRouterInsufficient(n_exception.Conflict):"},{"line_number":177,"context_line":"    message \u003d _(\"Tenant %(tenant_id)s doesn\u0027t have any routers with \""},{"line_number":178,"context_line":"                \"interfaces.\")"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_d3a2ca4a","line":176,"updated":"2014-06-16 10:59:34.000000000","message":"I would make the name more specific. Like \u0027FirewallNoRouterWithInterfaces\u0027. But that\u0027s on your consideration.","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"59d1f211e2d08e9389599d8ca7d2f0620fe70089","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                \"%(tenant_id)s. Only one firewall is supported per tenant.\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class FirewallRouterInsufficient(n_exception.Conflict):"},{"line_number":177,"context_line":"    message \u003d _(\"Tenant %(tenant_id)s doesn\u0027t have any routers with \""},{"line_number":178,"context_line":"                \"interfaces.\")"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_01213cfc","line":176,"in_reply_to":"1ae5cdf2_d3a2ca4a","updated":"2014-06-16 11:29:25.000000000","message":"Done","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"721a4b3521d8ebcc57437984e7c9e53f7c3325c5","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class FirewallRouterInsufficient(n_exception.Conflict):"},{"line_number":177,"context_line":"    message \u003d _(\"Tenant %(tenant_id)s doesn\u0027t have any routers with \""},{"line_number":178,"context_line":"                \"interfaces.\")"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_f3ffc633","line":177,"updated":"2014-06-16 10:59:34.000000000","message":"Can you add a docstring, as in line 146?","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"59d1f211e2d08e9389599d8ca7d2f0620fe70089","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"class FirewallRouterInsufficient(n_exception.Conflict):"},{"line_number":177,"context_line":"    message \u003d _(\"Tenant %(tenant_id)s doesn\u0027t have any routers with \""},{"line_number":178,"context_line":"                \"interfaces.\")"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_c101146c","line":177,"in_reply_to":"1ae5cdf2_f3ffc633","updated":"2014-06-16 11:29:25.000000000","message":"Done","commit_id":"1372e1b0a1aa1963a8d1c41b535ba2416b6eb515"}]}
