)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c0dfd5c48f79e39081b27f53d3312e9d1e577ca4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Closes-Bug: #1607523"},{"line_number":18,"context_line":"Closes-Bug: #1607519"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: I0fb2ce125fe12d660e4deb778265016bdd5ff31b"},{"line_number":21,"context_line":"Change-Id: Ifa8bf636f20f82db4845b02d1b58699edaa39356"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa7ab95a_11133d5c","line":20,"updated":"2016-08-29 17:00:25.000000000","message":"Do we still depend on this?","commit_id":"f3751c84dccd6f2886539dc658aad77fc9ac9a95"}],"bin/swift-temp-url":[{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"b27dd9287dda55ab3351d59faf2b49b107d688a7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        print(\u0027  \u003cseconds\u003e  The number of seconds from now to allow requests.\u0027)"},{"line_number":33,"context_line":"        print(\u0027  \u003cpath\u003e     The full path or storage URL to the resource.\u0027)"},{"line_number":34,"context_line":"        print(\u0027             Example: /v1/AUTH_account/c/o\u0027)"},{"line_number":35,"context_line":"        print(\u0027             or: http://saio:8080/v1/AUTH_account/c/o\u0027)"},{"line_number":36,"context_line":"        print(\u0027  \u003ckey\u003e      The X-Account-Meta-Temp-URL-Key for the account.\u0027)"},{"line_number":37,"context_line":"        print()"},{"line_number":38,"context_line":"        print(\u0027Example output using a path:\u0027)"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"bacf61ea_76de806e","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":8},"updated":"2016-07-28 14:48:45.000000000","message":"How about using first:\nhttp:// \u003chostname\u003e\u003coutput from swift-temp-url\u003e\nthen,\nExample: http://saio:8080/v1/AUTH_account/c/o","commit_id":"2af12e8735e876e78b66bcb2d58cff2d45f146d7"},{"author":{"_account_id":20508,"name":"Mohit Motiani","email":"mohit.motiani@intel.com","username":"mohit.motiani"},"change_message_id":"9c17013899ffadbf1fbb83096cf743a6f1f3bbc7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        print(\u0027Example output using a path:\u0027)"},{"line_number":39,"context_line":"        print(\u0027    /v1/AUTH_account/c/o?temp_url_sig\u003d34d49efc32fe6e3082e411e\u0027"},{"line_number":40,"context_line":"              \u0027eeb85bd8a\u0026temp_url_expires\u003d1323482948\u0027)"},{"line_number":41,"context_line":"        print(\u0027Or using a storage URL:\u0027)"},{"line_number":42,"context_line":"        print(\u0027    https://swift-cluster.example.com/v1/AUTH_account/c/o?\u0027"},{"line_number":43,"context_line":"              \u0027temp_url_sig\u003d34d49efc32fe6e3082e411eeeb85bd8a\u0026\u0027"},{"line_number":44,"context_line":"              \u0027temp_url_expires\u003d1323482948\u0027)"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"bacf61ea_96c4d45f","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":8},"updated":"2016-07-28 14:51:30.000000000","message":"Ditto:\nFirst, a generic URL then example.","commit_id":"2af12e8735e876e78b66bcb2d58cff2d45f146d7"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7d87c5f2b310ca05a3f56c469b43040fc172ac17","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import argparse"},{"line_number":17,"context_line":"from sys import argv, exit"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"depr_msg \u003d (\"\\nNOTE: This command is deprecated and \" +"},{"line_number":20,"context_line":"            \"will be removed in the future. Please use\" +"},{"line_number":21,"context_line":"            \"\u0027swift tempurl\u0027 instead.\\n\")"},{"line_number":22,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1ac06dbe_3a5ebce9","line":19,"range":{"start_line":19,"start_character":54,"end_line":19,"end_character":55},"updated":"2016-08-19 23:00:53.000000000","message":"nit: the +s aren\u0027t necessary since we\u0027ve got the parens.","commit_id":"e5ce14416fddd12ebd4868f24865aba95ba619f8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7d87c5f2b310ca05a3f56c469b43040fc172ac17","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from sys import argv, exit"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"depr_msg \u003d (\"\\nNOTE: This command is deprecated and \" +"},{"line_number":20,"context_line":"            \"will be removed in the future. Please use\" +"},{"line_number":21,"context_line":"            \"\u0027swift tempurl\u0027 instead.\\n\")"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"try:"},{"line_number":24,"context_line":"    from swiftclient.shell import st_tempurl"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1ac06dbe_da69688d","line":21,"range":{"start_line":20,"start_character":51,"end_line":21,"end_character":19},"updated":"2016-08-19 23:00:53.000000000","message":"This prints as\n\n Please use\u0027swift tempurl\u0027 instead.\n\nNeeds an extra space.","commit_id":"e5ce14416fddd12ebd4868f24865aba95ba619f8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7d87c5f2b310ca05a3f56c469b43040fc172ac17","unresolved":false,"context_lines":[{"line_number":26,"context_line":"except ImportError:"},{"line_number":27,"context_line":"    print(\"ERROR: python-swiftclient not installed.\")"},{"line_number":28,"context_line":"    print(depr_msg)"},{"line_number":29,"context_line":"    exit(1)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def main():"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1ac06dbe_bac46c92","line":29,"updated":"2016-08-19 23:00:53.000000000","message":"I think this should be inside main. Otherwise we could trigger an exit during import!\n\nCome to think of it, do we need a dedicated main function? I might be partial toward moving everything into the if-block.","commit_id":"e5ce14416fddd12ebd4868f24865aba95ba619f8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7d87c5f2b310ca05a3f56c469b43040fc172ac17","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def main():"},{"line_number":33,"context_line":"    argv[0] \u003d \u0027tempurl\u0027"},{"line_number":34,"context_line":"    parser \u003d argparse.ArgumentParser()"},{"line_number":35,"context_line":"    with OutputManager() as output:"},{"line_number":36,"context_line":"        st_tempurl(parser, argv, output)"},{"line_number":37,"context_line":"    print(depr_msg)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1ac06dbe_df7e7aad","line":34,"updated":"2016-08-19 23:00:53.000000000","message":"I saw https://review.openstack.org/#/c/357063/ to make swiftclient tolerate missing debug/info/help args -- but won\u0027t that mean that this will only work if swiftclient is installed AND it\u0027s at least 3.1.0 or whatever?\n\nAlso, the help message is rather bad at the moment:\n\n usage: tempurl [-h] [--absolute]\n \n optional arguments:\n   -h, --help  show this help message and exit\n   --absolute  If present, seconds argument will be interpreted as a Unix\n               timestamp representing when the tempURL should expire, rather\n               than an offset from the current time\n\nI think it would be better to just import main and call that instead of st_tempurl. (After doing something like\n\n argv[0:1] \u003d [\u0027swift\u0027, \u0027tempurl\u0027]\n\nof course.)","commit_id":"e5ce14416fddd12ebd4868f24865aba95ba619f8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7d87c5f2b310ca05a3f56c469b43040fc172ac17","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    parser \u003d argparse.ArgumentParser()"},{"line_number":35,"context_line":"    with OutputManager() as output:"},{"line_number":36,"context_line":"        st_tempurl(parser, argv, output)"},{"line_number":37,"context_line":"    print(depr_msg)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"1ac06dbe_baa3cc9d","line":37,"updated":"2016-08-19 23:00:53.000000000","message":"Inside of swiftclient\u0027s parse_args, we might exit(), in which case this won\u0027t get printed. Should we put it in a try-finally?","commit_id":"e5ce14416fddd12ebd4868f24865aba95ba619f8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c0dfd5c48f79e39081b27f53d3312e9d1e577ca4","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":20,"context_line":"    argv[0:1] \u003d [\u0027swift\u0027, \u0027tempurl\u0027]"},{"line_number":21,"context_line":"    print(\"\\nNOTE: This command is deprecated and will be removed \""},{"line_number":22,"context_line":"          \"in the future. Please use \u0027swift tempurl\u0027 instead.\\n\")"},{"line_number":23,"context_line":"    try:"},{"line_number":24,"context_line":"        from swiftclient.shell import main"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"fa7ab95a_362e77a5","line":21,"updated":"2016-08-29 17:00:25.000000000","message":"Should this be printing to stderr, in case someone\u0027s got a script that does something like\n\n curl $(swift-temp-url ...) ...\n\n?","commit_id":"f3751c84dccd6f2886539dc658aad77fc9ac9a95"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"930d2a4321159aaaa90b432fd5470bb2b494b76b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"},{"line_number":21,"context_line":"    argv[0:1] \u003d [\u0027swift\u0027, \u0027tempurl\u0027]"},{"line_number":22,"context_line":"    print(\"\", file\u003dstderr)"},{"line_number":23,"context_line":"    print(_(\"NOTE: This command is deprecated and will be removed \""},{"line_number":24,"context_line":"          \"in the future. Please use \u0027swift tempurl\u0027 instead.\"), file\u003dstderr)"},{"line_number":25,"context_line":"    print(\"\", file\u003dstderr)"},{"line_number":26,"context_line":"    try:"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"da7fb54a_a72bce32","line":23,"range":{"start_line":23,"start_character":13,"end_line":23,"end_character":17},"updated":"2016-09-02 15:55:55.000000000","message":"nit: should this be a \"WARNING\" instead of \"NOTE\"","commit_id":"350f10bf3be9ce6c9eec4b3046afc9a05cf08454"}]}
