)]}'
{"swiftclient/client.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"acc221717f19025fb1d76cfd2d22ae9b8b402248","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            raise ClientException(\u0027You are required to set a tenant name or \u0027"},{"line_number":400,"context_line":"                                  \u0027tenant id. These can be set with \u0027"},{"line_number":401,"context_line":"                                  \u0027--os-tenant-name and --os-tenant-id \u0027"},{"line_number":402,"context_line":"                                  \u0027respectively\u0027)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        cacert \u003d kwargs.get(\u0027cacert\u0027, None)"},{"line_number":405,"context_line":"        storage_url, token \u003d get_auth_keystone(auth_url, user,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_6493bd4f","line":402,"updated":"2014-10-02 01:29:33.000000000","message":"since the client can be used programatically outside of the command line interface does it make sense to have the command line arguments here?  Maybe a more specific exception can be raised and translated to more useful feedback somewhere in shell.py","commit_id":"c0743250815bdd7ae2420297ed6d097d4452e02e"},{"author":{"_account_id":13470,"name":"Daniel Wakefield","email":"dan@danw.eu","username":"danw"},"change_message_id":"b090614c9d224b7296761836c838351a49e7d171","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            raise ClientException(\u0027You are required to set a tenant name or \u0027"},{"line_number":400,"context_line":"                                  \u0027tenant id. These can be set with \u0027"},{"line_number":401,"context_line":"                                  \u0027--os-tenant-name and --os-tenant-id \u0027"},{"line_number":402,"context_line":"                                  \u0027respectively\u0027)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"        cacert \u003d kwargs.get(\u0027cacert\u0027, None)"},{"line_number":405,"context_line":"        storage_url, token \u003d get_auth_keystone(auth_url, user,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_13878a62","line":402,"in_reply_to":"baa201ad_6493bd4f","updated":"2014-10-02 13:35:27.000000000","message":"Yes, that makes sense. I\u0027ll change it in the next patchset","commit_id":"c0743250815bdd7ae2420297ed6d097d4452e02e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        if not (os_options.get(\u0027tenant_name\u0027) or os_options.get(\u0027tenant_id\u0027)"},{"line_number":397,"context_line":"                or os_options.get(\u0027project_name\u0027)"},{"line_number":398,"context_line":"                or os_options.get(\u0027project_id\u0027)):"},{"line_number":399,"context_line":"            raise TenantError"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        cacert \u003d kwargs.get(\u0027cacert\u0027, None)"},{"line_number":402,"context_line":"        storage_url, token \u003d get_auth_keystone(auth_url, user,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_99def86b","line":399,"updated":"2014-10-06 17:21:53.000000000","message":"I\u0027d be happy to stick with the ClientException here rather than introducing yet another exception, and having the shell infer from the message if necessary i.e. leave this as it was but perhaps change message to \u0027No project specified\u0027.\n\n(OpenStack has returned to calling these entities \u0027projects\u0027, not \u0027tenants\u0027, so we should stop using \u0027tenant\u0027 BUT note that the tenant_* options are still supported.)","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"}],"swiftclient/service.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"acc221717f19025fb1d76cfd2d22ae9b8b402248","unresolved":false,"context_lines":[{"line_number":466,"context_line":"                    })"},{"line_number":467,"context_line":"                    return res"},{"line_number":468,"context_line":"                except ClientException as err:"},{"line_number":469,"context_line":"                    if err.http_status \u003d\u003d 404:"},{"line_number":470,"context_line":"                        res.update({"},{"line_number":471,"context_line":"                            \u0027success\u0027: False,"},{"line_number":472,"context_line":"                            \u0027error\u0027: err"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_24729549","line":469,"updated":"2014-10-02 01:29:33.000000000","message":"so this is a bug separately from how errors are displayed?","commit_id":"c0743250815bdd7ae2420297ed6d097d4452e02e"},{"author":{"_account_id":13470,"name":"Daniel Wakefield","email":"dan@danw.eu","username":"danw"},"change_message_id":"b090614c9d224b7296761836c838351a49e7d171","unresolved":false,"context_lines":[{"line_number":466,"context_line":"                    })"},{"line_number":467,"context_line":"                    return res"},{"line_number":468,"context_line":"                except ClientException as err:"},{"line_number":469,"context_line":"                    if err.http_status \u003d\u003d 404:"},{"line_number":470,"context_line":"                        res.update({"},{"line_number":471,"context_line":"                            \u0027success\u0027: False,"},{"line_number":472,"context_line":"                            \u0027error\u0027: err"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_b31ebe61","line":469,"in_reply_to":"baa201ad_24729549","updated":"2014-10-02 13:35:27.000000000","message":"It is the cause of the error when trying to stat a container without an account specified. (swift --os-auth-url\u003dhttp://foo.com --os-username\u003dfoo --os-password\u003dfoo --os-tenant-name \"\" stat containerfoo)\nIt being a separate bug is up for others to decide I would say. \nI have just commited them together since they are both referenced in Bug #1372589 but i can split them out if you would like.","commit_id":"c0743250815bdd7ae2420297ed6d097d4452e02e"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":440,"context_line":"                            \u0027error\u0027: err"},{"line_number":441,"context_line":"                        })"},{"line_number":442,"context_line":"                        return res"},{"line_number":443,"context_line":"                except TenantError:"},{"line_number":444,"context_line":"                    raise SwiftError(\u0027You are required to set a tenant name \u0027"},{"line_number":445,"context_line":"                                     \u0027or tenant id. These can be set with \u0027"},{"line_number":446,"context_line":"                                     \u0027--os-tenant-name and --os-tenant-id \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_7938743d","line":443,"updated":"2014-10-06 17:21:53.000000000","message":"I don\u0027t think the service class should know about the --os-* command line options (it knows about os_project_id but not that it is set using --os_project_id)\n\nI think the exception should just be passed on to shell for it to deal with.","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":442,"context_line":"                        return res"},{"line_number":443,"context_line":"                except TenantError:"},{"line_number":444,"context_line":"                    raise SwiftError(\u0027You are required to set a tenant name \u0027"},{"line_number":445,"context_line":"                                     \u0027or tenant id. These can be set with \u0027"},{"line_number":446,"context_line":"                                     \u0027--os-tenant-name and --os-tenant-id \u0027"},{"line_number":447,"context_line":"                                     \u0027respectively\u0027)"},{"line_number":448,"context_line":"                except Exception as err:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_b9cc9c8a","line":445,"updated":"2014-10-06 17:21:53.000000000","message":"please refer to \u0027projects\u0027.","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":443,"context_line":"                except TenantError:"},{"line_number":444,"context_line":"                    raise SwiftError(\u0027You are required to set a tenant name \u0027"},{"line_number":445,"context_line":"                                     \u0027or tenant id. These can be set with \u0027"},{"line_number":446,"context_line":"                                     \u0027--os-tenant-name and --os-tenant-id \u0027"},{"line_number":447,"context_line":"                                     \u0027respectively\u0027)"},{"line_number":448,"context_line":"                except Exception as err:"},{"line_number":449,"context_line":"                    res.update({"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_d99c006d","line":446,"updated":"2014-10-06 17:21:53.000000000","message":"or --os-project-name or --os-project-id ... it may be best to leave just the original exception message \u0027No project specified.\u0027","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":478,"context_line":"                        return res"},{"line_number":479,"context_line":"                    raise SwiftError(\u0027Container %r not found\u0027 % container,"},{"line_number":480,"context_line":"                                     container\u003dcontainer, exc\u003derr)"},{"line_number":481,"context_line":"                except TenantError:"},{"line_number":482,"context_line":"                    raise SwiftError(\u0027You are required to set a tenant name \u0027"},{"line_number":483,"context_line":"                                     \u0027or tenant id. These can be set with \u0027"},{"line_number":484,"context_line":"                                     \u0027--os-tenant-name and --os-tenant-id \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_b93d7c2d","line":481,"updated":"2014-10-06 17:21:53.000000000","message":"same comments as above","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"}],"swiftclient/shell.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5bd80652c26d5e97ebad6c65815c75462e3c761e","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"                      type\u003dstr,"},{"line_number":1109,"context_line":"                      help\u003d\u0027Specify a version for authentication. \u0027"},{"line_number":1110,"context_line":"                           \u0027Defaults to 1.0.\u0027)"},{"line_number":1111,"context_line":"    parser.add_option(\u0027--auth_version\u0027, dest\u003d\u0027auth_version\u0027,"},{"line_number":1112,"context_line":"                      help\u003dSUPPRESS_HELP)"},{"line_number":1113,"context_line":"    parser.add_option(\u0027-U\u0027, \u0027--user\u0027, dest\u003d\u0027user\u0027,"},{"line_number":1114,"context_line":"                      default\u003denviron.get(\u0027ST_USER\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_9927d811","line":1111,"updated":"2014-10-06 17:21:53.000000000","message":"OK, but is the underscore variant covered by tests in TestParsing?","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"},{"author":{"_account_id":13470,"name":"Daniel Wakefield","email":"dan@danw.eu","username":"danw"},"change_message_id":"937d5f6f0bc2770acc2330a2c91619954700cf73","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"                      type\u003dstr,"},{"line_number":1109,"context_line":"                      help\u003d\u0027Specify a version for authentication. \u0027"},{"line_number":1110,"context_line":"                           \u0027Defaults to 1.0.\u0027)"},{"line_number":1111,"context_line":"    parser.add_option(\u0027--auth_version\u0027, dest\u003d\u0027auth_version\u0027,"},{"line_number":1112,"context_line":"                      help\u003dSUPPRESS_HELP)"},{"line_number":1113,"context_line":"    parser.add_option(\u0027-U\u0027, \u0027--user\u0027, dest\u003d\u0027user\u0027,"},{"line_number":1114,"context_line":"                      default\u003denviron.get(\u0027ST_USER\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_2e7f72ac","line":1111,"in_reply_to":"baa201ad_9927d811","updated":"2014-10-07 09:14:38.000000000","message":"Yes, line 577-583 in tests.unit.test_shell checks that each option works when underscore delimited, This was causing test failures so I thought adding it in wouldnt hurt especially with many of the other options allowing - and _ .\nIt is a semi unrelated change so it could easily be split","commit_id":"8e3297568003a9b63fbb063cc4c089dac98f4699"}]}
