)]}'
{"novaclient/base.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"34878aadd780b65356760a16e551e490812a9529","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    Like a `Manager`, but with additional `find()`/`findall()` methods."},{"line_number":170,"context_line":"    \"\"\""},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    @abc.abstractmethod"},{"line_number":175,"context_line":"    def list(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2B6s%3D","line":172,"updated":"2013-05-15 15:51:38.000000000","message":"Should we consider applying the same treatment to any of the other classes in this file?  Just a question…","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"34878aadd780b65356760a16e551e490812a9529","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    @abc.abstractmethod"},{"line_number":175,"context_line":"    def list(self):"},{"line_number":176,"context_line":"        pass"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def find(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2B6E%3D","line":175,"updated":"2013-05-15 15:51:38.000000000","message":"This is now multiply defined.","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"},{"author":{"_account_id":1267,"name":"Alexei Ababilov","display_name":"Alexei Ababilov","email":"ilovegnulinux@gmail.com","username":"aababilov"},"change_message_id":"06d800ce329d3cd9b4242948794a05709e71af12","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    @abc.abstractmethod"},{"line_number":175,"context_line":"    def list(self):"},{"line_number":176,"context_line":"        pass"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def find(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2BlM%3D","line":175,"in_reply_to":"AAAAO3%2F%2F%2B6E%3D","updated":"2013-05-15 18:47:15.000000000","message":"Done","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"34878aadd780b65356760a16e551e490812a9529","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    def list(self):"},{"line_number":176,"context_line":"        pass"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def find(self, **kwargs):"},{"line_number":179,"context_line":"        \"\"\""},{"line_number":180,"context_line":"        Find a single item with attributes matching ``**kwargs``."},{"line_number":181,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2B5w%3D","line":178,"updated":"2013-05-15 15:51:38.000000000","message":"After this change, find() and findall() are no longer present on a number of classes.  That also worries me a bit from a backwards compatibility standpoint, but a quick perusal of the functions reveals that they would not function anyway without a list() method.  I\u0027m mentioning this here for the benefit of other reviewers…","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"}],"novaclient/v1_1/hosts.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"34878aadd780b65356760a16e551e490812a9529","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        url \u003d \u0027/os-hosts/%s/action\u0027 % host"},{"line_number":63,"context_line":"        return self.api.client.post(url, body\u003dbody)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def list(self, zone\u003dNone):"},{"line_number":66,"context_line":"        url \u003d \u0027/os-hosts\u0027"},{"line_number":67,"context_line":"        if zone:"},{"line_number":68,"context_line":"            url \u003d \u0027/os-hosts?zone\u003d%s\u0027 % zone"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2B6Q%3D","line":65,"updated":"2013-05-15 15:51:38.000000000","message":"This affects compatibility by altering the API presented to callers.  I really want to see list_all maintained; you can do that by following this method definition with \"list_all \u003d list\".","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"},{"author":{"_account_id":1267,"name":"Alexei Ababilov","display_name":"Alexei Ababilov","email":"ilovegnulinux@gmail.com","username":"aababilov"},"change_message_id":"06d800ce329d3cd9b4242948794a05709e71af12","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        url \u003d \u0027/os-hosts/%s/action\u0027 % host"},{"line_number":63,"context_line":"        return self.api.client.post(url, body\u003dbody)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def list(self, zone\u003dNone):"},{"line_number":66,"context_line":"        url \u003d \u0027/os-hosts\u0027"},{"line_number":67,"context_line":"        if zone:"},{"line_number":68,"context_line":"            url \u003d \u0027/os-hosts?zone\u003d%s\u0027 % zone"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAO3%2F%2F%2Bi4%3D","line":65,"in_reply_to":"AAAAO3%2F%2F%2B6Q%3D","updated":"2013-05-15 18:47:15.000000000","message":"Done","commit_id":"d96f948ee76c86ec2da1ff764cc4db21c89ae9a6"}]}
