)]}'
{"keystone/conf/security_compliance.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f0a56e08ba8615d6f6004503dccc791d44063f92","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"password_regex \u003d cfg.StrOpt("},{"line_number":96,"context_line":"    \u0027password_regex\u0027,"},{"line_number":97,"context_line":"    help\u003dutils.fmt(r\"\"\""},{"line_number":98,"context_line":"The regular expression used to validate password strength requirements. By"},{"line_number":99,"context_line":"default, the regular expression will match any password. The following is an"},{"line_number":100,"context_line":"example of a pattern which requires at least 1 letter, 1 digit, and have a"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_b5f884c4","line":97,"range":{"start_line":97,"start_character":19,"end_line":97,"end_character":20},"updated":"2020-04-14 18:18:57.000000000","message":"this is documentation, not a regex","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bc79b180aac209f4a6e4d69c97bafbb2c9e8cd80","unresolved":false,"context_lines":[{"line_number":98,"context_line":"The regular expression used to validate password strength requirements. By"},{"line_number":99,"context_line":"default, the regular expression will match any password. The following is an"},{"line_number":100,"context_line":"example of a pattern which requires at least 1 letter, 1 digit, and have a"},{"line_number":101,"context_line":"minimum length of 7 characters: ^(?\u003d.*\\d)(?\u003d.*[a-zA-Z]).{7,}$ This feature"},{"line_number":102,"context_line":"depends on the `sql` backend for the `[identity] driver`."},{"line_number":103,"context_line":"\"\"\"))"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_d59b906f","line":101,"range":{"start_line":101,"start_character":31,"end_line":101,"end_character":61},"updated":"2020-04-14 18:23:12.000000000","message":"this is regex, flake8 complains about \\d","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"d31f55fb8882cbb235d70205cbe8d2fdf84fc8d0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"The regular expression used to validate password strength requirements. By"},{"line_number":99,"context_line":"default, the regular expression will match any password. The following is an"},{"line_number":100,"context_line":"example of a pattern which requires at least 1 letter, 1 digit, and have a"},{"line_number":101,"context_line":"minimum length of 7 characters: ^(?\u003d.*\\\\d)(?\u003d.*[a-zA-Z]).{7,}$ This feature"},{"line_number":102,"context_line":"depends on the `sql` backend for the `[identity] driver`."},{"line_number":103,"context_line":"\"\"\"))"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4c43b2_351ab47c","line":101,"updated":"2020-04-14 18:49:41.000000000","message":"would actually be even better to have three \\ here so that the output correctly includes a single \\ to demonstrate the \\d shorthand. the current documentation just has \u0027d\u0027 which isn\u0027t a valid regex class.","commit_id":"6ecacbaad08704b3487c127ba6da5555634baadd"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"d98125247099ea59915a064e164450962d5e45a0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"The regular expression used to validate password strength requirements. By"},{"line_number":99,"context_line":"default, the regular expression will match any password. The following is an"},{"line_number":100,"context_line":"example of a pattern which requires at least 1 letter, 1 digit, and have a"},{"line_number":101,"context_line":"minimum length of 7 characters: ^(?\u003d.*\\\\d)(?\u003d.*[a-zA-Z]).{7,}$ This feature"},{"line_number":102,"context_line":"depends on the `sql` backend for the `[identity] driver`."},{"line_number":103,"context_line":"\"\"\"))"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4c43b2_1b040915","line":101,"in_reply_to":"3f4c43b2_351ab47c","updated":"2020-04-14 19:35:48.000000000","message":"Three \\ makes flake8 complain, so I added noqa. Now it passes and displays correctly for me.","commit_id":"6ecacbaad08704b3487c127ba6da5555634baadd"}],"keystone/tests/hacking/checks.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f0a56e08ba8615d6f6004503dccc791d44063f92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f4c43b2_552dc041","side":"PARENT","line":328,"updated":"2020-04-14 18:18:57.000000000","message":"how are these registered now?","commit_id":"bf9f5dec55e17e7aa71ac21b6c10108ebe0c538c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bc79b180aac209f4a6e4d69c97bafbb2c9e8cd80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f4c43b2_75843c0d","side":"PARENT","line":328,"in_reply_to":"3f4c43b2_552dc041","updated":"2020-04-14 18:23:12.000000000","message":"in tox.ini","commit_id":"bf9f5dec55e17e7aa71ac21b6c10108ebe0c538c"}],"keystone/tests/unit/test_v3_catalog.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f0a56e08ba8615d6f6004503dccc791d44063f92","unresolved":false,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"    def test_deleting_endpoint_with_space_in_url(self):"},{"line_number":685,"context_line":"        # add a space to all urls (intentional \"i d\" to test bug)"},{"line_number":686,"context_line":"        url_with_space \u003d r\"http://127.0.0.1:8774 /v1.1/\\$(tenant_i d)s\""},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        # create a v3 endpoint ref"},{"line_number":689,"context_line":"        ref \u003d unit.new_endpoint_ref(service_id\u003dself.service[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_d518b01e","line":686,"updated":"2020-04-14 18:18:57.000000000","message":"this isn\u0027t a regex","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bc79b180aac209f4a6e4d69c97bafbb2c9e8cd80","unresolved":false,"context_lines":[{"line_number":683,"context_line":""},{"line_number":684,"context_line":"    def test_deleting_endpoint_with_space_in_url(self):"},{"line_number":685,"context_line":"        # add a space to all urls (intentional \"i d\" to test bug)"},{"line_number":686,"context_line":"        url_with_space \u003d r\"http://127.0.0.1:8774 /v1.1/\\$(tenant_i d)s\""},{"line_number":687,"context_line":""},{"line_number":688,"context_line":"        # create a v3 endpoint ref"},{"line_number":689,"context_line":"        ref \u003d unit.new_endpoint_ref(service_id\u003dself.service[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_1594d836","line":686,"in_reply_to":"3f4c43b2_d518b01e","updated":"2020-04-14 18:23:12.000000000","message":"flake8 complained - should I change to \"\\\\$\"?","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"f0a56e08ba8615d6f6004503dccc791d44063f92","unresolved":false,"context_lines":[{"line_number":4310,"context_line":"            # different between py3.6 and lower python version."},{"line_number":4311,"context_line":"            expected_log \u003d ("},{"line_number":4312,"context_line":"                r\"Error when signing assertion, reason: Command \u0027%s\u0027 returned \""},{"line_number":4313,"context_line":"                r\"non-zero exit status %s\\.? %s\\n\" %"},{"line_number":4314,"context_line":"                (CONF.saml.xmlsec1_binary, sample_returncode, sample_output))"},{"line_number":4315,"context_line":"            self.assertRegex(logger_fixture.output,"},{"line_number":4316,"context_line":"                             re.compile(r\u0027%s\u0027 % expected_log))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_75dd5c41","line":4313,"updated":"2020-04-14 18:18:57.000000000","message":"this is an error message not a regex","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"bc79b180aac209f4a6e4d69c97bafbb2c9e8cd80","unresolved":false,"context_lines":[{"line_number":4310,"context_line":"            # different between py3.6 and lower python version."},{"line_number":4311,"context_line":"            expected_log \u003d ("},{"line_number":4312,"context_line":"                r\"Error when signing assertion, reason: Command \u0027%s\u0027 returned \""},{"line_number":4313,"context_line":"                r\"non-zero exit status %s\\.? %s\\n\" %"},{"line_number":4314,"context_line":"                (CONF.saml.xmlsec1_binary, sample_returncode, sample_output))"},{"line_number":4315,"context_line":"            self.assertRegex(logger_fixture.output,"},{"line_number":4316,"context_line":"                             re.compile(r\u0027%s\u0027 % expected_log))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_f5accc8d","line":4313,"in_reply_to":"3f4c43b2_75dd5c41","updated":"2020-04-14 18:23:12.000000000","message":"Let me reword it, \\. is wrong here","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"40e84fae1e18fed3e292b8bb6ace911b76a90fa3","unresolved":false,"context_lines":[{"line_number":4313,"context_line":"                r\"non-zero exit status %s\\.? %s\\n\" %"},{"line_number":4314,"context_line":"                (CONF.saml.xmlsec1_binary, sample_returncode, sample_output))"},{"line_number":4315,"context_line":"            self.assertRegex(logger_fixture.output,"},{"line_number":4316,"context_line":"                             re.compile(r\u0027%s\u0027 % expected_log))"},{"line_number":4317,"context_line":""},{"line_number":4318,"context_line":"    @mock.patch(\u0027oslo_utils.fileutils.write_to_tempfile\u0027)"},{"line_number":4319,"context_line":"    @mock.patch.object(subprocess, \u0027check_output\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_d5d710ed","line":4316,"range":{"start_line":4316,"start_character":29,"end_line":4316,"end_character":62},"updated":"2020-04-14 18:27:39.000000000","message":"it\u0027s a regex","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"b039878db586b8ddbcd4b7d8a08b0112408e4967","unresolved":false,"context_lines":[{"line_number":4313,"context_line":"                r\"non-zero exit status %s\\.? %s\\n\" %"},{"line_number":4314,"context_line":"                (CONF.saml.xmlsec1_binary, sample_returncode, sample_output))"},{"line_number":4315,"context_line":"            self.assertRegex(logger_fixture.output,"},{"line_number":4316,"context_line":"                             re.compile(r\u0027%s\u0027 % expected_log))"},{"line_number":4317,"context_line":""},{"line_number":4318,"context_line":"    @mock.patch(\u0027oslo_utils.fileutils.write_to_tempfile\u0027)"},{"line_number":4319,"context_line":"    @mock.patch.object(subprocess, \u0027check_output\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4c43b2_b5da44e6","line":4316,"range":{"start_line":4316,"start_character":29,"end_line":4316,"end_character":62},"in_reply_to":"3f4c43b2_d5d710ed","updated":"2020-04-14 18:38:37.000000000","message":"oops you\u0027re right","commit_id":"4416b1f810d074747f69f21b5e47405313c9f87c"}],"test-requirements.txt":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"85bad42722204fa950e98098deb975dc7c0e106f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# of appearance. Changing the order has an impact on the overall integration"},{"line_number":3,"context_line":"# process, which may cause wedges in the gate later."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"hacking\u003e\u003d3.0,\u003c4.0.0 # Apache-2.0"},{"line_number":6,"context_line":"pep257\u003d\u003d0.7.0 # MIT License"},{"line_number":7,"context_line":"flake8-docstrings\u003d\u003d0.2.1.post1 # MIT"},{"line_number":8,"context_line":"bashate\u003e\u003d0.5.1 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":2,"id":"df33271e_6d5ec976","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":19},"updated":"2020-03-31 02:56:32.000000000","message":"let\u0027s do 3.1.0 here in case we minor version break something as it is hard to analyse the backward compatible changes on hacking from all users.","commit_id":"874a582a54502c8a63fa4269c36ff7c04d9b1469"}]}
