)]}'
{"heat/engine/resource.py":[{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"7a6df4cbadc66bb031404f225c68f4d36ca68554","unresolved":false,"context_lines":[{"line_number":620,"context_line":"        return self.properties.validate()"},{"line_number":621,"context_line":""},{"line_number":622,"context_line":"    @staticmethod"},{"line_number":623,"context_line":"    def validate_mex_properties(properties, prop_key_one, prop_key_two,"},{"line_number":624,"context_line":"                                required\u003dFalse):"},{"line_number":625,"context_line":"        \"\"\"Checks two mutually exclusive properties for consistency."},{"line_number":626,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_0576b106","line":623,"updated":"2014-05-20 20:24:06.000000000","message":"It\u0027d be useful to check that any number of args (not only 2) are mutually exclusive.","commit_id":"f248753a886fffaececb6c17e78d958ad0b205eb"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"7a6df4cbadc66bb031404f225c68f4d36ca68554","unresolved":false,"context_lines":[{"line_number":631,"context_line":"        prop_value_one \u003d properties.get(prop_key_one)"},{"line_number":632,"context_line":"        prop_value_two \u003d properties.get(prop_key_two)"},{"line_number":633,"context_line":""},{"line_number":634,"context_line":"        if prop_value_one and prop_value_two:"},{"line_number":635,"context_line":"            raise exception.ResourcePropertyConflict(prop_key_one,"},{"line_number":636,"context_line":"                                                     prop_key_two)"},{"line_number":637,"context_line":"        if required:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_e5fd453d","line":634,"updated":"2014-05-20 20:24:06.000000000","message":"If one of the properties were 0 or False, this logic would break.","commit_id":"f248753a886fffaececb6c17e78d958ad0b205eb"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"7a6df4cbadc66bb031404f225c68f4d36ca68554","unresolved":false,"context_lines":[{"line_number":635,"context_line":"            raise exception.ResourcePropertyConflict(prop_key_one,"},{"line_number":636,"context_line":"                                                     prop_key_two)"},{"line_number":637,"context_line":"        if required:"},{"line_number":638,"context_line":"            if not prop_value_one and not prop_value_two:"},{"line_number":639,"context_line":"                msg \u003d _(\u0027Either %(prop_key_one)s or %(prop_key_two)s\u0027"},{"line_number":640,"context_line":"                        \u0027 must be specified.\u0027) % {"},{"line_number":641,"context_line":"                            \u0027prop_key_one\u0027: prop_key_one,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_a5a33d4e","line":638,"updated":"2014-05-20 20:24:06.000000000","message":"Ditto above.","commit_id":"f248753a886fffaececb6c17e78d958ad0b205eb"}]}
