)]}'
{"swiftclient/shell.py":[{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"5b3814ade76bfaed1451445c9a31b011ebf243dd","unresolved":false,"context_lines":[{"line_number":1245,"context_line":"  You can export STORAGE_URL and AUTH_TOKEN to your current environment by"},{"line_number":1246,"context_line":"  running:"},{"line_number":1247,"context_line":""},{"line_number":1248,"context_line":"      eval $(swift auth)"},{"line_number":1249,"context_line":""},{"line_number":1250,"context_line":"  Or you can store your auth params for future use with:"},{"line_number":1251,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7ac7a964_715fd672","line":1248,"updated":"2014-08-16 00:21:06.000000000","message":"This seems like a dangerous thing to recommend. The results of `swift auth` may not be safe and could be doing evil things.","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ffd0189fbaeaa96883cc0c7c660e88b9f8260b4","unresolved":false,"context_lines":[{"line_number":1245,"context_line":"  You can export STORAGE_URL and AUTH_TOKEN to your current environment by"},{"line_number":1246,"context_line":"  running:"},{"line_number":1247,"context_line":""},{"line_number":1248,"context_line":"      eval $(swift auth)"},{"line_number":1249,"context_line":""},{"line_number":1250,"context_line":"  Or you can store your auth params for future use with:"},{"line_number":1251,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"baa201ad_13cac31a","line":1248,"in_reply_to":"7ac7a964_715fd672","updated":"2014-10-17 03:08:55.000000000","message":"idk, that\u0027s how ssh-agent does it...  I guess we could not mention it and let folks figure it out though...","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"e7851e6130e1651567be6fda1c55bd80323a1bc2","unresolved":false,"context_lines":[{"line_number":1250,"context_line":"  Or you can store your auth params for future use with:"},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"      swift -U test:tester -K testing -A http://localhost:8080/auth/v1.0 \\"},{"line_number":1253,"context_line":"auth -v \u003e\u003e .bashrc"},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"\u0027\u0027\u0027"},{"line_number":1256,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXX%2F%2F7xE%3D","line":1253,"updated":"2014-04-25 08:09:53.000000000","message":"Maybe ensure that it is added to .bashrc in the homedirectory?\n\n ... \u003e\u003e ~/.bashrc","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ffd0189fbaeaa96883cc0c7c660e88b9f8260b4","unresolved":false,"context_lines":[{"line_number":1250,"context_line":"  Or you can store your auth params for future use with:"},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"      swift -U test:tester -K testing -A http://localhost:8080/auth/v1.0 \\"},{"line_number":1253,"context_line":"auth -v \u003e\u003e .bashrc"},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"\u0027\u0027\u0027"},{"line_number":1256,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"baa201ad_33cd0732","line":1253,"in_reply_to":"AAAAXX%2F%2F7xE%3D","updated":"2014-10-17 03:08:55.000000000","message":"sure...","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"2fe0865347000c60c9af1c06847c6f3bb9aeb37c","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"            print(\u0027export OS_PASSWORD\u003d%s\u0027 % options.os_password)"},{"line_number":1273,"context_line":"    else:"},{"line_number":1274,"context_line":"        print(\u0027export STORAGE_URL\u003d%s\u0027 % url)"},{"line_number":1275,"context_line":"        print(\u0027export AUTH_TOKEN\u003d%s\u0027 % token)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"def split_headers(options, prefix\u003d\u0027\u0027, thread_manager\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_60f80b4a","line":1275,"updated":"2014-05-02 14:52:27.000000000","message":"I\u0027m sure I\u0027m missing something - why not OS_STORAGE_URL, OS_AUTH_TOKEN? Or are you deliberately avoiding them being sucked in from env next time swift is run?","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ffd0189fbaeaa96883cc0c7c660e88b9f8260b4","unresolved":false,"context_lines":[{"line_number":1272,"context_line":"            print(\u0027export OS_PASSWORD\u003d%s\u0027 % options.os_password)"},{"line_number":1273,"context_line":"    else:"},{"line_number":1274,"context_line":"        print(\u0027export STORAGE_URL\u003d%s\u0027 % url)"},{"line_number":1275,"context_line":"        print(\u0027export AUTH_TOKEN\u003d%s\u0027 % token)"},{"line_number":1276,"context_line":""},{"line_number":1277,"context_line":""},{"line_number":1278,"context_line":"def split_headers(options, prefix\u003d\u0027\u0027, thread_manager\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7adec928_e5db48eb","line":1275,"in_reply_to":"9ad9bd40_60f80b4a","updated":"2014-10-17 03:08:55.000000000","message":"no it wasn\u0027t on purpose, i probably didn\u0027t realize you could do the preauth stuff in the environment.  Is that a good idea?  Probably...","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"e7851e6130e1651567be6fda1c55bd80323a1bc2","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"    stat                 Displays information for the account, container,"},{"line_number":1381,"context_line":"                         or object."},{"line_number":1382,"context_line":"    upload               Uploads files or directories to the given container"},{"line_number":1383,"context_line":"    capabilities         List cluster capabilities."},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":""},{"line_number":1386,"context_line":"Examples:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXX%2F%2F7x4%3D","line":1383,"updated":"2014-04-25 08:09:53.000000000","message":"I think auth should be mentioned here as well?","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ffd0189fbaeaa96883cc0c7c660e88b9f8260b4","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"    stat                 Displays information for the account, container,"},{"line_number":1381,"context_line":"                         or object."},{"line_number":1382,"context_line":"    upload               Uploads files or directories to the given container"},{"line_number":1383,"context_line":"    capabilities         List cluster capabilities."},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":""},{"line_number":1386,"context_line":"Examples:"}],"source_content_type":"text/x-python","patch_set":6,"id":"baa201ad_53d0cbc8","line":1383,"in_reply_to":"AAAAXX%2F%2F7x4%3D","updated":"2014-10-17 03:08:55.000000000","message":"sure....","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"34d87278d26806f7d02a28c586417f4dd0e91341","unresolved":false,"context_lines":[{"line_number":920,"context_line":"def st_auth(parser, args, thread_manager):"},{"line_number":921,"context_line":"    (options, args) \u003d parse_args(parser, args)"},{"line_number":922,"context_line":"    _opts \u003d vars(options)"},{"line_number":923,"context_line":"    conn \u003d get_conn(_opts)"},{"line_number":924,"context_line":"    url, token \u003d conn.get_auth()"},{"line_number":925,"context_line":"    if options.verbose \u003e 1:"},{"line_number":926,"context_line":"        if float(options.auth_version) \u003c 2:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_80cd7f68","line":923,"updated":"2014-10-27 11:49:52.000000000","message":"we don\u0027t need to this call for the -v option - unless your thinking is to validate the auth variables before printing them out? which would make sense, but in which case maybe call that out in the help message at line 904: \"Validate and display auth related...\"","commit_id":"db1c2b9718686fbef9b726c0b649b9401be9bc20"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"424b9ce695f81a0b74105f537ae08e322062b81d","unresolved":false,"context_lines":[{"line_number":923,"context_line":"    conn \u003d get_conn(_opts)"},{"line_number":924,"context_line":"    url, token \u003d conn.get_auth()"},{"line_number":925,"context_line":"    if options.verbose \u003e 1:"},{"line_number":926,"context_line":"        if float(options.auth_version) \u003c 2:"},{"line_number":927,"context_line":"            print(\u0027export ST_AUTH\u003d%s\u0027 % options.auth)"},{"line_number":928,"context_line":"            print(\u0027export ST_USER\u003d%s\u0027 % options.user)"},{"line_number":929,"context_line":"            print(\u0027export ST_KEY\u003d%s\u0027 % options.key)"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_9d1ee16e","line":926,"updated":"2015-02-11 21:25:13.000000000","message":"Could you please not do float(version)? We already have \"from distutils.version import StrictVersion\" in swiftclient/client.py, so doing that here would not add new dependencies.","commit_id":"db1c2b9718686fbef9b726c0b649b9401be9bc20"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"34d87278d26806f7d02a28c586417f4dd0e91341","unresolved":false,"context_lines":[{"line_number":927,"context_line":"            print(\u0027export ST_AUTH\u003d%s\u0027 % options.auth)"},{"line_number":928,"context_line":"            print(\u0027export ST_USER\u003d%s\u0027 % options.user)"},{"line_number":929,"context_line":"            print(\u0027export ST_KEY\u003d%s\u0027 % options.key)"},{"line_number":930,"context_line":"        else:"},{"line_number":931,"context_line":"            print(\u0027export OS_IDENTITY_API_VERSION\u003d2.0\u0027)"},{"line_number":932,"context_line":"            print(\u0027export OS_AUTH_URL\u003d%s\u0027 % options.auth)"},{"line_number":933,"context_line":"            print(\u0027export OS_TENANT_NAME\u003d%s\u0027 % options.os_tenant_name)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_208053bf","line":930,"updated":"2014-10-27 11:49:52.000000000","message":"can we handle v3 and v2? and, if set, other options - how about something like this http://paste.openstack.org/show/125267/ ?","commit_id":"db1c2b9718686fbef9b726c0b649b9401be9bc20"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"34d87278d26806f7d02a28c586417f4dd0e91341","unresolved":false,"context_lines":[{"line_number":928,"context_line":"            print(\u0027export ST_USER\u003d%s\u0027 % options.user)"},{"line_number":929,"context_line":"            print(\u0027export ST_KEY\u003d%s\u0027 % options.key)"},{"line_number":930,"context_line":"        else:"},{"line_number":931,"context_line":"            print(\u0027export OS_IDENTITY_API_VERSION\u003d2.0\u0027)"},{"line_number":932,"context_line":"            print(\u0027export OS_AUTH_URL\u003d%s\u0027 % options.auth)"},{"line_number":933,"context_line":"            print(\u0027export OS_TENANT_NAME\u003d%s\u0027 % options.os_tenant_name)"},{"line_number":934,"context_line":"            print(\u0027export OS_USERNAME\u003d%s\u0027 % options.os_username)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_639c255e","line":931,"updated":"2014-10-27 11:49:52.000000000","message":"swift cli needs OS_AUTH_VERSION, but OS_IDENTITY_API_VERSION is good for compatibility with openstack cli","commit_id":"db1c2b9718686fbef9b726c0b649b9401be9bc20"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"424b9ce695f81a0b74105f537ae08e322062b81d","unresolved":false,"context_lines":[{"line_number":932,"context_line":"            print(\u0027export OS_AUTH_URL\u003d%s\u0027 % options.auth)"},{"line_number":933,"context_line":"            print(\u0027export OS_TENANT_NAME\u003d%s\u0027 % options.os_tenant_name)"},{"line_number":934,"context_line":"            print(\u0027export OS_USERNAME\u003d%s\u0027 % options.os_username)"},{"line_number":935,"context_line":"            print(\u0027export OS_PASSWORD\u003d%s\u0027 % options.os_password)"},{"line_number":936,"context_line":"    else:"},{"line_number":937,"context_line":"        print(\u0027export OS_STORAGE_URL\u003d%s\u0027 % url)"},{"line_number":938,"context_line":"        print(\u0027export OS_AUTH_TOKEN\u003d%s\u0027 % token)"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_58171745","line":935,"updated":"2015-02-11 21:25:13.000000000","message":"Please quote this somehow. Like... \\\u0027%s\\\u0027 or something, just for the sake of people who have \u0026 in password.","commit_id":"db1c2b9718686fbef9b726c0b649b9401be9bc20"}],"tests/test_shell.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"e7851e6130e1651567be6fda1c55bd80323a1bc2","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    \u0027--auth\u0027, \u0027https://swift.storage.example.com/auth/v1.0\u0027,"},{"line_number":355,"context_line":"                    \u0027--user\u0027, \u0027test:tester\u0027, \u0027--key\u0027, \u0027testing\u0027,"},{"line_number":356,"context_line":"                ]"},{"line_number":357,"context_line":"                swiftclient.shell.st_auth(parser, args, None)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        expected \u003d \"\"\""},{"line_number":360,"context_line":"        export STORAGE_URL\u003dhttps://swift.storage.example.com/v1/AUTH_test"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAXX%2F%2F7sE%3D","line":357,"updated":"2014-04-25 08:09:53.000000000","message":"Obviously I\u0027m biased here, but you could also use this:\n\n with mock.patch(\u0027sys.stdout\u0027, new\u003dstdout):\n     argv \u003d [\"\",\n         \u0027auth\u0027,\n         \u0027--auth\u0027, \u0027https://swift.storage.example.com/auth/v1.0\u0027,\n         \u0027--user\u0027, \u0027test:tester\u0027, \u0027--key\u0027, \u0027testing\u0027,\n      ]   \n     swiftclient.shell.main(argv)\n\nSame for the following methods.\n\nBut that\u0027s just a nitpick...","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"6ffd0189fbaeaa96883cc0c7c660e88b9f8260b4","unresolved":false,"context_lines":[{"line_number":354,"context_line":"                    \u0027--auth\u0027, \u0027https://swift.storage.example.com/auth/v1.0\u0027,"},{"line_number":355,"context_line":"                    \u0027--user\u0027, \u0027test:tester\u0027, \u0027--key\u0027, \u0027testing\u0027,"},{"line_number":356,"context_line":"                ]"},{"line_number":357,"context_line":"                swiftclient.shell.st_auth(parser, args, None)"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"        expected \u003d \"\"\""},{"line_number":360,"context_line":"        export STORAGE_URL\u003dhttps://swift.storage.example.com/v1/AUTH_test"}],"source_content_type":"text/x-python","patch_set":6,"id":"baa201ad_d3e3dba1","line":357,"in_reply_to":"AAAAXX%2F%2F7sE%3D","updated":"2014-10-17 03:08:55.000000000","message":"i could try - does that work?  not sure why I wouldn\u0027t have done that in the first place...","commit_id":"1728f081074067d8d9ead4719d8a4e91313f7350"}]}
