)]}'
{"openstack_dashboard/dashboards/identity/projects/workflows.py":[{"author":{"_account_id":8040,"name":"Timur Sufiev","email":"tsufiev@gmail.com","username":"tsufiev"},"change_message_id":"b07f7a28c521c02039a5f16f2e0b5305c7b18777","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                tenant \u003d api.keystone.tenant_list("},{"line_number":173,"context_line":"                    self.request,"},{"line_number":174,"context_line":"                    domain\u003ddomain_id,"},{"line_number":175,"context_line":"                    filters\u003d{\u0027name\u0027: project_name})[0]"},{"line_number":176,"context_line":"            else:"},{"line_number":177,"context_line":"                tenant \u003d [t for t in api.keystone.tenant_list("},{"line_number":178,"context_line":"                    self.request,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dac4157f_a27869c5","line":175,"updated":"2015-04-21 19:03:32.000000000","message":"No need to pick a single project here because [] is also false in a context of line 181 check. Though exception for [][0] is going to be catched on line 184, it\u0027d be clearer IMO to not cause it.","commit_id":"2bbed36bbc3e5969323c78ac8f2cb7e1ae3b3b48"},{"author":{"_account_id":12525,"name":"vishwanath jayaraman","email":"vishwanathj@hotmail.com","username":"vish"},"change_message_id":"3d089362723120a66c0d8bbaf3b895c83d5176dd","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                    domain\u003ddomain_id)[0] if t.name \u003d\u003d project_name]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"            if tenant:"},{"line_number":182,"context_line":"                msg \u003d _(\u0027Project name is in use.\u0027)"},{"line_number":183,"context_line":"                raise forms.ValidationError(msg)"},{"line_number":184,"context_line":"        except Exception:"},{"line_number":185,"context_line":"            exceptions.handle(self.request, ignore\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aca2d91_a25b202e","line":182,"updated":"2015-05-06 05:10:44.000000000","message":"Would agree that the messaging could be improved such as \"Project name is already in use. Please input a name that is not already in use\"","commit_id":"513419a1e0caef2ecf8e878e009d479f1df4ff3b"},{"author":{"_account_id":10442,"name":"Masco Kaliyamoorthy","email":"mkaliyam@redhat.com","username":"masco"},"change_message_id":"bc35b6bb13da4122c36e0e9fdcd44a9058010687","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                    domain\u003ddomain_id)[0] if t.name \u003d\u003d project_name]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"            if tenant:"},{"line_number":182,"context_line":"                msg \u003d _(\u0027Project name is in use.\u0027)"},{"line_number":183,"context_line":"                raise forms.ValidationError(msg)"},{"line_number":184,"context_line":"        except Exception:"},{"line_number":185,"context_line":"            exceptions.handle(self.request, ignore\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":7,"id":"bab921fb_1ff33575","line":182,"updated":"2015-04-23 06:58:57.000000000","message":"nit: we can show the message little clear\n\"project name is in use. Use different one.\"","commit_id":"513419a1e0caef2ecf8e878e009d479f1df4ff3b"},{"author":{"_account_id":10442,"name":"Masco Kaliyamoorthy","email":"mkaliyam@redhat.com","username":"masco"},"change_message_id":"02980db08c9889215864c0ae6ff249639c7eec02","unresolved":false,"context_lines":[{"line_number":175,"context_line":"                    filters\u003d{\u0027name\u0027: project_name})"},{"line_number":176,"context_line":"            else:"},{"line_number":177,"context_line":"                tenant \u003d [t for t in api.keystone.tenant_list("},{"line_number":178,"context_line":"                    self.request)[0] if t.name \u003d\u003d project_name]"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if tenant:"},{"line_number":181,"context_line":"                msg \u003d _(\u0027Project name is already in use. Please use a \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9af37de9_6ae4cd3a","line":178,"updated":"2015-05-11 09:52:28.000000000","message":"we can break the loop once the project name found in the list. no need to iterate till the end.\n How about using the \u0027in\u0027 operator?","commit_id":"5a1f2684336c8df67f08c09a57a61e1caefebf68"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"2f43dfb2195fd63da3a245a76127aeed350e563a","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            else:"},{"line_number":177,"context_line":"                tenant \u003d [t for t in api.keystone.tenant_list("},{"line_number":178,"context_line":"                    self.request)[0] if t.name \u003d\u003d project_name]"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if tenant:"},{"line_number":181,"context_line":"                msg \u003d _(\u0027Project name is already in use. Please use a \u0027"},{"line_number":182,"context_line":"                        \u0027different name.\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1aca2d91_5dbdcbb5","line":179,"updated":"2015-05-08 21:14:06.000000000","message":"same question as other review - what is the user experience when a few thousand projects are present?","commit_id":"5a1f2684336c8df67f08c09a57a61e1caefebf68"},{"author":{"_account_id":10556,"name":"Dimitri Mazmanov","email":"dimitri.mazmanov@ericsson.com","username":"edimmaz"},"change_message_id":"de3afd3f9f68c4f8838468e972b230831494cca0","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            else:"},{"line_number":177,"context_line":"                tenant \u003d [t for t in api.keystone.tenant_list("},{"line_number":178,"context_line":"                    self.request)[0] if t.name \u003d\u003d project_name]"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if tenant:"},{"line_number":181,"context_line":"                msg \u003d _(\u0027Project name is already in use. Please use a \u0027"},{"line_number":182,"context_line":"                        \u0027different name.\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9af37de9_c4dcdc48","line":179,"in_reply_to":"1aca2d91_5dbdcbb5","updated":"2015-05-10 17:47:20.000000000","message":"as Timur has mentioned, keystone.v2 will be deprecated in liberty, so there\u0027s no need to worry about performance issues as only the filter based tenant_list will be used.","commit_id":"5a1f2684336c8df67f08c09a57a61e1caefebf68"},{"author":{"_account_id":10556,"name":"Dimitri Mazmanov","email":"dimitri.mazmanov@ericsson.com","username":"edimmaz"},"change_message_id":"83ca1cc4cff9f47bb16c02b6cca8538b18218d33","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        project_name \u003d self.cleaned_data[\u0027name\u0027]"},{"line_number":169,"context_line":"        domain_id \u003d self.cleaned_data[\u0027domain_id\u0027]"},{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            if keystone.VERSIONS.active \u003e\u003d 3:"},{"line_number":172,"context_line":"                tenant \u003d api.keystone.tenant_list("},{"line_number":173,"context_line":"                    self.request,"},{"line_number":174,"context_line":"                    domain\u003ddomain_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9af37de9_16c1e8e4","line":171,"updated":"2015-05-11 12:22:26.000000000","message":"Due to potential performance issues I removed the validation for the keystone.v2.","commit_id":"81b99a2d9d7f27f5558826ae0dcb1e0effc995b1"},{"author":{"_account_id":10442,"name":"Masco Kaliyamoorthy","email":"mkaliyam@redhat.com","username":"masco"},"change_message_id":"e5e19a6740c17751eec50e2e36a9ec1101e82886","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        project_name \u003d self.cleaned_data[\u0027name\u0027]"},{"line_number":169,"context_line":"        domain_id \u003d self.cleaned_data[\u0027domain_id\u0027]"},{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            if keystone.VERSIONS.active \u003e\u003d 3:"},{"line_number":172,"context_line":"                tenant \u003d api.keystone.tenant_list("},{"line_number":173,"context_line":"                    self.request,"},{"line_number":174,"context_line":"                    domain\u003ddomain_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9af37de9_ca5bb453","line":171,"in_reply_to":"9af37de9_16c1e8e4","updated":"2015-05-11 12:52:12.000000000","message":"similar to previous patch,\nadd this as a code comment for future reference.","commit_id":"81b99a2d9d7f27f5558826ae0dcb1e0effc995b1"},{"author":{"_account_id":10556,"name":"Dimitri Mazmanov","email":"dimitri.mazmanov@ericsson.com","username":"edimmaz"},"change_message_id":"761cc916bcc84a296f52b27c2d3a12f975e8b701","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        project_name \u003d self.cleaned_data[\u0027name\u0027]"},{"line_number":169,"context_line":"        domain_id \u003d self.cleaned_data[\u0027domain_id\u0027]"},{"line_number":170,"context_line":"        try:"},{"line_number":171,"context_line":"            if keystone.VERSIONS.active \u003e\u003d 3:"},{"line_number":172,"context_line":"                tenant \u003d api.keystone.tenant_list("},{"line_number":173,"context_line":"                    self.request,"},{"line_number":174,"context_line":"                    domain\u003ddomain_id,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9af37de9_4d311ea2","line":171,"in_reply_to":"9af37de9_ca5bb453","updated":"2015-05-11 13:05:16.000000000","message":"Done","commit_id":"81b99a2d9d7f27f5558826ae0dcb1e0effc995b1"}]}
