)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ac516de91f8472aeb1c10df6ecb5a2a1cbd93dc6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix list floating IPs does not honor port_id filter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"add dic to translate API fields to DB fields"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I5f10eea77533e91afeb690e39301d7282e1b1620"},{"line_number":12,"context_line":"Fixes: bug #1169706"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOn%2F%2Ft5M%3D","line":9,"updated":"2013-04-26 13:14:11.000000000","message":"typo -\u003e dict. Probably using \"map\" here is better for understanding","commit_id":"85c3d4dcf78a43fadd8790b78a548e16a1f92b4e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     openstack \u003csylvain.afchain@enovance.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-04-30 13:57:13 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fix list floating IPs does not honor port_id filter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add dict. to map API params to DB columns"},{"line_number":10,"context_line":"Add unit test"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAOn%2F%2Fn8c%3D","line":7,"updated":"2013-05-01 14:47:22.000000000","message":"Sorry but I do not understand the explanation","commit_id":"0cd076cfdd8beb258b75f1234a00218bb83c68c1"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":7,"context_line":"fix list floating IPs does not honor port_id filter"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add dict. to map API params to DB columns"},{"line_number":10,"context_line":"Add unit test"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I5f10eea77533e91afeb690e39301d7282e1b1620"},{"line_number":13,"context_line":"Fixes: bug #1169706"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAOn%2F%2Fn84%3D","line":10,"updated":"2013-05-01 14:47:22.000000000","message":"you do not need to add this.","commit_id":"0cd076cfdd8beb258b75f1234a00218bb83c68c1"}],"quantum/db/l3_db.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"unresolved":false,"context_lines":[{"line_number":44,"context_line":"DEVICE_OWNER_ROUTER_GW \u003d l3_constants.DEVICE_OWNER_ROUTER_GW"},{"line_number":45,"context_line":"DEVICE_OWNER_FLOATINGIP \u003d l3_constants.DEVICE_OWNER_FLOATINGIP"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Maps API field to DB column"},{"line_number":48,"context_line":"API_TO_DB_COL \u003d {\u0027port_id\u0027: \u0027fixed_port_id\u0027}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FtX8%3D","line":47,"updated":"2013-04-26 18:14:49.000000000","message":"Please consider adding an explanation as to why this is needed.  In the future there may be cases where more filter aliases are introduced and this would help developers avoid the same problem we ran with port_id vs fixed_port_id.","commit_id":"85c3d4dcf78a43fadd8790b78a548e16a1f92b4e"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":45,"context_line":"DEVICE_OWNER_FLOATINGIP \u003d l3_constants.DEVICE_OWNER_FLOATINGIP"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"# Maps API field to DB column"},{"line_number":48,"context_line":"API_TO_DB_COL \u003d {\u0027port_id\u0027: \u0027fixed_port_id\u0027}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class Router(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FtAw%3D","line":48,"updated":"2013-04-26 21:45:02.000000000","message":"I prefer API_TO_DB_COLUMN_MAP","commit_id":"85c3d4dcf78a43fadd8790b78a548e16a1f92b4e"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"unresolved":false,"context_lines":[{"line_number":713,"context_line":"                        page_reverse\u003dFalse):"},{"line_number":714,"context_line":"        marker_obj \u003d self._get_marker_obj(context, \u0027floatingip\u0027, limit,"},{"line_number":715,"context_line":"                                          marker)"},{"line_number":716,"context_line":"        if filters is not None:"},{"line_number":717,"context_line":"            for f in set(filters.keys()).\\"},{"line_number":718,"context_line":"                    intersection(set(API_TO_DB_COL.keys())):"},{"line_number":719,"context_line":"                filters[API_TO_DB_COL[f]] \u003d filters.pop(f)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FtYI%3D","line":716,"updated":"2013-04-26 18:14:49.000000000","message":"I am scratching my head on this one. If the only objective here is to replace Nova\u0027s filter names with Quantum\u0027s ones, wouldn\u0027t it much more readable to do something like:\n\nfor key, val in API_TO_DB_COL.iteritems():\n    if key in filters:\n        filters[val] \u003d filters.pop(key)\n\nCould you clarify your intentions?","commit_id":"85c3d4dcf78a43fadd8790b78a548e16a1f92b4e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":714,"context_line":"        marker_obj \u003d self._get_marker_obj(context, \u0027floatingip\u0027, limit,"},{"line_number":715,"context_line":"                                          marker)"},{"line_number":716,"context_line":"        if filters is not None:"},{"line_number":717,"context_line":"            for f in set(filters.keys()).\\"},{"line_number":718,"context_line":"                    intersection(set(API_TO_DB_COL.keys())):"},{"line_number":719,"context_line":"                filters[API_TO_DB_COL[f]] \u003d filters.pop(f)"},{"line_number":720,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FttM%3D","line":717,"updated":"2013-04-26 15:21:20.000000000","message":"please try not to use the \\","commit_id":"85c3d4dcf78a43fadd8790b78a548e16a1f92b4e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":44,"context_line":"DEVICE_OWNER_FLOATINGIP \u003d l3_constants.DEVICE_OWNER_FLOATINGIP"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Maps API field to DB column"},{"line_number":47,"context_line":"# API param name and Database column names can be not equals."},{"line_number":48,"context_line":"# Useful to keep the filtering between API and Database."},{"line_number":49,"context_line":"API_TO_DB_COLUMN_MAP \u003d {\u0027port_id\u0027: \u0027fixed_port_id\u0027}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2Fn8o%3D","line":47,"updated":"2013-05-01 14:47:22.000000000","message":"Consider: \"API parameter name and Database column names may differ\"","commit_id":"0cd076cfdd8beb258b75f1234a00218bb83c68c1"}]}
