)]}'
{"keystoneclient/v3/role_assignments.py":[{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"d4a048b9ff78b520d9466df053c649887aac757a","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _check_system_value(self, system):"},{"line_number":60,"context_line":"        if system and system !\u003d \u0027all\u0027:"},{"line_number":61,"context_line":"            msg \u003d _(\u0027Unusable system provided.\u0027)"},{"line_number":62,"context_line":"            raise exceptions.ValidationError(msg)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def list(self, user\u003dNone, group\u003dNone, project\u003dNone, domain\u003dNone,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_754f03bd","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":46},"updated":"2018-01-23 20:04:37.000000000","message":"Please update this string as well, like the other one.","commit_id":"3f686caaeb6889ef922943ee9f61ebd8f15218d9"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"f02fabed3aa5c880462fe7345bcb647975e5a3cd","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _check_system_value(self, system):"},{"line_number":60,"context_line":"        if system and system !\u003d \u0027all\u0027:"},{"line_number":61,"context_line":"            msg \u003d _(\u0027Unusable system provided.\u0027)"},{"line_number":62,"context_line":"            raise exceptions.ValidationError(msg)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def list(self, user\u003dNone, group\u003dNone, project\u003dNone, domain\u003dNone,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_0e76a9a5","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":46},"in_reply_to":"7f96bb07_754f03bd","updated":"2018-01-23 23:38:44.000000000","message":"Done","commit_id":"3f686caaeb6889ef922943ee9f61ebd8f15218d9"}],"keystoneclient/v3/roles.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce5e1e70f5b977c314f1165dbf168df0781d4b58","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                # system scope). In the future that may change but until then"},{"line_number":77,"context_line":"                # we should fail like we would if a user provided a bogus"},{"line_number":78,"context_line":"                # project name or domain ID."},{"line_number":79,"context_line":"                msg \u003d _(\u0027Unusable system provided\u0027)"},{"line_number":80,"context_line":"                raise exceptions.ClientException(msg)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        if use_inherit_extension:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_30dc3745","line":79,"updated":"2018-01-23 13:02:48.000000000","message":"If I lacked context this would be a really confusing error message, it sort of sounds like the client is trying to tell me it got a 503 from the server/system. Maybe \"Only a system scope of \u0027all\u0027 is currently supported\"","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3b197a972d476d58416a19b28a324cb5e3ad8591","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                # system scope). In the future that may change but until then"},{"line_number":77,"context_line":"                # we should fail like we would if a user provided a bogus"},{"line_number":78,"context_line":"                # project name or domain ID."},{"line_number":79,"context_line":"                msg \u003d _(\u0027Unusable system provided\u0027)"},{"line_number":80,"context_line":"                raise exceptions.ClientException(msg)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        if use_inherit_extension:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_9d71a30f","line":79,"in_reply_to":"7f96bb07_30dc3745","updated":"2018-01-23 14:28:27.000000000","message":"Done","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce5e1e70f5b977c314f1165dbf168df0781d4b58","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                # we should fail like we would if a user provided a bogus"},{"line_number":78,"context_line":"                # project name or domain ID."},{"line_number":79,"context_line":"                msg \u003d _(\u0027Unusable system provided\u0027)"},{"line_number":80,"context_line":"                raise exceptions.ClientException(msg)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        if use_inherit_extension:"},{"line_number":83,"context_line":"            base_url \u003d \u0027/OS-INHERIT\u0027 + base_url"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_300e77e5","line":80,"updated":"2018-01-23 13:02:48.000000000","message":"I\u0027m not sure you want to use ClientException directly here, this seems to be the top of the hierarchy and I don\u0027t see anywhere else using it. Maybe ValidationError or CommandError.","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3b197a972d476d58416a19b28a324cb5e3ad8591","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                # we should fail like we would if a user provided a bogus"},{"line_number":78,"context_line":"                # project name or domain ID."},{"line_number":79,"context_line":"                msg \u003d _(\u0027Unusable system provided\u0027)"},{"line_number":80,"context_line":"                raise exceptions.ClientException(msg)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        if use_inherit_extension:"},{"line_number":83,"context_line":"            base_url \u003d \u0027/OS-INHERIT\u0027 + base_url"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_3d62cf3f","line":80,"in_reply_to":"7f96bb07_300e77e5","updated":"2018-01-23 14:28:27.000000000","message":"Done","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"881c836b53e7e5f983c50ff0a6dbb635a46fdb5b","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        return base_url % params"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _require_domain_xor_project(self, domain, project):"},{"line_number":95,"context_line":"        if domain and project:"},{"line_number":96,"context_line":"            msg \u003d _(\u0027Specify either a domain or project, not both\u0027)"},{"line_number":97,"context_line":"            raise exceptions.ValidationError(msg)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_03b690fb","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":35},"updated":"2018-01-23 14:57:58.000000000","message":"I ended up refactoring these into a single method instead of three individual ones since ordering and presence of parameters matters :-/","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce5e1e70f5b977c314f1165dbf168df0781d4b58","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                      resource. Domain or project must be specified."},{"line_number":285,"context_line":"                      User and group are mutually exclusive."},{"line_number":286,"context_line":"        :type group: str or :class:`keystoneclient.v3.groups.Group`"},{"line_number":287,"context_line":"        :param system: system information to grant the role on."},{"line_number":288,"context_line":"        :type system: str"},{"line_number":289,"context_line":"        :param domain: check for role grants on the specified domain. Either"},{"line_number":290,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_10ca5b6d","line":287,"updated":"2018-01-23 13:02:48.000000000","message":"This isn\u0027t granting, this is checking.\n\n\"check for role grants on the specified system\"","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3b197a972d476d58416a19b28a324cb5e3ad8591","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                      resource. Domain or project must be specified."},{"line_number":285,"context_line":"                      User and group are mutually exclusive."},{"line_number":286,"context_line":"        :type group: str or :class:`keystoneclient.v3.groups.Group`"},{"line_number":287,"context_line":"        :param system: system information to grant the role on."},{"line_number":288,"context_line":"        :type system: str"},{"line_number":289,"context_line":"        :param domain: check for role grants on the specified domain. Either"},{"line_number":290,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_1ded938a","line":287,"in_reply_to":"7f96bb07_10ca5b6d","updated":"2018-01-23 14:28:27.000000000","message":"Done","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce5e1e70f5b977c314f1165dbf168df0781d4b58","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        :param system: system information to grant the role on."},{"line_number":288,"context_line":"        :type system: str"},{"line_number":289,"context_line":"        :param domain: check for role grants on the specified domain. Either"},{"line_number":290,"context_line":"                       user or group must be specified. Project and domain"},{"line_number":291,"context_line":"                       are mutually exclusive."},{"line_number":292,"context_line":"        :type domain: str or :class:`keystoneclient.v3.domains.Domain`"},{"line_number":293,"context_line":"        :param project: check for role grants on the specified project. Either"},{"line_number":294,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_70a07fa6","line":291,"range":{"start_line":290,"start_character":56,"end_line":291,"end_character":46},"updated":"2018-01-23 13:02:48.000000000","message":"Might want to update this, here and elsewhere","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3b197a972d476d58416a19b28a324cb5e3ad8591","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        :param system: system information to grant the role on."},{"line_number":288,"context_line":"        :type system: str"},{"line_number":289,"context_line":"        :param domain: check for role grants on the specified domain. Either"},{"line_number":290,"context_line":"                       user or group must be specified. Project and domain"},{"line_number":291,"context_line":"                       are mutually exclusive."},{"line_number":292,"context_line":"        :type domain: str or :class:`keystoneclient.v3.domains.Domain`"},{"line_number":293,"context_line":"        :param project: check for role grants on the specified project. Either"},{"line_number":294,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_3d316f0c","line":291,"range":{"start_line":290,"start_character":56,"end_line":291,"end_character":46},"in_reply_to":"7f96bb07_70a07fa6","updated":"2018-01-23 14:28:27.000000000","message":"Done","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce5e1e70f5b977c314f1165dbf168df0781d4b58","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                      resource. Domain or project must be specified."},{"line_number":339,"context_line":"                      User and group are mutually exclusive."},{"line_number":340,"context_line":"        :type group: str or :class:`keystoneclient.v3.groups.Group`"},{"line_number":341,"context_line":"        :param system: system information to grant the role on."},{"line_number":342,"context_line":"        :type system: str"},{"line_number":343,"context_line":"        :param domain: revoke role grants on the specified domain. Either"},{"line_number":344,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_30aaf784","line":341,"updated":"2018-01-23 13:02:48.000000000","message":"We\u0027re in revoke, not grant","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3b197a972d476d58416a19b28a324cb5e3ad8591","unresolved":false,"context_lines":[{"line_number":338,"context_line":"                      resource. Domain or project must be specified."},{"line_number":339,"context_line":"                      User and group are mutually exclusive."},{"line_number":340,"context_line":"        :type group: str or :class:`keystoneclient.v3.groups.Group`"},{"line_number":341,"context_line":"        :param system: system information to grant the role on."},{"line_number":342,"context_line":"        :type system: str"},{"line_number":343,"context_line":"        :param domain: revoke role grants on the specified domain. Either"},{"line_number":344,"context_line":"                       user or group must be specified. Project and domain"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_c04ade25","line":341,"in_reply_to":"7f96bb07_30aaf784","updated":"2018-01-23 14:28:27.000000000","message":"Done","commit_id":"5ad8d2f0e0809bdf7a0da3d1f56c18b7e7937e23"}]}
