)]}'
{"cinderclient/base.py":[{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"74dedc2a7e18cbb216751ecf8272198943393f89","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        elif \u0027display_name\u0027 in kwargs:"},{"line_number":372,"context_line":"            search_opts[\u0027display_name\u0027] \u003d kwargs[\u0027display_name\u0027]"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        found \u003d common_base.ListWithMeta([], None)"},{"line_number":375,"context_line":"        searches \u003d kwargs.items()"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        listing \u003d self.list(search_opts\u003dsearch_opts)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_2a911553","line":374,"range":{"start_line":374,"start_character":40,"end_line":374,"end_character":44},"updated":"2016-02-16 10:33:42.000000000","message":"Instead of creating a new ListWithMeta object we can return the ListWithMeta object returned at line #377 by removing the objects which does not satisfy the condition at line #384.\n\n\nif not all(getattr(obj, attr) \u003d\u003d value\n           for (attr, value) in searches):\n    listing.remove(obj)\n\n\nThen return \"listing\" which will eliminate the need of defining an additional list \"found\".","commit_id":"8c0f84f8ad9501c79988f7188dc7b7d67e958048"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"fd2ad5f13a81c3e69689e90b15e65e92962c84f1","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        elif \u0027display_name\u0027 in kwargs:"},{"line_number":372,"context_line":"            search_opts[\u0027display_name\u0027] \u003d kwargs[\u0027display_name\u0027]"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"        found \u003d common_base.ListWithMeta([], None)"},{"line_number":375,"context_line":"        searches \u003d kwargs.items()"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        listing \u003d self.list(search_opts\u003dsearch_opts)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_915aed4e","line":374,"range":{"start_line":374,"start_character":40,"end_line":374,"end_character":44},"in_reply_to":"dae33548_2a911553","updated":"2016-02-17 01:30:33.000000000","message":"Hi,Ankit Agrawal:\nThank you for your review.\nIt seems that we can\u0027t traverse a list and remove its elements at the same time:\n\u003e\u003e\u003e listing \u003d [1, 2, 3, 4, 5]\n\u003e\u003e\u003e for obj in listing:\n...     listing.remove(obj)             # all elements are entend to be removed,but some are lost.\n... \n\u003e\u003e\u003e listing\n[2, 4]\n\nThanks","commit_id":"8c0f84f8ad9501c79988f7188dc7b7d67e958048"}]}
