)]}'
{"tools/update-rs-db.py":[{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"ce38884576f6336752eaed2bd5ff544f85e1844f","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    # or the data to generate a new token"},{"line_number":142,"context_line":"    token_flags \u003d parser.add_mutually_exclusive_group(required\u003dTrue)"},{"line_number":143,"context_line":"    token_flags.add_argument(\"--tokenfile\", \"-t\", type\u003dstr, action\u003d\"store\","},{"line_number":144,"context_line":"                             help\u003d\"Absolute path to a json web token to \" +"},{"line_number":145,"context_line":"                             \"use to auth to the RefStack API\")"},{"line_number":146,"context_line":"    token_flags.add_argument(\"--generate\", nargs\u003d2,"},{"line_number":147,"context_line":"                             metavar\u003d(\"ssh-key\", \"openstack-id\"),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_e39aee5f","line":144,"range":{"start_line":144,"start_character":73,"end_line":144,"end_character":75},"updated":"2017-10-17 01:28:06.000000000","message":"I don\u0027t think the + is necessary, and may actually be less efficient. If I understand python correctly strings with automatically join across lines, so dropping the + will have the same effect.","commit_id":"7e816abf99b25e5fbccbdf9f7506120e0c004f10"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"ce1b56cf9bc35023f905f0e419a8c4b3a3f7cc9c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        }"},{"line_number":43,"context_line":"    token \u003d jwt.encode(payload, secret, algorithm\u003d\u0027RS256\u0027)"},{"line_number":44,"context_line":"    with open(\"./token\", \"w+\") as tokenfile:"},{"line_number":45,"context_line":"        tokenfile.write(token)"},{"line_number":46,"context_line":"        print(\"token stored in the current working directory.\")"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_5be42be0","line":45,"range":{"start_line":45,"start_character":24,"end_line":45,"end_character":29},"updated":"2017-10-24 18:23:41.000000000","message":"encapsulate this with str()","commit_id":"1ce6b0b1a4c61db75a261dd170def1740ffed7f1"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"ce1b56cf9bc35023f905f0e419a8c4b3a3f7cc9c","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    # token handling options- we either need the path of a working token,"},{"line_number":216,"context_line":"    # or the data to generate a new token"},{"line_number":217,"context_line":"    token_flags \u003d parser.add_mutually_exclusive_group(required\u003dTrue)"},{"line_number":218,"context_line":"    token_flags.add_argument(\"--tokenfile\", \"-t\", type\u003dstr, action\u003d\"store\","},{"line_number":219,"context_line":"                             help\u003d\"Absolute path to a json web token to \" +"},{"line_number":220,"context_line":"                             \"use to auth to the RefStack API\")"},{"line_number":221,"context_line":"    token_flags.add_argument(\"--generate\", nargs\u003d2,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_d2059f47","line":218,"range":{"start_line":218,"start_character":44,"end_line":218,"end_character":48},"updated":"2017-10-24 18:23:41.000000000","message":"Are we keeping --token below, as the -t here conflicts with the usage with --token. If we do keep it, we should keep add this to the token_flags mutually exclusive group.","commit_id":"1ce6b0b1a4c61db75a261dd170def1740ffed7f1"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"ce1b56cf9bc35023f905f0e419a8c4b3a3f7cc9c","unresolved":false,"context_lines":[{"line_number":243,"context_line":"    infile \u003d args.file"},{"line_number":244,"context_line":"    record \u003d args.record"},{"line_number":245,"context_line":"    endpoint \u003d args.endpoint"},{"line_number":246,"context_line":"    if not args.tokenfile and len(args.generate) \u003d\u003d 2:"},{"line_number":247,"context_line":"        keypath \u003d args.generate[0]"},{"line_number":248,"context_line":"        _id \u003d args.generate[1]"},{"line_number":249,"context_line":"        generate_token(keypath, _id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_1b40f3a4","line":246,"range":{"start_line":246,"start_character":4,"end_line":246,"end_character":53},"updated":"2017-10-24 18:23:41.000000000","message":"Can just do:\n\n  if args.generate:\n\nargparse will fail if args.generate is passed in anything but 2 args. Or if both args are passed in at the same times","commit_id":"1ce6b0b1a4c61db75a261dd170def1740ffed7f1"},{"author":{"_account_id":9626,"name":"Paul Van Eck","email":"pvaneck@us.ibm.com","username":"pvaneck"},"change_message_id":"ce1b56cf9bc35023f905f0e419a8c4b3a3f7cc9c","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        _id \u003d args.generate[1]"},{"line_number":249,"context_line":"        generate_token(keypath, _id)"},{"line_number":250,"context_line":"        tokenfile \u003d \"./token\""},{"line_number":251,"context_line":"    elif not args.tokenfile:"},{"line_number":252,"context_line":"        tokenfile \u003d None"},{"line_number":253,"context_line":"    else:"},{"line_number":254,"context_line":"        tokenfile \u003d args.tokenfile"},{"line_number":255,"context_line":"    auth_success, token \u003d testAuth(endpoint, tokenfile)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_1b57d35a","line":252,"range":{"start_line":251,"start_character":0,"end_line":252,"end_character":24},"updated":"2017-10-24 18:23:41.000000000","message":"Don\u0027t think you will ever get inside here as either tokenfile or generate must be passed in since we have required\u003dTrue for the mutually exclusive group. So this can be removed safely.","commit_id":"1ce6b0b1a4c61db75a261dd170def1740ffed7f1"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"7305e051766f353b052ecbc6f0357ceb68f12f99","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import json"},{"line_number":25,"context_line":"import jwt"},{"line_number":26,"context_line":"import requests"},{"line_number":27,"context_line":"import os"},{"line_number":28,"context_line":"import sys"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from collections import namedtuple"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_1176473f","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":9},"updated":"2017-10-30 20:54:03.000000000","message":"Move it before requests","commit_id":"6e31e932f4af9d4d2dea97014a1232abf59387b6"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"7305e051766f353b052ecbc6f0357ceb68f12f99","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        \"--endpoint\", \"-e\", metavar\u003d\"e\","},{"line_number":236,"context_line":"        type\u003dstr, action\u003d\"store\", required\u003dTrue,"},{"line_number":237,"context_line":"        help\u003d\"the base URL of the endpoint. ex: http://examplerefstack.com/v1\")"},{"line_number":238,"context_line":"    parser.add_argument(\"--token\", \"-t\", metavar\u003d\"t\", type\u003dstr,"},{"line_number":239,"context_line":"                        action\u003d\"store\", required\u003dTrue, help\u003d\"API auth token\")"},{"line_number":240,"context_line":"    parser.add_argument(\"--record\", \"-r\", metavar\u003d\"r\", type\u003dstr,"},{"line_number":241,"context_line":"                        action\u003d\"store\", default\u003d\"verification_results.csv\","},{"line_number":242,"context_line":"                        help\u003d\"\"\"name of file to output update \u0026 verification"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_51fb9fbf","line":239,"range":{"start_line":238,"start_character":4,"end_line":239,"end_character":77},"updated":"2017-10-30 20:54:03.000000000","message":"This argument is no longer used. Remove it.","commit_id":"6e31e932f4af9d4d2dea97014a1232abf59387b6"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"7305e051766f353b052ecbc6f0357ceb68f12f99","unresolved":false,"context_lines":[{"line_number":256,"context_line":"    if not auth_success:"},{"line_number":257,"context_line":"        print(\"\"\"Please enter either a valid token or an openstackid and the"},{"line_number":258,"context_line":"              absolute path to an rsa ssh key.\"\"\")"},{"line_number":259,"context_line":"        sys.exit()"},{"line_number":260,"context_line":"    with open(infile) as f:"},{"line_number":261,"context_line":"        for line in f:"},{"line_number":262,"context_line":"            linect \u003d linect + 1"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_c9f8c37d","line":259,"range":{"start_line":259,"start_character":8,"end_line":259,"end_character":18},"updated":"2017-10-30 20:54:03.000000000","message":"send 1 as exit code","commit_id":"6e31e932f4af9d4d2dea97014a1232abf59387b6"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"7305e051766f353b052ecbc6f0357ceb68f12f99","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            entry \u003d line.split(\",\")"},{"line_number":264,"context_line":"            testId, guideline, target \u003d getData(entry)"},{"line_number":265,"context_line":"            if None in (testId, guideline, target):"},{"line_number":266,"context_line":"                print(\"\"\"entry found at line %d cannot be updated and"},{"line_number":267,"context_line":"                      verified: entry incomplete.\\n\"\"\" % (linect))"},{"line_number":268,"context_line":"            else:"},{"line_number":269,"context_line":"                apiLink \u003d os.path.join(endpoint, \"results\", testId)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_2359b6fd","line":266,"range":{"start_line":266,"start_character":22,"end_line":266,"end_character":25},"updated":"2017-10-30 20:54:03.000000000","message":"using triple-quotes will add end of lines automatically (multiline st), is that the expected format/ output?","commit_id":"6e31e932f4af9d4d2dea97014a1232abf59387b6"}]}
