)]}'
{"tempest_lib/auth.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"00b2d5322527b05edcf4a8a50873b9168cf6c576","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        parts \u003d urlparse.urlsplit(_base_url)"},{"line_number":325,"context_line":"        if filters.get(\u0027api_version\u0027, None) is not None:"},{"line_number":326,"context_line":"            path \u003d re.sub(r\u0027v\\d+(?:\\.\\d+)?\u0027,"},{"line_number":327,"context_line":"                          filters[\u0027api_version\u0027],"},{"line_number":328,"context_line":"                          parts.path,"},{"line_number":329,"context_line":"                          count\u003d1)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_d430d609","line":326,"updated":"2016-01-08 10:23:54.000000000","message":"Ditto","commit_id":"c3cfedfc5e8a9a7545979ed3f6ebcf4fcaff01e6"}],"tempest_lib/services/compute/versions_client.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"00b2d5322527b05edcf4a8a50873b9168cf6c576","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        # should use raw_request() instead of get()."},{"line_number":31,"context_line":"        endpoint \u003d self.base_url"},{"line_number":32,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":33,"context_line":"        new_path \u003d re.split(r\u0027v\\d+(?:\\.\\d+)?\u0027, url.path)[0]"},{"line_number":34,"context_line":"        url \u003d list(url)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        url[2] \u003d new_path"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_3453723b","line":33,"range":{"start_line":33,"start_character":28,"end_line":33,"end_character":45},"updated":"2016-01-08 10:23:54.000000000","message":"I think a tighter regexp would be better, something like:\n\n(?:^|\\/)v\\d+(?:\\.\\d+)?(?:$|\\/)\n\n...the escape for the forward slash is probably redundant..","commit_id":"c3cfedfc5e8a9a7545979ed3f6ebcf4fcaff01e6"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"232471caffe113bac787c9c8b6b14402f3db72f4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        # should use raw_request() instead of get()."},{"line_number":31,"context_line":"        endpoint \u003d self.base_url"},{"line_number":32,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":33,"context_line":"        new_path \u003d re.split(r\u0027v\\d+(?:\\.\\d+)?\u0027, url.path)[0]"},{"line_number":34,"context_line":"        url \u003d list(url)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        url[2] \u003d new_path"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa69d971_480e423c","line":33,"range":{"start_line":33,"start_character":28,"end_line":33,"end_character":45},"in_reply_to":"fa69d971_3453723b","updated":"2016-01-11 09:19:26.000000000","message":"Hi Andrea,\nI\u0027ve tested your regex, it is good, but it removes slashes from result parts:\n\n\u003e\u003e\u003e url1 \u003d \"/compute/v2/123\"\n\u003e\u003e\u003e url2 \u003d \"/v2/123\"\n\u003e\u003e\u003e re.split(r\u0027(?:^|\\/)v\\d+(?:\\.\\d+)?(?:$|\\/)\u0027, url1)\n[\u0027/compute\u0027, \u0027123\u0027]\n\u003e\u003e\u003e re.split(r\u0027(?:^|\\/)v\\d+(?:\\.\\d+)?(?:$|\\/)\u0027, url2)\n[\u0027\u0027, \u0027123\u0027]\n\n\nBut we need these slashes.\nCurrent regex leave slashes in result parts:\n\u003e\u003e\u003e re.split(r\u0027v\\d+(?:\\.\\d+)?\u0027, url1)\n[\u0027/compute/\u0027, \u0027/123\u0027]\n\u003e\u003e\u003e re.split(r\u0027v\\d+(?:\\.\\d+)?\u0027, url2)\n[\u0027/\u0027, \u0027/123\u0027]","commit_id":"c3cfedfc5e8a9a7545979ed3f6ebcf4fcaff01e6"}]}
