)]}'
{"openstack_dashboard/dashboards/project/instances/workflows/create_instance.py":[{"author":{"_account_id":16769,"name":"Lucas Palm","email":"lapalm@us.ibm.com","username":"lucaspalm"},"change_message_id":"b5eb98ac41a5e3186c1aa6f806782240a9bb66cd","unresolved":false,"context_lines":[{"line_number":585,"context_line":"            else:"},{"line_number":586,"context_line":"                name \u003d \"{}\""},{"line_number":587,"context_line":"            if base.is_service_enabled(request, \u0027network\u0027):"},{"line_number":588,"context_line":"                security_group_list \u003d [(sg.id,"},{"line_number":589,"context_line":"                                       name.format(sg.name,"},{"line_number":590,"context_line":"                                                   truncatechars(sg.id, 15)))"},{"line_number":591,"context_line":"                                       for sg in groups]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_d19e3bb8","line":588,"updated":"2015-12-08 14:57:23.000000000","message":"After first declaring the function that I have written here:\n\nhttp://paste.openstack.org/show/481173/\n\nI would then call it like:\n\nsecurity_group_list \u003d _get_sec_group_list(groups)\n\nThis method will also clean up the code a little bit as it currently is a little tough to read/understand at first.","commit_id":"948e4e94386231f87d34979ef79a67a07575bd1b"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"657f10e1d045e2cb588c0dd32313d2f492360c0b","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        return cleaned_data"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    @staticmethod"},{"line_number":605,"context_line":"    def _get_sec_group_list(groups, use_name\u003dFalse):"},{"line_number":606,"context_line":"        sec_group_list \u003d []"},{"line_number":607,"context_line":"        s \u003d set()"},{"line_number":608,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"}],"source_content_type":"text/x-python","patch_set":12,"id":"dab17558_88bdab6a","line":605,"range":{"start_line":605,"start_character":36,"end_line":605,"end_character":50},"updated":"2016-05-09 14:20:27.000000000","message":"unused param?","commit_id":"4a8fcb644e8d7f1dc5d85ac301d03992670dd53e"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"e40994a7997021cc100c6c50f84f0051fbe22db9","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        return cleaned_data"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    @staticmethod"},{"line_number":605,"context_line":"    def _get_sec_group_list(groups, use_name\u003dFalse):"},{"line_number":606,"context_line":"        sec_group_list \u003d []"},{"line_number":607,"context_line":"        s \u003d set()"},{"line_number":608,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"}],"source_content_type":"text/x-python","patch_set":12,"id":"dab17558_8b83e555","line":605,"range":{"start_line":605,"start_character":36,"end_line":605,"end_character":50},"in_reply_to":"dab17558_88bdab6a","updated":"2016-05-09 14:24:05.000000000","message":"sorry for mistake of last comment:-)","commit_id":"4a8fcb644e8d7f1dc5d85ac301d03992670dd53e"},{"author":{"_account_id":6763,"name":"jingliuqing","email":"jing.liuqing@99cloud.net","username":"jing"},"change_message_id":"657f10e1d045e2cb588c0dd32313d2f492360c0b","unresolved":false,"context_lines":[{"line_number":608,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"},{"line_number":609,"context_line":"        for group in groups:"},{"line_number":610,"context_line":"            if group.name in dupes:"},{"line_number":611,"context_line":"                name \u003d \"{} ({})\""},{"line_number":612,"context_line":"            else:"},{"line_number":613,"context_line":"                name \u003d \"{}\""},{"line_number":614,"context_line":"            sec_group_list.append((group.name if use_name else group.id,"}],"source_content_type":"text/x-python","patch_set":12,"id":"dab17558_0b3c15c7","line":611,"range":{"start_line":611,"start_character":16,"end_line":611,"end_character":20},"updated":"2016-05-09 14:20:27.000000000","message":"could have reasonable variable name such as `format_pattern`?","commit_id":"4a8fcb644e8d7f1dc5d85ac301d03992670dd53e"},{"author":{"_account_id":13325,"name":"Paul Karikh","email":"pkarikh@gmail.com","username":"paul.karikh"},"change_message_id":"1bcd1d35b2283d82e8b306d8582c6952167a50bc","unresolved":false,"context_lines":[{"line_number":608,"context_line":"    def _get_sec_group_list(groups, use_name\u003dFalse):"},{"line_number":609,"context_line":"        sec_group_list \u003d []"},{"line_number":610,"context_line":"        s \u003d set()"},{"line_number":611,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"},{"line_number":612,"context_line":"        for group in groups:"},{"line_number":613,"context_line":"            if group.name in dupes:"},{"line_number":614,"context_line":"                name \u003d \"{} ({})\""}],"source_content_type":"text/x-python","patch_set":14,"id":"dada55a8_2f5fb273","line":611,"updated":"2016-07-18 12:56:02.000000000","message":"Maybe it is codestyle nits but what do you think about re-writing this line? Looks like too much logic: `loop`, `if` and `or`  in one line.","commit_id":"7789863ac3f4eb69aac5912c33cfb22476e0e3bc"},{"author":{"_account_id":12281,"name":"Itxaka","email":"igarcia@suse.com","username":"itxaka"},"change_message_id":"9edaac9d99f2941b1b8dcc53ae7df948787a9730","unresolved":false,"context_lines":[{"line_number":608,"context_line":"    def _get_sec_group_list(groups, use_name\u003dFalse):"},{"line_number":609,"context_line":"        sec_group_list \u003d []"},{"line_number":610,"context_line":"        s \u003d set()"},{"line_number":611,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"},{"line_number":612,"context_line":"        for group in groups:"},{"line_number":613,"context_line":"            if group.name in dupes:"},{"line_number":614,"context_line":"                name \u003d \"{} ({})\""}],"source_content_type":"text/x-python","patch_set":14,"id":"dada55a8_53ac27a0","line":611,"in_reply_to":"dada55a8_2f5fb273","updated":"2016-07-19 08:39:00.000000000","message":"I do agree. While its kind of beautiful, it can be a pain in the ass to understand.\n\nWill try to simplify it instead of a one-liner.","commit_id":"7789863ac3f4eb69aac5912c33cfb22476e0e3bc"},{"author":{"_account_id":13325,"name":"Paul Karikh","email":"pkarikh@gmail.com","username":"paul.karikh"},"change_message_id":"0627abaf93c4948fd7ef3bf029f980bb52d032a1","unresolved":false,"context_lines":[{"line_number":608,"context_line":"    def _get_sec_group_list(groups, use_name\u003dFalse):"},{"line_number":609,"context_line":"        sec_group_list \u003d []"},{"line_number":610,"context_line":"        s \u003d set()"},{"line_number":611,"context_line":"        dupes \u003d set(x.name for x in groups if x.name in s or s.add(x.name))"},{"line_number":612,"context_line":"        for group in groups:"},{"line_number":613,"context_line":"            if group.name in dupes:"},{"line_number":614,"context_line":"                name \u003d \"{} ({})\""}],"source_content_type":"text/x-python","patch_set":14,"id":"dada55a8_3fb05143","line":611,"in_reply_to":"dada55a8_53ac27a0","updated":"2016-07-19 09:51:54.000000000","message":"Great, thanks!:) I think the approach of 613-617 line is ok.","commit_id":"7789863ac3f4eb69aac5912c33cfb22476e0e3bc"}]}
