)]}'
{"heat/engine/resources/nova_keypair.py":[{"author":{"_account_id":7385,"name":"Thomas Herve","email":"therve@redhat.com","username":"therve"},"change_message_id":"fab6ba89ae0c62e5d85c0860c21978fedd031e1f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        return unicode(attr_fn[key])"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def FnGetRefId(self):"},{"line_number":124,"context_line":"        if self.id:"},{"line_number":125,"context_line":"            return self.properties[self.NAME]"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAUH%2F9Yn4%3D","line":124,"updated":"2014-02-07 09:41:43.000000000","message":"I think you want to check self.resource_id, not self.id.","commit_id":"674ac4ae4123a9cd91015923bd403c11e48a61d0"}],"heat/engine/resources/server.py":[{"author":{"_account_id":7256,"name":"Randall Burt","email":"randall.burt@rackspace.com","username":"randall-burt"},"change_message_id":"99b858328f05b351c705697ad2db7ba2608ded4c","unresolved":false,"context_lines":[{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        def is_nova_keypair(key_name):"},{"line_number":518,"context_line":"            for res in self.stack.resources.values():"},{"line_number":519,"context_line":"                if res.type.im_class \u003d\u003d nova_keypair.KeyPair and \\"},{"line_number":520,"context_line":"                   key_name \u003d\u003d res.properties.get(nova_keypair.KeyPair.NAME):"},{"line_number":521,"context_line":"                    return True"},{"line_number":522,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2BV%2BU%3D","line":519,"updated":"2014-01-27 20:57:38.000000000","message":"You might prefer res.has_interface here, since its unlikely, but possible that the actual resource implementation could be overridden.","commit_id":"6f1f720c1be2e7295c5adfbddc0a88260bd5c988"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"064c4720c3e186972fd4ffe292ddb9520ded4c2e","unresolved":false,"context_lines":[{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        def is_nova_keypair(key_name):"},{"line_number":518,"context_line":"            for res in self.stack.resources.values():"},{"line_number":519,"context_line":"                if res.type.im_class \u003d\u003d nova_keypair.KeyPair and \\"},{"line_number":520,"context_line":"                   key_name \u003d\u003d res.properties.get(nova_keypair.KeyPair.NAME):"},{"line_number":521,"context_line":"                    return True"},{"line_number":522,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2BV5E%3D","line":519,"in_reply_to":"AAAAUH%2F%2BV%2BU%3D","updated":"2014-01-27 22:00:06.000000000","message":"Done","commit_id":"6f1f720c1be2e7295c5adfbddc0a88260bd5c988"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"1d31d145ad56e54bee5efa674632f8009f168650","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def __init__(self, name, json_snippet, stack):"},{"line_number":267,"context_line":"        super(Server, self).__init__(name, json_snippet, stack)"},{"line_number":268,"context_line":"        self.stack \u003d stack"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def physical_resource_name(self):"},{"line_number":271,"context_line":"        name \u003d self.properties.get(self.NAME)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9%2FJ4%3D","line":268,"updated":"2014-01-31 11:07:42.000000000","message":"I think this is unnecessary because the superclass constructor sets self.stack","commit_id":"071d93c47c20e993b6e86caf14050ab77643bf75"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"c51b0c1c6827e9c9d7146a2c6c4333bf1f1bba49","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def __init__(self, name, json_snippet, stack):"},{"line_number":267,"context_line":"        super(Server, self).__init__(name, json_snippet, stack)"},{"line_number":268,"context_line":"        self.stack \u003d stack"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def physical_resource_name(self):"},{"line_number":271,"context_line":"        name \u003d self.properties.get(self.NAME)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9z%2F8%3D","line":268,"in_reply_to":"AAAAUH%2F9%2FJ4%3D","updated":"2014-02-03 18:12:18.000000000","message":"Done","commit_id":"071d93c47c20e993b6e86caf14050ab77643bf75"},{"author":{"_account_id":7230,"name":"Vijendar Komalla","email":"vijendar.komalla@rackspace.com","username":"vijendar"},"change_message_id":"69cef24d7ce8475861c4ed951b05eb60a306d322","unresolved":false,"context_lines":[{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def __init__(self, name, json_snippet, stack):"},{"line_number":267,"context_line":"        super(Server, self).__init__(name, json_snippet, stack)"},{"line_number":268,"context_line":"        self.stack \u003d stack"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def physical_resource_name(self):"},{"line_number":271,"context_line":"        name \u003d self.properties.get(self.NAME)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F90%2FU%3D","line":268,"in_reply_to":"AAAAUH%2F9%2FJ4%3D","updated":"2014-02-03 15:43:52.000000000","message":"I agree. It is redundant because Resource class constructor sets this.","commit_id":"071d93c47c20e993b6e86caf14050ab77643bf75"},{"author":{"_account_id":7230,"name":"Vijendar Komalla","email":"vijendar.komalla@rackspace.com","username":"vijendar"},"change_message_id":"69cef24d7ce8475861c4ed951b05eb60a306d322","unresolved":false,"context_lines":[{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        def is_nova_keypair(key_name):"},{"line_number":516,"context_line":"            for res in self.stack.resources.values():"},{"line_number":517,"context_line":"                if res.has_interface.im_class \u003d\u003d nova_keypair.KeyPair and \\"},{"line_number":518,"context_line":"                   key_name \u003d\u003d res.properties.get(nova_keypair.KeyPair.NAME):"},{"line_number":519,"context_line":"                    return True"},{"line_number":520,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9068%3D","line":517,"updated":"2014-02-03 15:43:52.000000000","message":"nit. I am not sure if we are following this guide line, but as per http://www.python.org/dev/peps/pep-0008, parentheses are preferred over backslash for line continuation.","commit_id":"071d93c47c20e993b6e86caf14050ab77643bf75"},{"author":{"_account_id":7253,"name":"Jason Dunsmore","email":"jasondunsmore@gmail.com","username":"jbd"},"change_message_id":"c51b0c1c6827e9c9d7146a2c6c4333bf1f1bba49","unresolved":false,"context_lines":[{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        def is_nova_keypair(key_name):"},{"line_number":516,"context_line":"            for res in self.stack.resources.values():"},{"line_number":517,"context_line":"                if res.has_interface.im_class \u003d\u003d nova_keypair.KeyPair and \\"},{"line_number":518,"context_line":"                   key_name \u003d\u003d res.properties.get(nova_keypair.KeyPair.NAME):"},{"line_number":519,"context_line":"                    return True"},{"line_number":520,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F9z5s%3D","line":517,"in_reply_to":"AAAAUH%2F9068%3D","updated":"2014-02-03 18:12:18.000000000","message":"I think the backslash is best in this case. With parenthesis, E125 is an issue:\nhttps://github.com/jcrocholl/pep8/issues/126","commit_id":"071d93c47c20e993b6e86caf14050ab77643bf75"}]}
