)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":10,"context_line":"allows to mount/unmount selected device in a virtual media via a URL."},{"line_number":11,"context_line":"commands are:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\tsushycli manager vmedia list .."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\tsushycli manager vmedia insert/eject .."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1fa4df85_f2dc7a47","line":13,"range":{"start_line":13,"start_character":25,"end_line":13,"end_character":29},"updated":"2020-03-17 17:18:33.000000000","message":"since with all other commands we use \"show\"\nDo you think it is better to keep the same here and change it to show?","commit_id":"c31a288322229fca14505e18140b3c6802e35531"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"14441664b579d920e7b4596af13d97d1da4d806a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"allows to mount/unmount selected device in a virtual media via a URL."},{"line_number":11,"context_line":"commands are:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\tsushycli manager vmedia list .."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\tsushycli manager vmedia insert/eject .."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1fa4df85_3f68651b","line":13,"range":{"start_line":13,"start_character":25,"end_line":13,"end_character":29},"in_reply_to":"1fa4df85_f2dc7a47","updated":"2020-03-20 11:35:44.000000000","message":"Makes sense to me","commit_id":"c31a288322229fca14505e18140b3c6802e35531"}],"setup.cfg":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"f5e1e102d4127e698c8722945ee6f17648855bd9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    system_boot_set \u003d sushycli.system_boot:SystemBootSet"},{"line_number":31,"context_line":"    chassis_list \u003d sushycli.chassis_list:ChassisList"},{"line_number":32,"context_line":"    chassis_inventory_show \u003d sushycli.chassis_inventory:ChassisInventoryShow"},{"line_number":33,"context_line":"    manager_vmedia_insert \u003d sushycli.manager_vmedia:ManagerVmediaInsert"},{"line_number":34,"context_line":"    manager_vmedia_eject \u003d sushycli.manager_vmedia:ManagerVmediaEject"},{"line_number":35,"context_line":"    manager_vmedia_show \u003d sushycli.manager_vmedia:ManagerVmediaShow"},{"line_number":36,"context_line":"    manager_list \u003d sushycli.manager_list:ManagerList"},{"line_number":37,"context_line":"    manager_inventory_show \u003d sushycli.manager_inventory:ManagerInventoryShow"},{"line_number":38,"context_line":"    system_list \u003d sushycli.system_list:SystemList"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"df33271e_bb3e9926","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":67},"updated":"2020-03-26 10:24:29.000000000","message":"Wondering if we want to keep alphabetical order here","commit_id":"a53203eac454bb126d4645f9ca839630d6812bca"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"97be84e36ea3f41d36e00ac066ef28179c4c670c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    system_boot_set \u003d sushycli.system_boot:SystemBootSet"},{"line_number":31,"context_line":"    chassis_list \u003d sushycli.chassis_list:ChassisList"},{"line_number":32,"context_line":"    chassis_inventory_show \u003d sushycli.chassis_inventory:ChassisInventoryShow"},{"line_number":33,"context_line":"    manager_vmedia_insert \u003d sushycli.manager_vmedia:ManagerVmediaInsert"},{"line_number":34,"context_line":"    manager_vmedia_eject \u003d sushycli.manager_vmedia:ManagerVmediaEject"},{"line_number":35,"context_line":"    manager_vmedia_show \u003d sushycli.manager_vmedia:ManagerVmediaShow"},{"line_number":36,"context_line":"    manager_list \u003d sushycli.manager_list:ManagerList"},{"line_number":37,"context_line":"    manager_inventory_show \u003d sushycli.manager_inventory:ManagerInventoryShow"},{"line_number":38,"context_line":"    system_list \u003d sushycli.system_list:SystemList"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"df33271e_93129908","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"df33271e_963bacc6","updated":"2020-03-26 14:21:42.000000000","message":"Done","commit_id":"a53203eac454bb126d4645f9ca839630d6812bca"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"7d56eac22c7f51ef3e795ba38f254e9942de65db","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    system_boot_set \u003d sushycli.system_boot:SystemBootSet"},{"line_number":31,"context_line":"    chassis_list \u003d sushycli.chassis_list:ChassisList"},{"line_number":32,"context_line":"    chassis_inventory_show \u003d sushycli.chassis_inventory:ChassisInventoryShow"},{"line_number":33,"context_line":"    manager_vmedia_insert \u003d sushycli.manager_vmedia:ManagerVmediaInsert"},{"line_number":34,"context_line":"    manager_vmedia_eject \u003d sushycli.manager_vmedia:ManagerVmediaEject"},{"line_number":35,"context_line":"    manager_vmedia_show \u003d sushycli.manager_vmedia:ManagerVmediaShow"},{"line_number":36,"context_line":"    manager_list \u003d sushycli.manager_list:ManagerList"},{"line_number":37,"context_line":"    manager_inventory_show \u003d sushycli.manager_inventory:ManagerInventoryShow"},{"line_number":38,"context_line":"    system_list \u003d sushycli.system_list:SystemList"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"df33271e_db027d0b","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"df33271e_bb3e9926","updated":"2020-03-26 10:32:31.000000000","message":"We maybe can reorder all of those in a follow up","commit_id":"a53203eac454bb126d4645f9ca839630d6812bca"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"16828ab0c930da1e96a651ed54ce88792d03cef5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    system_boot_set \u003d sushycli.system_boot:SystemBootSet"},{"line_number":31,"context_line":"    chassis_list \u003d sushycli.chassis_list:ChassisList"},{"line_number":32,"context_line":"    chassis_inventory_show \u003d sushycli.chassis_inventory:ChassisInventoryShow"},{"line_number":33,"context_line":"    manager_vmedia_insert \u003d sushycli.manager_vmedia:ManagerVmediaInsert"},{"line_number":34,"context_line":"    manager_vmedia_eject \u003d sushycli.manager_vmedia:ManagerVmediaEject"},{"line_number":35,"context_line":"    manager_vmedia_show \u003d sushycli.manager_vmedia:ManagerVmediaShow"},{"line_number":36,"context_line":"    manager_list \u003d sushycli.manager_list:ManagerList"},{"line_number":37,"context_line":"    manager_inventory_show \u003d sushycli.manager_inventory:ManagerInventoryShow"},{"line_number":38,"context_line":"    system_list \u003d sushycli.system_list:SystemList"}],"source_content_type":"text/x-ttcn-cfg","patch_set":5,"id":"df33271e_963bacc6","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"df33271e_db027d0b","updated":"2020-03-26 10:36:49.000000000","message":"Yeah \u003d)","commit_id":"a53203eac454bb126d4645f9ca839630d6812bca"}],"sushycli/base_device.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"5c257951cb7352cb8802aecfa01fc342d6005bb2","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    DEVICE_ID_HELP \u003d ("},{"line_number":28,"context_line":"        \u0027The canonical path to the Virtual Media Device Manager resource to \u0027"},{"line_number":29,"context_line":"        \u0027interact with. It should include the root service, version\u0027"},{"line_number":30,"context_line":"        \u0027, the unique resource path to a Manager and the virtual media \u0027"},{"line_number":31,"context_line":"        \u0027device id. For example: /redfish/v1/Managers/BMC/VirtualMedia/Cd\u0027"},{"line_number":32,"context_line":"    )"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_c760aea1","line":30,"range":{"start_line":30,"start_character":8,"end_line":30,"end_character":11},"updated":"2020-02-27 10:42:30.000000000","message":"nit: maybe put the comma at the end of the precedent line, you have plenty of space :)","commit_id":"9db8ada82f0879355cba33aaf595f3a5a74db9e3"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2010-2020 OpenStack Foundation"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_e97cc8ec","line":1,"updated":"2020-03-13 09:37:20.000000000","message":"May be this whole file should be `base_vmedia.py`?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2010-2020 OpenStack Foundation"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_5c9fd3b3","line":1,"in_reply_to":"1fa4df85_e97cc8ec","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class BaseParserMixIn(base.BaseParserMixIn):"},{"line_number":23,"context_line":"    \"\"\"Common bits and pieces of all `sushycli manager device` commands."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Does not implement any CLI command by its own."},{"line_number":26,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_e9092895","line":23,"range":{"start_line":23,"start_character":55,"end_line":23,"end_character":61},"updated":"2020-03-13 09:37:20.000000000","message":"Should it be `vmedia`?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class BaseParserMixIn(base.BaseParserMixIn):"},{"line_number":23,"context_line":"    \"\"\"Common bits and pieces of all `sushycli manager device` commands."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    Does not implement any CLI command by its own."},{"line_number":26,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_9c5f8b0d","line":23,"range":{"start_line":23,"start_character":55,"end_line":23,"end_character":61},"in_reply_to":"1fa4df85_e9092895","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    DEVICE_ID_HELP \u003d ("},{"line_number":28,"context_line":"        \u0027The canonical path to the Virtual Media Device Manager resource to \u0027"},{"line_number":29,"context_line":"        \u0027interact with. It should include the root service, version\u0027"},{"line_number":30,"context_line":"        \u0027, the unique resource path to a Manager and the virtual media \u0027"},{"line_number":31,"context_line":"        \u0027device id. For example: /redfish/v1/Managers/BMC/VirtualMedia/Cd\u0027"},{"line_number":32,"context_line":"    )"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_09f2849b","line":30,"range":{"start_line":30,"start_character":8,"end_line":30,"end_character":10},"updated":"2020-03-13 09:37:20.000000000","message":"nit: let\u0027s move commas/spaces to the end of line","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    DEVICE_ID_HELP \u003d ("},{"line_number":28,"context_line":"        \u0027The canonical path to the Virtual Media Device Manager resource to \u0027"},{"line_number":29,"context_line":"        \u0027interact with. It should include the root service, version\u0027"},{"line_number":30,"context_line":"        \u0027, the unique resource path to a Manager and the virtual media \u0027"},{"line_number":31,"context_line":"        \u0027device id. For example: /redfish/v1/Managers/BMC/VirtualMedia/Cd\u0027"},{"line_number":32,"context_line":"    )"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_7c62cfda","line":30,"range":{"start_line":30,"start_character":8,"end_line":30,"end_character":10},"in_reply_to":"1fa4df85_09f2849b","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \u0027The canonical path to the Virtual Media Device Manager resource to \u0027"},{"line_number":29,"context_line":"        \u0027interact with. It should include the root service, version\u0027"},{"line_number":30,"context_line":"        \u0027, the unique resource path to a Manager and the virtual media \u0027"},{"line_number":31,"context_line":"        \u0027device id. For example: /redfish/v1/Managers/BMC/VirtualMedia/Cd\u0027"},{"line_number":32,"context_line":"    )"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def add_parser_options(self, parser):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_49263c19","line":31,"range":{"start_line":31,"start_character":33,"end_line":31,"end_character":73},"updated":"2020-03-13 09:37:20.000000000","message":"Do we really support full path to the vmedia device? I thought what we actually do is that we combine --manager-id with --device-id, no?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \u0027The canonical path to the Virtual Media Device Manager resource to \u0027"},{"line_number":29,"context_line":"        \u0027interact with. It should include the root service, version\u0027"},{"line_number":30,"context_line":"        \u0027, the unique resource path to a Manager and the virtual media \u0027"},{"line_number":31,"context_line":"        \u0027device id. For example: /redfish/v1/Managers/BMC/VirtualMedia/Cd\u0027"},{"line_number":32,"context_line":"    )"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def add_parser_options(self, parser):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_dc6503e3","line":31,"range":{"start_line":31,"start_character":33,"end_line":31,"end_character":73},"in_reply_to":"1fa4df85_49263c19","updated":"2020-03-17 17:18:33.000000000","message":"Yes, I thought this solution is more flexible! Otherwise, we have two more input path options:\n\n-/VirtualMedia/device_id\n\n-device_id\n\nwhat you think is better?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"}],"sushycli/manager_vmedia.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    \"\"\"Display a list of available virtual media devices identities\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def take_action(self, args):"},{"line_number":24,"context_line":"        \"\"\"list available virtual media devices command action\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        root \u003d super(ManagerVmediaList, self).take_action(args)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_a986d0da","line":24,"range":{"start_line":24,"start_character":11,"end_line":24,"end_character":15},"updated":"2020-03-13 09:37:20.000000000","message":"Capitalize and end with dot?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    \"\"\"Display a list of available virtual media devices identities\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def take_action(self, args):"},{"line_number":24,"context_line":"        \"\"\"list available virtual media devices command action\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        root \u003d super(ManagerVmediaList, self).take_action(args)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_dce07a29","line":24,"range":{"start_line":24,"start_character":11,"end_line":24,"end_character":15},"in_reply_to":"1fa4df85_a986d0da","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        mgr_inst \u003d root.get_manager(args.manager_id)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        column \u003d \u0027Virtual Media ID\u0027"},{"line_number":31,"context_line":"        values \u003d \u0027 \\n\u0027.join(mgr_inst.virtual_media.members_identities)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        return [column], [[values]]"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_4975dccb","line":31,"updated":"2020-03-13 09:37:20.000000000","message":"Would it be better not to join the identities, but pass them to cliff so they will be each on its individual row?\n\nI am thinking of usability in the scripts when you want to cut just a value from the output.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        mgr_inst \u003d root.get_manager(args.manager_id)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        column \u003d \u0027Virtual Media ID\u0027"},{"line_number":31,"context_line":"        values \u003d \u0027 \\n\u0027.join(mgr_inst.virtual_media.members_identities)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        return [column], [[values]]"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_dcfcfab6","line":31,"in_reply_to":"1fa4df85_4975dccb","updated":"2020-03-17 17:18:33.000000000","message":"right! the join method was not a good idea from the beginning! :D","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_899d140c","line":72,"updated":"2020-03-13 09:37:20.000000000","message":"Detach, not detaching.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_5c2a4a2c","line":72,"in_reply_to":"1fa4df85_899d140c","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_a9a2504a","line":74,"updated":"2020-03-13 09:37:20.000000000","message":"Do we need \\n at all?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"14441664b579d920e7b4596af13d97d1da4d806a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_ff15ed49","line":74,"in_reply_to":"1fa4df85_3ab74e89","updated":"2020-03-20 11:35:44.000000000","message":"My concern is that Cliff seems to use docstrings for CLI help messages. Sphinx also uses docstrings. Now, I am not certain that if we put RsT there for Sphinx (e.g. warning instruction), then Cliff would render it nicely.\n\nI\u0027d try that to see how it works for both Sphinx and Cliff.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_3ab74e89","line":74,"in_reply_to":"1fa4df85_a9a2504a","updated":"2020-03-17 17:18:33.000000000","message":"absolutely no! \nmaybe using warning: Sphinx directive would be a good idea :D","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"ef08246c8e0ad657e68a8b14e8ba21cbee4c8fbe","unresolved":false,"context_lines":[{"line_number":71,"context_line":"class ManagerVmediaEject(base_device.BaseCommand):"},{"line_number":72,"context_line":"    \"\"\"Detaching one or all the virtual media device(s)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_1c9fe850","line":74,"in_reply_to":"1fa4df85_ff15ed49","updated":"2020-03-24 17:18:08.000000000","message":"Yes, I checked the documentation, so by default, ArgumentParser objects line-wrap the description texts in command-line help messages. Nonetheless,\nwe can update formatter_class to get a correctly formatted help message, here I tried RawDescriptionHelpFormatter formatter seems good :D\nI updated the base.py parser to be applied for all cmds, you think is a good idea?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"},{"line_number":78,"context_line":"    this operation, please use --force argument!"},{"line_number":79,"context_line":"    \"\"\""},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_49871cb8","line":77,"range":{"start_line":77,"start_character":28,"end_line":77,"end_character":30},"updated":"2020-03-13 09:37:20.000000000","message":"If","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    WARNING!\\n"},{"line_number":75,"context_line":"    Ejecting virtual media will affect all systems being managed"},{"line_number":76,"context_line":"    by this manager and booting from their corresponding"},{"line_number":77,"context_line":"    removable media device. IF you are sure you want to continue"},{"line_number":78,"context_line":"    this operation, please use --force argument!"},{"line_number":79,"context_line":"    \"\"\""},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_b5b7d13a","line":77,"range":{"start_line":77,"start_character":28,"end_line":77,"end_character":30},"in_reply_to":"1fa4df85_49871cb8","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        parser.add_argument("},{"line_number":87,"context_line":"            \u0027--force\u0027,"},{"line_number":88,"context_line":"            nargs\u003d\u0027?\u0027,"},{"line_number":89,"context_line":"            const\u003d\u0027Yes\u0027,"},{"line_number":90,"context_line":"            help\u003d\u0027Virtual media force eject in case multiple systems\u0027"},{"line_number":91,"context_line":"                 \u0027 has been managed by the manager\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_69ad3830","line":88,"updated":"2020-03-13 09:37:20.000000000","message":"Why it is not just:\n\naction\u003d\u0027store_true\u0027?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        parser.add_argument("},{"line_number":87,"context_line":"            \u0027--force\u0027,"},{"line_number":88,"context_line":"            nargs\u003d\u0027?\u0027,"},{"line_number":89,"context_line":"            const\u003d\u0027Yes\u0027,"},{"line_number":90,"context_line":"            help\u003d\u0027Virtual media force eject in case multiple systems\u0027"},{"line_number":91,"context_line":"                 \u0027 has been managed by the manager\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_75839957","line":88,"in_reply_to":"1fa4df85_69ad3830","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        return parser"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def take_action(self, args):"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        root \u003d super(ManagerVmediaEject, self).take_action(args)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        mgr_inst \u003d root.get_manager(args.manager_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_698458b2","line":95,"updated":"2020-03-13 09:37:20.000000000","message":"Missing docstring","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        return parser"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def take_action(self, args):"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        root \u003d super(ManagerVmediaEject, self).take_action(args)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        mgr_inst \u003d root.get_manager(args.manager_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_95a3b5b1","line":95,"in_reply_to":"1fa4df85_698458b2","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_29a74052","line":104,"range":{"start_line":104,"start_character":52,"end_line":104,"end_character":59},"updated":"2020-03-13 09:37:20.000000000","message":"Should be just\n\nif not args.force:","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_752ab9e7","line":104,"range":{"start_line":104,"start_character":52,"end_line":104,"end_character":59},"in_reply_to":"1fa4df85_29a74052","updated":"2020-03-17 17:18:33.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_099124f2","line":105,"updated":"2020-03-13 09:37:20.000000000","message":"Let\u0027s use \"\"\" so that new lines will appear readable in the code?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_cb018e08","line":105,"in_reply_to":"1fa4df85_099124f2","updated":"2020-03-17 17:18:33.000000000","message":"hope I understood what you mean well!\ndo you think using warning module is better?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"ef08246c8e0ad657e68a8b14e8ba21cbee4c8fbe","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_5a12105a","line":105,"in_reply_to":"1fa4df85_3a2e3392","updated":"2020-03-24 17:18:08.000000000","message":"Yes, I am sorry it slightly confusing...\nhere I meant instead of using print we may use a warning module but never mind cause it might be a heavy solution.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"14441664b579d920e7b4596af13d97d1da4d806a","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        vm_inst \u003d virtmedia_col.get_member(args.device_id)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_3a2e3392","line":105,"in_reply_to":"1fa4df85_cb018e08","updated":"2020-03-20 11:35:44.000000000","message":"I mean that if you need to add \\n into the text messages, may be you should better use \"\"\" \"\"\" blocks. Text layout would be evident in code and you do not have to manage special characters by hand.\n\n\u003e do you think using warning module is better?\n\nPreviously, you referred to Sphinx warning directive. Here you refer to a module, which I do not understand. Could you please explain what\u0027s warning module in this context?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6ff009e3e3b4521951634abf55452ca86fcf2dc1","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vm_inst.eject_media()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_c9bc6c6e","line":107,"range":{"start_line":107,"start_character":48,"end_line":107,"end_character":53},"updated":"2020-03-13 09:37:20.000000000","message":"Is this a dup help? The same thing is present in class docstring.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"14441664b579d920e7b4596af13d97d1da4d806a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vm_inst.eject_media()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_ba53036b","line":107,"range":{"start_line":107,"start_character":48,"end_line":107,"end_character":53},"in_reply_to":"1fa4df85_50722baf","updated":"2020-03-20 11:35:44.000000000","message":"May be we can put that text into some variable, then reuse it in both docstring and this code piece? My goal would be to avoid duplication.","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"ef08246c8e0ad657e68a8b14e8ba21cbee4c8fbe","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vm_inst.eject_media()"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_2e3709b3","line":107,"range":{"start_line":107,"start_character":48,"end_line":107,"end_character":53},"in_reply_to":"1fa4df85_ba53036b","updated":"2020-03-24 17:18:08.000000000","message":"Done","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"},{"author":{"_account_id":31182,"name":"khansa","email":"khansa.amrouni@gmail.com","username":"khansa"},"change_message_id":"095dcc488d328c907edf4fc86b090c5143eec847","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        if len(mgr_inst.systems) \u003e 1 and args.force is None:"},{"line_number":105,"context_line":"            print(\u0027\\nWARNING:\\nMultiple managed systems may be affected!\\n\u0027"},{"line_number":106,"context_line":"                  \u0027IF you are sure you want to continue \u0027"},{"line_number":107,"context_line":"                  \u0027this operation, please use --force argument!\\n\u0027)"},{"line_number":108,"context_line":"            return 0"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        vm_inst.eject_media()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_50722baf","line":107,"range":{"start_line":107,"start_character":48,"end_line":107,"end_character":53},"in_reply_to":"1fa4df85_c9bc6c6e","updated":"2020-03-17 17:18:33.000000000","message":"Actually I am confused where should we put it, here or in docstring class! wdyt?","commit_id":"9dd323e94a9f06e74bff65551fffd60071358b4b"}]}
