)]}'
{"openstack_releases/cmds/reformat_yaml.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"4ceb2c30b014cad835565193bce1dc461d7387b8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        with open(filename, \u0027wb\u0027) as fh:"},{"line_number":30,"context_line":"            fh.write(contents)"},{"line_number":31,"context_line":"            if not contents.endswith(\"\\n\"):"},{"line_number":32,"context_line":"                contents.write(\"\\n\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_1a6222d8","line":32,"updated":"2016-04-20 19:17:37.000000000","message":"that should be fh.write() shouldn\u0027t it?","commit_id":"d9224cf736bd8e37f61dc766ca8d42a1afa8a58e"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"c56064d1f1190b1a7e634e2e4ca5514344c124f7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        with open(filename, \u0027wb\u0027) as fh:"},{"line_number":30,"context_line":"            fh.write(contents)"},{"line_number":31,"context_line":"            if not contents.endswith(\"\\n\"):"},{"line_number":32,"context_line":"                contents.write(\"\\n\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_baf7aed1","line":32,"in_reply_to":"1a122d0e_1a6222d8","updated":"2016-04-20 19:21:53.000000000","message":"Oopsies, thanks.","commit_id":"d9224cf736bd8e37f61dc766ca8d42a1afa8a58e"}],"openstack_releases/yamlutils.py":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"776be75a74d922053c4f629436c60121ccbcca2c","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def represent_undefined(self, data):"},{"line_number":61,"context_line":"        if isinstance(data, collections.OrderedDict):"},{"line_number":62,"context_line":"            return self.represent_odict(data)"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            return super(PrettySafeDumper, self).represent_undefined(data)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"bab6814e_2f1905d8","line":62,"updated":"2016-05-20 01:43:41.000000000","message":"Please forgive me not looking at the SafeDumper code but is \u0027represent_odict\u0027 correct?  I expected to see \u0027represent_ordereddict\u0027 here","commit_id":"9c1ac3dace6497cc8b53f90eda21b0ee42c93c9f"}]}
