)]}'
{"skyline_apiserver/api/v1/login.py":[{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"ddcbec4c2d05f54eb15e50a11a79b013f68db25d","unresolved":true,"context_lines":[{"line_number":122,"context_line":"    ),"},{"line_number":123,"context_line":"):"},{"line_number":124,"context_line":"    try:"},{"line_number":125,"context_line":"        auth_url \u003d await utils.get_endpoint("},{"line_number":126,"context_line":"            region\u003dcredential.region,"},{"line_number":127,"context_line":"            service\u003d\"keystone\","},{"line_number":128,"context_line":"            session\u003dget_system_session(),"},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        unscope_auth \u003d Password("},{"line_number":131,"context_line":"            auth_url\u003dauth_url,"},{"line_number":132,"context_line":"            user_domain_name\u003dcredential.domain,"},{"line_number":133,"context_line":"            username\u003dcredential.username,"},{"line_number":134,"context_line":"            password\u003dcredential.password,"},{"line_number":135,"context_line":"            reauthenticate\u003dFalse,"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        session \u003d Session(auth\u003dunscope_auth, verify\u003dFalse, timeout\u003dconstants.DEFAULT_TIMEOUT)"},{"line_number":138,"context_line":"        unscope_client \u003d KeystoneClient("},{"line_number":139,"context_line":"            session\u003dsession,"},{"line_number":140,"context_line":"            endpoint\u003dauth_url,"},{"line_number":141,"context_line":"            interface\u003dCONF.openstack.interface_type,"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        project_scope \u003d unscope_client.auth.projects()"},{"line_number":144,"context_line":"        # we must get the project_scope with enabled project"},{"line_number":145,"context_line":"        project_scope \u003d [scope for scope in project_scope if scope.enabled]"},{"line_number":146,"context_line":"        if not project_scope:"},{"line_number":147,"context_line":"            raise Exception(\"You are not authorized for any projects or domains.\")"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        project_scope_token \u003d await get_project_scope_token("},{"line_number":150,"context_line":"            keystone_token\u003dsession.get_token(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"02d39b9c_02e06222","line":147,"range":{"start_line":125,"start_character":0,"end_line":147,"end_character":82},"updated":"2022-08-23 09:51:51.000000000","message":"what about this?","commit_id":"1ba379fa9183d00a18571b5e600ecdf52db6d8a8"},{"author":{"_account_id":33196,"name":"conna","email":"yang.shaoxue@99cloud.net","username":"yangshaoxue"},"change_message_id":"67b6d58359e1b92bef062659508d015af340bda4","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    ),"},{"line_number":123,"context_line":"):"},{"line_number":124,"context_line":"    try:"},{"line_number":125,"context_line":"        auth_url \u003d await utils.get_endpoint("},{"line_number":126,"context_line":"            region\u003dcredential.region,"},{"line_number":127,"context_line":"            service\u003d\"keystone\","},{"line_number":128,"context_line":"            session\u003dget_system_session(),"},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        unscope_auth \u003d Password("},{"line_number":131,"context_line":"            auth_url\u003dauth_url,"},{"line_number":132,"context_line":"            user_domain_name\u003dcredential.domain,"},{"line_number":133,"context_line":"            username\u003dcredential.username,"},{"line_number":134,"context_line":"            password\u003dcredential.password,"},{"line_number":135,"context_line":"            reauthenticate\u003dFalse,"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        session \u003d Session(auth\u003dunscope_auth, verify\u003dFalse, timeout\u003dconstants.DEFAULT_TIMEOUT)"},{"line_number":138,"context_line":"        unscope_client \u003d KeystoneClient("},{"line_number":139,"context_line":"            session\u003dsession,"},{"line_number":140,"context_line":"            endpoint\u003dauth_url,"},{"line_number":141,"context_line":"            interface\u003dCONF.openstack.interface_type,"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        project_scope \u003d unscope_client.auth.projects()"},{"line_number":144,"context_line":"        # we must get the project_scope with enabled project"},{"line_number":145,"context_line":"        project_scope \u003d [scope for scope in project_scope if scope.enabled]"},{"line_number":146,"context_line":"        if not project_scope:"},{"line_number":147,"context_line":"            raise Exception(\"You are not authorized for any projects or domains.\")"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        project_scope_token \u003d await get_project_scope_token("},{"line_number":150,"context_line":"            keystone_token\u003dsession.get_token(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"b02c9443_40a22539","line":147,"range":{"start_line":125,"start_character":0,"end_line":147,"end_character":82},"in_reply_to":"02d39b9c_02e06222","updated":"2022-08-24 02:30:24.000000000","message":"Done","commit_id":"1ba379fa9183d00a18571b5e600ecdf52db6d8a8"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"697beed114e5ba76691f2554f7260527520484a8","unresolved":true,"context_lines":[{"line_number":46,"context_line":"router \u003d APIRouter()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"async def _get_projects("},{"line_number":50,"context_line":"    region: str,"},{"line_number":51,"context_line":"    domain: Optional[str] \u003d None,"},{"line_number":52,"context_line":"    username: Optional[str] \u003d None,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bbcbf8bd_bfe69c5c","line":49,"range":{"start_line":49,"start_character":10,"end_line":49,"end_character":23},"updated":"2022-08-24 02:45:35.000000000","message":"rename the function. we both return projects and unscope token","commit_id":"33e17ebba8407741ef209806b9b36c41ab804f12"},{"author":{"_account_id":33196,"name":"conna","email":"yang.shaoxue@99cloud.net","username":"yangshaoxue"},"change_message_id":"a42191e094c9434fdc0855eaf45facd6c5e49397","unresolved":false,"context_lines":[{"line_number":46,"context_line":"router \u003d APIRouter()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"async def _get_projects("},{"line_number":50,"context_line":"    region: str,"},{"line_number":51,"context_line":"    domain: Optional[str] \u003d None,"},{"line_number":52,"context_line":"    username: Optional[str] \u003d None,"}],"source_content_type":"text/x-python","patch_set":6,"id":"a9f312e3_a39505ca","line":49,"range":{"start_line":49,"start_character":10,"end_line":49,"end_character":23},"in_reply_to":"bbcbf8bd_bfe69c5c","updated":"2022-08-24 02:57:42.000000000","message":"Done","commit_id":"33e17ebba8407741ef209806b9b36c41ab804f12"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"697beed114e5ba76691f2554f7260527520484a8","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        )"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if not projects:"},{"line_number":113,"context_line":"            projects, token \u003d await _get_projects("},{"line_number":114,"context_line":"                region\u003dprofile.region, token\u003dprofile.keystone_token"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"69938943_eb986695","line":113,"range":{"start_line":113,"start_character":22,"end_line":113,"end_character":28},"updated":"2022-08-24 02:45:35.000000000","message":"Not used, as \"_\"","commit_id":"33e17ebba8407741ef209806b9b36c41ab804f12"},{"author":{"_account_id":33196,"name":"conna","email":"yang.shaoxue@99cloud.net","username":"yangshaoxue"},"change_message_id":"a42191e094c9434fdc0855eaf45facd6c5e49397","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        )"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        if not projects:"},{"line_number":113,"context_line":"            projects, token \u003d await _get_projects("},{"line_number":114,"context_line":"                region\u003dprofile.region, token\u003dprofile.keystone_token"},{"line_number":115,"context_line":"            )"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"2782c20d_e0199e21","line":113,"range":{"start_line":113,"start_character":22,"end_line":113,"end_character":28},"in_reply_to":"69938943_eb986695","updated":"2022-08-24 02:57:42.000000000","message":"Done","commit_id":"33e17ebba8407741ef209806b9b36c41ab804f12"}]}
