)]}'
{"novaclient/utils.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5d7384a74b8ab2f967ecf11a7ca4825523e6468e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_serialization import jsonutils"},{"line_number":23,"context_line":"from oslo_utils import encodeutils"},{"line_number":24,"context_line":"from six.moves.urllib import parse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import pkg_resources"},{"line_number":27,"context_line":"import prettytable"},{"line_number":28,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_4c8b5d1f","line":25,"updated":"2016-08-01 17:09:53.000000000","message":"Extraneous blank line that breaks the grouping of third-party imports together…","commit_id":"b59e966b3be84f9174ee0f3b2d2650b02d84d8c0"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"d4edeacc25664220e9f58272702ef120c9498a36","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_serialization import jsonutils"},{"line_number":23,"context_line":"from oslo_utils import encodeutils"},{"line_number":24,"context_line":"from six.moves.urllib import parse"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import pkg_resources"},{"line_number":27,"context_line":"import prettytable"},{"line_number":28,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_aa5edd73","line":25,"in_reply_to":"bacf61ea_4c8b5d1f","updated":"2016-08-03 08:55:39.000000000","message":"Done","commit_id":"b59e966b3be84f9174ee0f3b2d2650b02d84d8c0"}],"novaclient/v2/hypervisors.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"5d7384a74b8ab2f967ecf11a7ca4825523e6468e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    resource_class \u003d Hypervisor"},{"line_number":36,"context_line":"    is_alphanum_id_allowed \u003d True"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def list(self, detailed\u003dTrue):"},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        Get a list of hypervisors."},{"line_number":41,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_6ce901b7","line":38,"updated":"2016-08-01 17:09:53.000000000","message":"This will need a wraps() decorator as well.","commit_id":"b59e966b3be84f9174ee0f3b2d2650b02d84d8c0"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"f19c7bd732924c2a233e3816665f4f7b90a95041","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    is_alphanum_id_allowed \u003d True"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def _list_base(self, detailed\u003dTrue, marker\u003dNone, limit\u003dNone):"},{"line_number":39,"context_line":"        path \u003d \u0027/os-hypervisors%s\u0027 % (\u0027/detail\u0027 if detailed else \u0027\u0027,)"},{"line_number":40,"context_line":"        params \u003d {}"},{"line_number":41,"context_line":"        if limit is not None:"},{"line_number":42,"context_line":"            params[\u0027limit\u0027] \u003d int(limit)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_eb03a2b6","line":39,"updated":"2016-08-03 15:30:56.000000000","message":"Consider doing this like so:\n\n    path \u003d \u0027/os-hypervisors\u0027\n    if detailed:\n        path +\u003d \u0027/detail\u0027\n\nIt\u0027s more lines, but a little clearer.  But I\u0027m not going to hold this change up on this, as I\u0027m just making a stylistic suggestion.","commit_id":"301a1affa7699647d3483d7e5416d0123bc497b1"}],"novaclient/v2/shell.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fd0fd40dfd1af462de47a9a9a1e4456d1e73feeb","unresolved":false,"context_lines":[{"line_number":4009,"context_line":"    metavar\u003d\u0027\u003cmarker\u003e\u0027,"},{"line_number":4010,"context_line":"    default\u003dNone,"},{"line_number":4011,"context_line":"    help\u003d_(\u0027The last hypervisor of the previous page; displays list of \u0027"},{"line_number":4012,"context_line":"           \u0027hypervisors after \"marker\".\u0027),"},{"line_number":4013,"context_line":"    start_version\u003d\"2.33\")"},{"line_number":4014,"context_line":"@utils.arg("},{"line_number":4015,"context_line":"    \u0027--limit\u0027,"},{"line_number":4016,"context_line":"    dest\u003d\u0027limit\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_99c71c64","line":4013,"range":{"start_line":4012,"start_character":41,"end_line":4013,"end_character":24},"updated":"2016-08-02 15:23:32.000000000","message":"It is not needed. Global wrapper `api_versions.wraps` makes all work:)","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"7a6ac9929df7cfc5ec6b22f09db1b5958a6e1d42","unresolved":false,"context_lines":[{"line_number":4009,"context_line":"    metavar\u003d\u0027\u003cmarker\u003e\u0027,"},{"line_number":4010,"context_line":"    default\u003dNone,"},{"line_number":4011,"context_line":"    help\u003d_(\u0027The last hypervisor of the previous page; displays list of \u0027"},{"line_number":4012,"context_line":"           \u0027hypervisors after \"marker\".\u0027),"},{"line_number":4013,"context_line":"    start_version\u003d\"2.33\")"},{"line_number":4014,"context_line":"@utils.arg("},{"line_number":4015,"context_line":"    \u0027--limit\u0027,"},{"line_number":4016,"context_line":"    dest\u003d\u0027limit\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_4a4e41c2","line":4013,"range":{"start_line":4012,"start_character":41,"end_line":4013,"end_character":24},"in_reply_to":"bacf61ea_99c71c64","updated":"2016-08-03 08:55:48.000000000","message":"Done","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fd0fd40dfd1af462de47a9a9a1e4456d1e73feeb","unresolved":false,"context_lines":[{"line_number":4020,"context_line":"    help\u003d_(\"Maximum number of hypervisors to display. If limit \u003d\u003d -1, all \""},{"line_number":4021,"context_line":"           \"hypervisors will be displayed. If limit is bigger than \""},{"line_number":4022,"context_line":"           \"\u0027osapi_max_limit\u0027 option of Nova API, limit \u0027osapi_max_limit\u0027 \""},{"line_number":4023,"context_line":"           \"will be used instead.\"),"},{"line_number":4024,"context_line":"    start_version\u003d\"2.33\")"},{"line_number":4025,"context_line":"def do_hypervisor_list(cs, args):"},{"line_number":4026,"context_line":"    \"\"\"List hypervisors.\"\"\""},{"line_number":4027,"context_line":"    columns \u003d [\u0027ID\u0027, \u0027Hypervisor hostname\u0027, \u0027State\u0027, \u0027Status\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_799b4873","line":4024,"range":{"start_line":4023,"start_character":35,"end_line":4024,"end_character":24},"updated":"2016-08-02 15:23:32.000000000","message":"same here","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"7a6ac9929df7cfc5ec6b22f09db1b5958a6e1d42","unresolved":false,"context_lines":[{"line_number":4020,"context_line":"    help\u003d_(\"Maximum number of hypervisors to display. If limit \u003d\u003d -1, all \""},{"line_number":4021,"context_line":"           \"hypervisors will be displayed. If limit is bigger than \""},{"line_number":4022,"context_line":"           \"\u0027osapi_max_limit\u0027 option of Nova API, limit \u0027osapi_max_limit\u0027 \""},{"line_number":4023,"context_line":"           \"will be used instead.\"),"},{"line_number":4024,"context_line":"    start_version\u003d\"2.33\")"},{"line_number":4025,"context_line":"def do_hypervisor_list(cs, args):"},{"line_number":4026,"context_line":"    \"\"\"List hypervisors.\"\"\""},{"line_number":4027,"context_line":"    columns \u003d [\u0027ID\u0027, \u0027Hypervisor hostname\u0027, \u0027State\u0027, \u0027Status\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_2a4b0db2","line":4024,"range":{"start_line":4023,"start_character":35,"end_line":4024,"end_character":24},"in_reply_to":"bacf61ea_799b4873","updated":"2016-08-03 08:55:48.000000000","message":"Done","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"fd0fd40dfd1af462de47a9a9a1e4456d1e73feeb","unresolved":false,"context_lines":[{"line_number":4025,"context_line":"def do_hypervisor_list(cs, args):"},{"line_number":4026,"context_line":"    \"\"\"List hypervisors.\"\"\""},{"line_number":4027,"context_line":"    columns \u003d [\u0027ID\u0027, \u0027Hypervisor hostname\u0027, \u0027State\u0027, \u0027Status\u0027]"},{"line_number":4028,"context_line":"    if args.matching:"},{"line_number":4029,"context_line":"        utils.print_list(cs.hypervisors.search(args.matching), columns)"},{"line_number":4030,"context_line":"    else:"},{"line_number":4031,"context_line":"        # Since we\u0027re not outputting detail data, choose"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_9976fc04","line":4028,"updated":"2016-08-02 15:23:32.000000000","message":"we should warn users that it is restricted to use limit\u0026market arguments with matching. or maybe we can just print note that limit\u0026market arguments will be ignored in such case","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"7a6ac9929df7cfc5ec6b22f09db1b5958a6e1d42","unresolved":false,"context_lines":[{"line_number":4025,"context_line":"def do_hypervisor_list(cs, args):"},{"line_number":4026,"context_line":"    \"\"\"List hypervisors.\"\"\""},{"line_number":4027,"context_line":"    columns \u003d [\u0027ID\u0027, \u0027Hypervisor hostname\u0027, \u0027State\u0027, \u0027Status\u0027]"},{"line_number":4028,"context_line":"    if args.matching:"},{"line_number":4029,"context_line":"        utils.print_list(cs.hypervisors.search(args.matching), columns)"},{"line_number":4030,"context_line":"    else:"},{"line_number":4031,"context_line":"        # Since we\u0027re not outputting detail data, choose"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_6acb451f","line":4028,"in_reply_to":"bacf61ea_9976fc04","updated":"2016-08-03 08:55:48.000000000","message":"Done","commit_id":"de4a5990677baae72a6a3dc12807f91b8d8896d3"}]}
