)]}'
{"shade/__init__.py":[{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"3c05aab09dd869803d2848617374e589e7b5cdda","unresolved":false,"context_lines":[{"line_number":594,"context_line":"    def get_openstack_vars(self, server):"},{"line_number":595,"context_line":"        return meta.get_hostvars_from_server(self, server)"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def add_ip_from_pool(self, server, pool\u003d\u0027\u0027):"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        # instantiate FloatingIPManager object"},{"line_number":600,"context_line":"        floating_ip_obj \u003d floating_ips.FloatingIPManager(self.nova_client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a930d6b_1d3fd226","line":597,"updated":"2015-01-21 23:21:41.000000000","message":"The changes in this function seem unrelated.  It would be good to have some commit message text about it.","commit_id":"5b43911099455bc851345ab6089749160ec0e01f"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"b3ef8fdb7ed254bf97fbdf19acfb0b32c21a6a3a","unresolved":false,"context_lines":[{"line_number":452,"context_line":"            if (name_or_id in image.name and ("},{"line_number":453,"context_line":"                    not exclude or exclude not in image.name)):"},{"line_number":454,"context_line":"                return image"},{"line_number":455,"context_line":"        return None"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def get_image_dict(self, name_or_id, exclude\u003dNone):"},{"line_number":458,"context_line":"        image \u003d self.get_image(name_or_id, exclude)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_2a18f483","line":455,"updated":"2015-01-27 23:38:10.000000000","message":"unrelated change","commit_id":"fec7058281b33ad9b155b0b46ee6556fed6faca6"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"e0d46648883bd42794964531f50f9a51a05a2ce0","unresolved":false,"context_lines":[{"line_number":452,"context_line":"            if (name_or_id in image.name and ("},{"line_number":453,"context_line":"                    not exclude or exclude not in image.name)):"},{"line_number":454,"context_line":"                return image"},{"line_number":455,"context_line":"        return None"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    def get_image_dict(self, name_or_id, exclude\u003dNone):"},{"line_number":458,"context_line":"        image \u003d self.get_image(name_or_id, exclude)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_2342733e","line":455,"in_reply_to":"fa81d914_2a18f483","updated":"2015-01-29 20:00:20.000000000","message":"Looking at this, it is making explicit the return value of get_image() since several places after this is called do something like \u0027if image \u003d get_image()\u0027, expecting it to be None in certain cases. Seems reasonable to leave in.","commit_id":"fec7058281b33ad9b155b0b46ee6556fed6faca6"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"b3ef8fdb7ed254bf97fbdf19acfb0b32c21a6a3a","unresolved":false,"context_lines":[{"line_number":644,"context_line":"                        \"Unable to create floating ip in pool %s\" % pool)"},{"line_number":645,"context_line":"                pool_ips.append(new_ip.ip)"},{"line_number":646,"context_line":"        # Add to the main list"},{"line_number":647,"context_line":"        usable_floating_ips[pool] \u003d pool_ips"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        # finally, add ip(s) to instance for each pool"},{"line_number":650,"context_line":"        for pool in usable_floating_ips:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_4a1d2873","line":647,"updated":"2015-01-27 23:38:10.000000000","message":"significant unrelated change -- this looks like either a major bug add or major bug fix","commit_id":"fec7058281b33ad9b155b0b46ee6556fed6faca6"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"e0d46648883bd42794964531f50f9a51a05a2ce0","unresolved":false,"context_lines":[{"line_number":644,"context_line":"                        \"Unable to create floating ip in pool %s\" % pool)"},{"line_number":645,"context_line":"                pool_ips.append(new_ip.ip)"},{"line_number":646,"context_line":"        # Add to the main list"},{"line_number":647,"context_line":"        usable_floating_ips[pool] \u003d pool_ips"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        # finally, add ip(s) to instance for each pool"},{"line_number":650,"context_line":"        for pool in usable_floating_ips:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa81d914_a39ca3c1","line":647,"in_reply_to":"fa81d914_4a1d2873","updated":"2015-01-29 20:00:20.000000000","message":"This is likely just a formatting error when Monty reverted the previous changes. I\u0027ve changed it back.","commit_id":"fec7058281b33ad9b155b0b46ee6556fed6faca6"}]}
