)]}'
{"designate/common/policies/base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"6c9380d896e9f8a01df56d6c427f94d6427cb65b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner) \"\\"},{"line_number":23,"context_line":"    \"OR (\u0027SECONDARY\u0027:%(zone_type)s AND is_admin:True)\""},{"line_number":24,"context_line":"RULE_ZONE_TRANSFER \u003d \"rule:admin_or_owner OR tenant:%(target_tenant_id)s \" \\"},{"line_number":25,"context_line":"                     \"OR None:%(target_tenant_id)s\""},{"line_number":26,"context_line":"RULE_ANY \u003d \"@\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_60ffa401","line":25,"updated":"2017-10-19 16:23:11.000000000","message":"Yeah - i always go for \u0027\\\u0027 for some reason - I will catch it in the next revision","commit_id":"2319a6b3f4b2f31d364eec3dcaefb1e6ff0c5314"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"256ea3c99bea122b4d5485af0850778c3848525c","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":20,"context_line":"RULE_ADMIN \u003d \u0027rule:admin\u0027"},{"line_number":21,"context_line":"RULE_ZONE_PRIMARY_OR_ADMIN \u003d \\"},{"line_number":22,"context_line":"    \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner) \"\\"},{"line_number":23,"context_line":"    \"OR (\u0027SECONDARY\u0027:%(zone_type)s AND is_admin:True)\""},{"line_number":24,"context_line":"RULE_ZONE_TRANSFER \u003d \"rule:admin_or_owner OR tenant:%(target_tenant_id)s \" \\"},{"line_number":25,"context_line":"                     \"OR None:%(target_tenant_id)s\""},{"line_number":26,"context_line":"RULE_ANY \u003d \"@\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_9dab291c","line":25,"range":{"start_line":21,"start_character":0,"end_line":25,"end_character":51},"updated":"2017-10-19 16:21:58.000000000","message":"You can also wrap these in parens to avoid tabs and extra white space, while maintaining readbility:\n\n  RULE_ZONE_PRIMARY_OR_ADMIN \u003d (\n      \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner)\"\n      \"OR (\u0027SECONDARY\u0027:%(zone_type)s AND is_admin:True)\"\n  )\n  RULE_ZONE_TRANSFER \u003d (\n      \"rule:admin_or_owner OR tenant:%(target_tenant_id)s \"\n      \"OR None:%(target_tenant_id)s\"\n  )","commit_id":"2319a6b3f4b2f31d364eec3dcaefb1e6ff0c5314"}]}
