)]}'
{"tempest/services/compute/json/versions_client.py":[{"author":{"_account_id":13454,"name":"Alexander Gubanov","email":"ogubanov@mirantis.com","username":"hop"},"change_message_id":"7e3d16e6898906e719bf8d0d535c42ad4acaa9b9","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":34,"context_line":"        url_parts \u003d url.path.split(\u0027/\u0027)"},{"line_number":35,"context_line":"        list_ver_url_parts \u003d []"},{"line_number":36,"context_line":"        expression \u003d re.compile(r\u0027^v([0-9]+|[0-9]+\\.[0-9]+)(/.*|$)\u0027)"},{"line_number":37,"context_line":"        for url_part in url_parts:"},{"line_number":38,"context_line":"            if expression.match(url_part):"},{"line_number":39,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_06caaa6d","line":36,"updated":"2015-10-20 12:09:22.000000000","message":"may be it\u0027s not so important, but:\n\nif you use \"re.match\" the \"^\" is not needed\nfor [0-9] short form is \\d\n() makes \"save state\", so use \"(?:)\"\n$ is not needed in this case\n\nfinally have: \nre.compile(\u0027v\\d+(?:\\.\\d+)?(?:/.*)?\u0027)","commit_id":"c0c1c67350f0d134460cca5bba9d13ea6ff41839"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"031c94bba7ba9ab5666596a8c28937cb25c00cdf","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":34,"context_line":"        url_parts \u003d url.path.split(\u0027/\u0027)"},{"line_number":35,"context_line":"        list_ver_url_parts \u003d []"},{"line_number":36,"context_line":"        expression \u003d re.compile(r\u0027^v([0-9]+|[0-9]+\\.[0-9]+)(/.*|$)\u0027)"},{"line_number":37,"context_line":"        for url_part in url_parts:"},{"line_number":38,"context_line":"            if expression.match(url_part):"},{"line_number":39,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a29b11f_30248d5e","line":36,"in_reply_to":"3a29b11f_06caaa6d","updated":"2015-10-21 08:07:00.000000000","message":"Done","commit_id":"c0c1c67350f0d134460cca5bba9d13ea6ff41839"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"33aecbe425734fc9b60bbf4b0a1dc27537143812","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # should use raw_request() instead of get()."},{"line_number":32,"context_line":"        endpoint \u003d self.base_url"},{"line_number":33,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":34,"context_line":"        url_parts \u003d url.path.split(\u0027/\u0027)"},{"line_number":35,"context_line":"        list_ver_url_parts \u003d []"},{"line_number":36,"context_line":"        expression \u003d re.compile(r\u0027v\\d+(?:\\.\\d+)?\u0027)"},{"line_number":37,"context_line":"        for url_part in url_parts:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa80f949_6db5b92f","line":34,"updated":"2015-11-04 16:07:26.000000000","message":"use re.split(r\u0027v\\d+(?:\\.\\d+)?\u0027, url.path) and concatenate the first item in the list with url.schema and url.netloc","commit_id":"742e989a3f927a113a517a27fce23eaa64afc9ed"},{"author":{"_account_id":14358,"name":"Marian Horban","email":"m.horban@gmail.com","username":"mhorban"},"change_message_id":"4156c2143e87e280c999a211a7b41ccd70dcca1a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # should use raw_request() instead of get()."},{"line_number":32,"context_line":"        endpoint \u003d self.base_url"},{"line_number":33,"context_line":"        url \u003d urllib.parse.urlsplit(endpoint)"},{"line_number":34,"context_line":"        url_parts \u003d url.path.split(\u0027/\u0027)"},{"line_number":35,"context_line":"        list_ver_url_parts \u003d []"},{"line_number":36,"context_line":"        expression \u003d re.compile(r\u0027v\\d+(?:\\.\\d+)?\u0027)"},{"line_number":37,"context_line":"        for url_part in url_parts:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_a57c4a21","line":34,"in_reply_to":"fa80f949_6db5b92f","updated":"2015-11-16 14:41:17.000000000","message":"Done","commit_id":"742e989a3f927a113a517a27fce23eaa64afc9ed"}]}
