)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Removing bandit.yaml in favor of defaults"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removing old configuration options for build in defaults of latest"},{"line_number":10,"context_line":"bandit functionality. Also, addressing multiple possible security"},{"line_number":11,"context_line":"issues, or at the very least marking possible issues with _# nosec_"},{"line_number":12,"context_line":"with a descriptive comment on why the code is acceptable as is."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_41400836","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":47},"updated":"2016-04-01 20:14:02.000000000","message":"built-in","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Removing bandit.yaml in favor of defaults"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removing old configuration options for build in defaults of latest"},{"line_number":10,"context_line":"bandit functionality. Also, addressing multiple possible security"},{"line_number":11,"context_line":"issues, or at the very least marking possible issues with _# nosec_"},{"line_number":12,"context_line":"with a descriptive comment on why the code is acceptable as is."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_75d5761a","line":9,"range":{"start_line":9,"start_character":39,"end_line":9,"end_character":47},"in_reply_to":"ba0121b8_41400836","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Removing bandit.yaml in favor of defaults"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removing old configuration options for build in defaults of latest"},{"line_number":10,"context_line":"bandit functionality. Also, addressing multiple possible security"},{"line_number":11,"context_line":"issues, or at the very least marking possible issues with _# nosec_"},{"line_number":12,"context_line":"with a descriptive comment on why the code is acceptable as is."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_016d70cc","line":10,"range":{"start_line":10,"start_character":28,"end_line":10,"end_character":65},"updated":"2016-04-01 20:14:02.000000000","message":"if there are security issues then there should be bugs filed so we can track it.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Removing bandit.yaml in favor of defaults"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Removing old configuration options for build in defaults of latest"},{"line_number":10,"context_line":"bandit functionality. Also, addressing multiple possible security"},{"line_number":11,"context_line":"issues, or at the very least marking possible issues with _# nosec_"},{"line_number":12,"context_line":"with a descriptive comment on why the code is acceptable as is."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_35f01ec9","line":10,"range":{"start_line":10,"start_character":28,"end_line":10,"end_character":65},"in_reply_to":"ba0121b8_016d70cc","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/_discover.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    try:"},{"line_number":44,"context_line":"        body_resp \u003d resp.json()"},{"line_number":45,"context_line":"    except ValueError:  # nosec"},{"line_number":46,"context_line":"        # we will need to raise a DiscoveryFailure exception below"},{"line_number":47,"context_line":"        pass"},{"line_number":48,"context_line":"    else:"},{"line_number":49,"context_line":"        # In the event of querying a root URL we will get back a list of"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_7669c9f8","line":46,"updated":"2016-03-18 15:59:11.000000000","message":"we will or we do?","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    try:"},{"line_number":44,"context_line":"        body_resp \u003d resp.json()"},{"line_number":45,"context_line":"    except ValueError:  # nosec"},{"line_number":46,"context_line":"        # we will need to raise a DiscoveryFailure exception below"},{"line_number":47,"context_line":"        pass"},{"line_number":48,"context_line":"    else:"},{"line_number":49,"context_line":"        # In the event of querying a root URL we will get back a list of"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_cf585635","line":46,"in_reply_to":"1af94dfe_7669c9f8","updated":"2016-03-22 18:49:32.000000000","message":"Since we do, changed to \u0027raise a ...\u0027","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        try:"},{"line_number":68,"context_line":"            return [body_resp[\u0027version\u0027]]"},{"line_number":69,"context_line":"        except KeyError:  # nosec"},{"line_number":70,"context_line":"            # we will need to raise a DiscoveryFailure execption below"},{"line_number":71,"context_line":"            pass"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    err_text \u003d resp.text[:50] + \u0027...\u0027 if len(resp.text) \u003e 50 else resp.text"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_f65cb94c","line":70,"updated":"2016-03-18 15:59:11.000000000","message":"same comment here","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        try:"},{"line_number":68,"context_line":"            return [body_resp[\u0027version\u0027]]"},{"line_number":69,"context_line":"        except KeyError:  # nosec"},{"line_number":70,"context_line":"            # we will need to raise a DiscoveryFailure execption below"},{"line_number":71,"context_line":"            pass"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    err_text \u003d resp.text[:50] + \u0027...\u0027 if len(resp.text) \u003e 50 else resp.text"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_cfa6960f","line":70,"in_reply_to":"1af94dfe_f65cb94c","updated":"2016-03-22 18:49:32.000000000","message":"Since we do, changed to \u0027raise a ...\u0027","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    try:"},{"line_number":83,"context_line":"        version \u003d version.lstrip(\u0027v\u0027)"},{"line_number":84,"context_line":"    except AttributeError:  # nosec"},{"line_number":85,"context_line":"        # `version` doesn\u0027t have an attribute `lstrip`"},{"line_number":86,"context_line":"        pass"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # if it\u0027s an integer or a numeric as a string then normalize it"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_1629659e","line":85,"updated":"2016-03-18 15:59:11.000000000","message":"do we allow version to be of other types than str?","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"ee65c8d1c4da55183bf5cff507460596fe82c2ad","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    try:"},{"line_number":83,"context_line":"        version \u003d version.lstrip(\u0027v\u0027)"},{"line_number":84,"context_line":"    except AttributeError:  # nosec"},{"line_number":85,"context_line":"        # `version` doesn\u0027t have an attribute `lstrip`"},{"line_number":86,"context_line":"        pass"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # if it\u0027s an integer or a numeric as a string then normalize it"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_2a4cab6f","line":85,"in_reply_to":"1af94dfe_1629659e","updated":"2016-03-21 14:32:17.000000000","message":"It looks like according to the code below it could also be a floating point or an int.\n\n@Chris maybe add here that this is testing if `version` is a str","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    try:"},{"line_number":83,"context_line":"        version \u003d version.lstrip(\u0027v\u0027)"},{"line_number":84,"context_line":"    except AttributeError:  # nosec"},{"line_number":85,"context_line":"        # `version` doesn\u0027t have an attribute `lstrip`"},{"line_number":86,"context_line":"        pass"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # if it\u0027s an integer or a numeric as a string then normalize it"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_6fd4aa46","line":85,"in_reply_to":"fa0719c6_2a4cab6f","updated":"2016-03-22 18:49:32.000000000","message":"updated comment if \u0027version\u0027 is not a str","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    # to a string, this ensures 1 decimal point"},{"line_number":90,"context_line":"    try:"},{"line_number":91,"context_line":"        num \u003d float(version)"},{"line_number":92,"context_line":"    except Exception:  # nosec"},{"line_number":93,"context_line":"        pass"},{"line_number":94,"context_line":"    else:"},{"line_number":95,"context_line":"        version \u003d str(num)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_d108a72a","line":92,"updated":"2016-03-18 15:59:11.000000000","message":"Should we add some detail to these?","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"ee65c8d1c4da55183bf5cff507460596fe82c2ad","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    # to a string, this ensures 1 decimal point"},{"line_number":90,"context_line":"    try:"},{"line_number":91,"context_line":"        num \u003d float(version)"},{"line_number":92,"context_line":"    except Exception:  # nosec"},{"line_number":93,"context_line":"        pass"},{"line_number":94,"context_line":"    else:"},{"line_number":95,"context_line":"        version \u003d str(num)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_1f1beb1c","line":92,"in_reply_to":"1af94dfe_d108a72a","updated":"2016-03-21 14:32:17.000000000","message":"I figured the description above was enough information.  Should i move that into the exception or add more info?","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    # to a string, this ensures 1 decimal point"},{"line_number":90,"context_line":"    try:"},{"line_number":91,"context_line":"        num \u003d float(version)"},{"line_number":92,"context_line":"    except Exception:  # nosec"},{"line_number":93,"context_line":"        pass"},{"line_number":94,"context_line":"    else:"},{"line_number":95,"context_line":"        version \u003d str(num)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_0f4d2e3e","line":92,"in_reply_to":"fa0719c6_1f1beb1c","updated":"2016-03-22 18:49:32.000000000","message":"added comments to make it clearer why this is acceptable (nosec)","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    try:"},{"line_number":44,"context_line":"        body_resp \u003d resp.json()"},{"line_number":45,"context_line":"    except ValueError:  # nosec(cjschaef): raise a DiscoveryFailure below"},{"line_number":46,"context_line":"        pass"},{"line_number":47,"context_line":"    else:"},{"line_number":48,"context_line":"        # In the event of querying a root URL we will get back a list of"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_81b8602c","line":45,"updated":"2016-04-01 20:14:02.000000000","message":"remove (cjshaef)... why is that being added?","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    try:"},{"line_number":44,"context_line":"        body_resp \u003d resp.json()"},{"line_number":45,"context_line":"    except ValueError:  # nosec(cjschaef): raise a DiscoveryFailure below"},{"line_number":46,"context_line":"        pass"},{"line_number":47,"context_line":"    else:"},{"line_number":48,"context_line":"        # In the event of querying a root URL we will get back a list of"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_558f9a29","line":45,"in_reply_to":"ba0121b8_81b8602c","updated":"2016-04-19 15:44:45.000000000","message":"Per the comment (March 17th) in https://review.openstack.org/#/c/286506/ I updated the _nosec_ comments appropriately.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/access.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        try:"},{"line_number":529,"context_line":"            tenant_dict \u003d self[\u0027token\u0027][\u0027tenant\u0027]"},{"line_number":530,"context_line":"        except KeyError:  # nosec"},{"line_number":531,"context_line":"            # if there is no \u0027tenant\u0027 dict, attempt to return \u0027tenantName\u0027"},{"line_number":532,"context_line":"            pass"},{"line_number":533,"context_line":"        else:"},{"line_number":534,"context_line":"            return tenant_dict.get(\u0027name\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_514bf758","line":531,"updated":"2016-03-18 15:59:11.000000000","message":"nit: \n\n    # if there is no \u0027tenant\u0027 key in the token, return the name of the tenant or None","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        try:"},{"line_number":529,"context_line":"            tenant_dict \u003d self[\u0027token\u0027][\u0027tenant\u0027]"},{"line_number":530,"context_line":"        except KeyError:  # nosec"},{"line_number":531,"context_line":"            # if there is no \u0027tenant\u0027 dict, attempt to return \u0027tenantName\u0027"},{"line_number":532,"context_line":"            pass"},{"line_number":533,"context_line":"        else:"},{"line_number":534,"context_line":"            return tenant_dict.get(\u0027name\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_af9d225b","line":531,"in_reply_to":"1af94dfe_514bf758","updated":"2016-03-22 18:49:32.000000000","message":"Done","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":526,"context_line":"    def project_name(self):"},{"line_number":527,"context_line":"        try:"},{"line_number":528,"context_line":"            tenant_dict \u003d self[\u0027token\u0027][\u0027tenant\u0027]"},{"line_number":529,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenant\u0027 key in token, return"},{"line_number":530,"context_line":"            # the name of the tenant or None"},{"line_number":531,"context_line":"            pass"},{"line_number":532,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_6168ac88","line":529,"updated":"2016-04-01 20:14:02.000000000","message":"this could also be because there\u0027s no \u0027token\u0027.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":526,"context_line":"    def project_name(self):"},{"line_number":527,"context_line":"        try:"},{"line_number":528,"context_line":"            tenant_dict \u003d self[\u0027token\u0027][\u0027tenant\u0027]"},{"line_number":529,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenant\u0027 key in token, return"},{"line_number":530,"context_line":"            # the name of the tenant or None"},{"line_number":531,"context_line":"            pass"},{"line_number":532,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_f57ea617","line":529,"in_reply_to":"ba0121b8_6168ac88","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":536,"context_line":"        try:"},{"line_number":537,"context_line":"            return self[\u0027user\u0027][\u0027tenantName\u0027]"},{"line_number":538,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenantName\u0027 in \u0027user\u0027, attempt"},{"line_number":539,"context_line":"            # \u0027tenantId\u0027 or return None"},{"line_number":540,"context_line":"            pass"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        # pre diablo, keystone only provided a tenantId"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_a10804db","line":539,"updated":"2016-04-01 20:14:02.000000000","message":"this could also be because there\u0027s no \u0027user\u0027","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":536,"context_line":"        try:"},{"line_number":537,"context_line":"            return self[\u0027user\u0027][\u0027tenantName\u0027]"},{"line_number":538,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenantName\u0027 in \u0027user\u0027, attempt"},{"line_number":539,"context_line":"            # \u0027tenantId\u0027 or return None"},{"line_number":540,"context_line":"            pass"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"        # pre diablo, keystone only provided a tenantId"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_3575be31","line":539,"in_reply_to":"ba0121b8_a10804db","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            return self[\u0027token\u0027][\u0027tenantId\u0027]"},{"line_number":545,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenantName\u0027 or \u0027tenantId\u0027"},{"line_number":546,"context_line":"            # could be found, return None"},{"line_number":547,"context_line":"            pass"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_21f514cb","line":546,"updated":"2016-04-01 20:14:02.000000000","message":"this could also be because there\u0027s no token\n\nsimilar comments apply to the changes below.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        try:"},{"line_number":544,"context_line":"            return self[\u0027token\u0027][\u0027tenantId\u0027]"},{"line_number":545,"context_line":"        except KeyError:  # nosec(cjschaef): no \u0027tenantName\u0027 or \u0027tenantId\u0027"},{"line_number":546,"context_line":"            # could be found, return None"},{"line_number":547,"context_line":"            pass"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_7591f646","line":546,"in_reply_to":"ba0121b8_21f514cb","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/adapter.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        try:"},{"line_number":208,"context_line":"            kwargs[\u0027json\u0027] \u003d kwargs.pop(\u0027body\u0027)"},{"line_number":209,"context_line":"        except KeyError:  # nosec"},{"line_number":210,"context_line":"            # kwargs doesn\u0027t contain body"},{"line_number":211,"context_line":"            pass"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        resp \u003d super(LegacyJsonAdapter, self).request(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_3150ebd3","line":210,"updated":"2016-03-18 15:59:11.000000000","message":"nit: \n\n    # kwargs doesn\u0027t contain a \u0027body\u0027 key","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        try:"},{"line_number":208,"context_line":"            kwargs[\u0027json\u0027] \u003d kwargs.pop(\u0027body\u0027)"},{"line_number":209,"context_line":"        except KeyError:  # nosec"},{"line_number":210,"context_line":"            # kwargs doesn\u0027t contain body"},{"line_number":211,"context_line":"            pass"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        resp \u003d super(LegacyJsonAdapter, self).request(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_ef9f1a4e","line":210,"in_reply_to":"1af94dfe_3150ebd3","updated":"2016-03-22 18:49:32.000000000","message":"Done","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8be43fb755f134e4a76986b934a86062f4c5332f","unresolved":false,"context_lines":[{"line_number":217,"context_line":"            try:"},{"line_number":218,"context_line":"                body \u003d jsonutils.loads(resp.text)"},{"line_number":219,"context_line":"            except ValueError:  # nosec"},{"line_number":220,"context_line":"                # body doesn\u0027t contain valid json"},{"line_number":221,"context_line":"                pass"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":4,"id":"da0c15f0_ad372ce2","line":220,"updated":"2016-03-25 14:49:28.000000000","message":"This should say that the function will return None for the body as expected.","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f38dc07cb3a4829f95fed52c2e59fe469e5c4305","unresolved":false,"context_lines":[{"line_number":217,"context_line":"            try:"},{"line_number":218,"context_line":"                body \u003d jsonutils.loads(resp.text)"},{"line_number":219,"context_line":"            except ValueError:  # nosec"},{"line_number":220,"context_line":"                # body doesn\u0027t contain valid json"},{"line_number":221,"context_line":"                pass"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_b17da71e","line":220,"in_reply_to":"da0c15f0_ad372ce2","updated":"2016-03-30 19:40:20.000000000","message":"Done","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        try:"},{"line_number":208,"context_line":"            kwargs[\u0027json\u0027] \u003d kwargs.pop(\u0027body\u0027)"},{"line_number":209,"context_line":"        except KeyError:  # nosec(cjschaef): kwargs doesn\u0027t contain a \u0027body\u0027"},{"line_number":210,"context_line":"            # key"},{"line_number":211,"context_line":"            pass"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        resp \u003d super(LegacyJsonAdapter, self).request(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_0ca48706","line":210,"updated":"2016-04-01 20:14:02.000000000","message":"this should say why it\u0027s safe to ignore the exception.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        try:"},{"line_number":208,"context_line":"            kwargs[\u0027json\u0027] \u003d kwargs.pop(\u0027body\u0027)"},{"line_number":209,"context_line":"        except KeyError:  # nosec(cjschaef): kwargs doesn\u0027t contain a \u0027body\u0027"},{"line_number":210,"context_line":"            # key"},{"line_number":211,"context_line":"            pass"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        resp \u003d super(LegacyJsonAdapter, self).request(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_f54186aa","line":210,"in_reply_to":"ba0121b8_0ca48706","updated":"2016-04-19 15:44:45.000000000","message":"Since it looks like json is an optional argument for Session.request, updated comment mentioning this.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/base.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8be43fb755f134e4a76986b934a86062f4c5332f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if obj.uuid:"},{"line_number":44,"context_line":"            return obj.uuid"},{"line_number":45,"context_line":"    except AttributeError:  # nosec"},{"line_number":46,"context_line":"        # `obj` doesn\u0027t contain attribute `uuid`"},{"line_number":47,"context_line":"        pass"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        return obj.id"}],"source_content_type":"text/x-python","patch_set":4,"id":"da0c15f0_cddd4072","line":46,"updated":"2016-03-25 14:49:28.000000000","message":"the nosec comments need to say why it\u0027s safe to use nosec, not just another description of what the code is doing.","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f38dc07cb3a4829f95fed52c2e59fe469e5c4305","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        if obj.uuid:"},{"line_number":44,"context_line":"            return obj.uuid"},{"line_number":45,"context_line":"    except AttributeError:  # nosec"},{"line_number":46,"context_line":"        # `obj` doesn\u0027t contain attribute `uuid`"},{"line_number":47,"context_line":"        pass"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        return obj.id"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_57b7a6f4","line":46,"in_reply_to":"da0c15f0_cddd4072","updated":"2016-03-30 19:40:20.000000000","message":"Done","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"}],"keystoneclient/common/cms.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                from eventlet.green import subprocess"},{"line_number":62,"context_line":"            else:"},{"line_number":63,"context_line":"                import subprocess  # nosec(cjschaef): we must be careful when"},{"line_number":64,"context_line":"                # using subprocess.Popen with \u0027shell\u003dTrue\u0027, no uses as of yet"},{"line_number":65,"context_line":"        except ImportError:"},{"line_number":66,"context_line":"            import subprocess  # noqa # nosec(cjschaef): we must be careful"},{"line_number":67,"context_line":"            # when using subprocess.Popen with \u0027shell\u003dTrue\u0027, no uses as of yet"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_ec44b31c","line":64,"updated":"2016-04-01 20:14:02.000000000","message":"subprocess is used at line 164. There\u0027s a lot more problems with subprocess than just shell\u003dTrue. Any time you pass untrusted parameters to subprocess that can be a problem.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                from eventlet.green import subprocess"},{"line_number":62,"context_line":"            else:"},{"line_number":63,"context_line":"                import subprocess  # nosec(cjschaef): we must be careful when"},{"line_number":64,"context_line":"                # using subprocess.Popen with \u0027shell\u003dTrue\u0027, no uses as of yet"},{"line_number":65,"context_line":"        except ImportError:"},{"line_number":66,"context_line":"            import subprocess  # noqa # nosec(cjschaef): we must be careful"},{"line_number":67,"context_line":"            # when using subprocess.Popen with \u0027shell\u003dTrue\u0027, no uses as of yet"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_955db27b","line":64,"in_reply_to":"ba0121b8_ec44b31c","updated":"2016-04-19 15:44:45.000000000","message":"Great point. I am under the assumption that the certificate and key files are from a trusted source. Otherwise, I will be happy to open a bug for this to be validated or fixed.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/contrib/auth/v3/saml2.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            return bool(session.cookies)"},{"line_number":562,"context_line":"        except AttributeError:  # nosec"},{"line_number":563,"context_line":"            # Try fetching cookies, or raise AttributeError if that fails"},{"line_number":564,"context_line":"            pass"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"        return bool(session.session.cookies)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_b1dfdb38","line":563,"updated":"2016-03-18 15:59:11.000000000","message":"Where does this get raised?","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":560,"context_line":"        try:"},{"line_number":561,"context_line":"            return bool(session.cookies)"},{"line_number":562,"context_line":"        except AttributeError:  # nosec"},{"line_number":563,"context_line":"            # Try fetching cookies, or raise AttributeError if that fails"},{"line_number":564,"context_line":"            pass"},{"line_number":565,"context_line":""},{"line_number":566,"context_line":"        return bool(session.session.cookies)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_0f41aea9","line":563,"in_reply_to":"1af94dfe_b1dfdb38","updated":"2016-03-22 18:49:32.000000000","message":"Fixed comment to better follow functionality, without getting to far into the details.","commit_id":"ea477bfd2be18f43b2c6f183d82989b49a684fb3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":547,"context_line":"    def _cookies(self, session):"},{"line_number":548,"context_line":"        \"\"\"Check if cookie jar is not empty."},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"        If keystoneclient.session.Session object doesn\u0027t have a cookies"},{"line_number":551,"context_line":"        attribute, we should then try fetching cookies from the underlying"},{"line_number":552,"context_line":"        requests.Session object. If that fails too, there is something wrong"},{"line_number":553,"context_line":"        and we let Python raise an AttributeError."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_cc5c4ff3","line":550,"updated":"2016-04-01 20:14:02.000000000","message":"fix comments in a separate commit.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":547,"context_line":"    def _cookies(self, session):"},{"line_number":548,"context_line":"        \"\"\"Check if cookie jar is not empty."},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"        If keystoneclient.session.Session object doesn\u0027t have a cookies"},{"line_number":551,"context_line":"        attribute, we should then try fetching cookies from the underlying"},{"line_number":552,"context_line":"        requests.Session object. If that fails too, there is something wrong"},{"line_number":553,"context_line":"        and we let Python raise an AttributeError."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_f5dd06e1","line":550,"in_reply_to":"ba0121b8_cc5c4ff3","updated":"2016-04-19 15:44:45.000000000","message":"Moving out to separate commit.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/contrib/revoke/model.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"bcc0b819472b7482216e31936a74abcef0e68da5","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                if leaf[\u0027issued_before\u0027] \u003e token_data[\u0027issued_at\u0027]:"},{"line_number":221,"context_line":"                    return True"},{"line_number":222,"context_line":"            except KeyError:"},{"line_number":223,"context_line":"                pass"},{"line_number":224,"context_line":"        # If we made it out of the loop then no element in revocation tree"},{"line_number":225,"context_line":"        # corresponds to our token and it is good."},{"line_number":226,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_91b9ffce","side":"PARENT","line":223,"updated":"2016-03-18 15:59:11.000000000","message":"Could this be: \n\n    except KeyError:\n        continue \n\nDoes that work and make more sense in this context?","commit_id":"91d1053f6811d454c538c85ea601dc700a56b4b3"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f67e54a661937e804c6dcd0aa17c8e393a3b1a8e","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                if leaf[\u0027issued_before\u0027] \u003e token_data[\u0027issued_at\u0027]:"},{"line_number":221,"context_line":"                    return True"},{"line_number":222,"context_line":"            except KeyError:"},{"line_number":223,"context_line":"                pass"},{"line_number":224,"context_line":"        # If we made it out of the loop then no element in revocation tree"},{"line_number":225,"context_line":"        # corresponds to our token and it is good."},{"line_number":226,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_6f4e6a97","side":"PARENT","line":223,"in_reply_to":"1af94dfe_91b9ffce","updated":"2016-03-22 18:49:32.000000000","message":"Yes, I like that better. It also removes the need to mark it nosec. Although, I feel the security consequences remain the same. Something I should bring up I think.\n\nFor the time being, _continue_ seems better, but will be flagged later if it is determined to result in similar possible security vulnerabilities.","commit_id":"91d1053f6811d454c538c85ea601dc700a56b4b3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                if leaf[\u0027issued_before\u0027] \u003e token_data[\u0027issued_at\u0027]:"},{"line_number":221,"context_line":"                    return True"},{"line_number":222,"context_line":"            except KeyError:  # nosec(cjschaef): \u0027issued_before\u0027 key doesn\u0027t"},{"line_number":223,"context_line":"                # exist, try next leaf"},{"line_number":224,"context_line":"                continue"},{"line_number":225,"context_line":"        # If we made it out of the loop then no element in revocation tree"},{"line_number":226,"context_line":"        # corresponds to our token and it is good."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_6c68a388","line":223,"updated":"2016-04-01 20:14:02.000000000","message":"this could also happen if issued_at isn\u0027t in token_data.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                if leaf[\u0027issued_before\u0027] \u003e token_data[\u0027issued_at\u0027]:"},{"line_number":221,"context_line":"                    return True"},{"line_number":222,"context_line":"            except KeyError:  # nosec(cjschaef): \u0027issued_before\u0027 key doesn\u0027t"},{"line_number":223,"context_line":"                # exist, try next leaf"},{"line_number":224,"context_line":"                continue"},{"line_number":225,"context_line":"        # If we made it out of the loop then no element in revocation tree"},{"line_number":226,"context_line":"        # corresponds to our token and it is good."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_55f5da54","line":223,"in_reply_to":"ba0121b8_6c68a388","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/httpclient.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8be43fb755f134e4a76986b934a86062f4c5332f","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"try:"},{"line_number":34,"context_line":"    import pickle  # nosec"},{"line_number":35,"context_line":"    # pickle is used in conjuction with keyring"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    # NOTE(sdague): The conditional keyring import needs to only"},{"line_number":38,"context_line":"    # trigger if it\u0027s a version of keyring that\u0027s supported in global"}],"source_content_type":"text/x-python","patch_set":4,"id":"da0c15f0_ed0004ad","line":35,"updated":"2016-03-25 14:49:28.000000000","message":"This should reference bug 1534288","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f38dc07cb3a4829f95fed52c2e59fe469e5c4305","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"try:"},{"line_number":34,"context_line":"    import pickle  # nosec"},{"line_number":35,"context_line":"    # pickle is used in conjuction with keyring"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    # NOTE(sdague): The conditional keyring import needs to only"},{"line_number":38,"context_line":"    # trigger if it\u0027s a version of keyring that\u0027s supported in global"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_f7af21e1","line":35,"in_reply_to":"da0c15f0_ed0004ad","updated":"2016-03-30 19:40:20.000000000","message":"Done","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8be43fb755f134e4a76986b934a86062f4c5332f","unresolved":false,"context_lines":[{"line_number":651,"context_line":"                keyring.set_password(\"keystoneclient_auth\","},{"line_number":652,"context_line":"                                     keyring_key,"},{"line_number":653,"context_line":"                                     pickle.dumps(self.auth_ref))  # nosec"},{"line_number":654,"context_line":"                # using keyring storage for auth_ref"},{"line_number":655,"context_line":"            except Exception as e:"},{"line_number":656,"context_line":"                _logger.warning("},{"line_number":657,"context_line":"                    _LW(\"Failed to store token into keyring %s\"), e)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da0c15f0_ad1d6c11","line":654,"updated":"2016-03-25 14:49:28.000000000","message":"reference bug 1534288","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f38dc07cb3a4829f95fed52c2e59fe469e5c4305","unresolved":false,"context_lines":[{"line_number":651,"context_line":"                keyring.set_password(\"keystoneclient_auth\","},{"line_number":652,"context_line":"                                     keyring_key,"},{"line_number":653,"context_line":"                                     pickle.dumps(self.auth_ref))  # nosec"},{"line_number":654,"context_line":"                # using keyring storage for auth_ref"},{"line_number":655,"context_line":"            except Exception as e:"},{"line_number":656,"context_line":"                _logger.warning("},{"line_number":657,"context_line":"                    _LW(\"Failed to store token into keyring %s\"), e)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_b7abe988","line":654,"in_reply_to":"da0c15f0_ad1d6c11","updated":"2016-03-30 19:40:20.000000000","message":"Done","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8be43fb755f134e4a76986b934a86062f4c5332f","unresolved":false,"context_lines":[{"line_number":663,"context_line":"                endpoint_type\u003d\u0027admin\u0027,"},{"line_number":664,"context_line":"                region_name\u003dregion_name)"},{"line_number":665,"context_line":"        except exceptions.EndpointNotFound as e:"},{"line_number":666,"context_line":"            _logger.warning("},{"line_number":667,"context_line":"                _LW(\"Failed to find endpoint for management url %s\"), e)"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    def process_token(self, region_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da0c15f0_cde70011","line":666,"updated":"2016-03-25 14:49:28.000000000","message":"libraries shouldn\u0027t log at warning level, use debug.","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"f38dc07cb3a4829f95fed52c2e59fe469e5c4305","unresolved":false,"context_lines":[{"line_number":663,"context_line":"                endpoint_type\u003d\u0027admin\u0027,"},{"line_number":664,"context_line":"                region_name\u003dregion_name)"},{"line_number":665,"context_line":"        except exceptions.EndpointNotFound as e:"},{"line_number":666,"context_line":"            _logger.warning("},{"line_number":667,"context_line":"                _LW(\"Failed to find endpoint for management url %s\"), e)"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    def process_token(self, region_name\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba0121b8_97b065f6","line":666,"in_reply_to":"da0c15f0_cde70011","updated":"2016-03-30 19:40:20.000000000","message":"Done","commit_id":"f7bf59afe0ff1303fc57e534b8270d966b1e4857"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                region_name\u003dregion_name)"},{"line_number":665,"context_line":"        except exceptions.EndpointNotFound as e:"},{"line_number":666,"context_line":"            _logger.debug("},{"line_number":667,"context_line":"                _LW(\"Failed to find endpoint for management url %s\"), e)"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    def process_token(self, region_name\u003dNone):"},{"line_number":670,"context_line":"        \"\"\"Extract and process information from the new auth_ref."}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_0c25a75b","line":667,"updated":"2016-04-01 20:14:02.000000000","message":"remove _LW since this is a debug message.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                region_name\u003dregion_name)"},{"line_number":665,"context_line":"        except exceptions.EndpointNotFound as e:"},{"line_number":666,"context_line":"            _logger.debug("},{"line_number":667,"context_line":"                _LW(\"Failed to find endpoint for management url %s\"), e)"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    def process_token(self, region_name\u003dNone):"},{"line_number":670,"context_line":"        \"\"\"Extract and process information from the new auth_ref."}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_d501ea39","line":667,"in_reply_to":"ba0121b8_0c25a75b","updated":"2016-04-19 15:44:45.000000000","message":"Done","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}],"keystoneclient/session.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b2ff5621b9bba9d5c4909378e094fda29cc91953","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            return jsonutils.dumps(data)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    except Exception:  # nosec(cjschaef)"},{"line_number":76,"context_line":"        # Multiple exceptions during json loads/dumps."},{"line_number":77,"context_line":"        # Don\u0027t fail trying to clean up the request body."},{"line_number":78,"context_line":"        pass"},{"line_number":79,"context_line":"    return body"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_8cc7f763","line":76,"updated":"2016-04-01 20:14:02.000000000","message":"Reading this, I have no idea what this comment is telling me.","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"},{"author":{"_account_id":17277,"name":"Christopher J Schaefer","email":"cjschaef@us.ibm.com","username":"cjschaef"},"change_message_id":"cf2e8e9c3b0c8f646893a466df3f3776ae1e8795","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            return jsonutils.dumps(data)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    except Exception:  # nosec(cjschaef)"},{"line_number":76,"context_line":"        # Multiple exceptions during json loads/dumps."},{"line_number":77,"context_line":"        # Don\u0027t fail trying to clean up the request body."},{"line_number":78,"context_line":"        pass"},{"line_number":79,"context_line":"    return body"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_754c569e","line":76,"in_reply_to":"ba0121b8_8cc7f763","updated":"2016-04-19 15:44:45.000000000","message":"Updated, as first comment mentions that multiple exceptions can be raised in the try block. Second (previously existing comment), mentions by it is okay to catch an exception and do nothing (pass).","commit_id":"a05ddee7fe8c74c23908fe4ee6463ee386216ec9"}]}
