)]}'
{"cinder/tests/test_utils.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        fake_data \u003d \"lorem ipsum\""},{"line_number":320,"context_line":"        fake_file \u003d \"/this/is/a/fake\""},{"line_number":321,"context_line":"        local_mock_open \u003d _get_local_mock_open(fake_data)"},{"line_number":322,"context_line":"        with mock.patch(\u0027os.path.getmtime\u0027, return_value\u003d1):"},{"line_number":323,"context_line":"            with mock.patch(\u0027__builtin__.open\u0027, local_mock_open):"},{"line_number":324,"context_line":"                cache_data \u003d {\"data\": 1123, \"mtime\": 2}"},{"line_number":325,"context_line":"                data \u003d utils.read_cached_file(fake_file, cache_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzFg%3D","line":322,"updated":"2014-02-28 07:46:34.000000000","message":"I suggest you change with mock.patch() style to the @mock.patch() decorator on top of this method.\r\n\r\nAdvantage: at least, it can remove the nested with mock.patch() for bettern read.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        fake_data \u003d \"lorem ipsum\""},{"line_number":320,"context_line":"        fake_file \u003d \"/this/is/a/fake\""},{"line_number":321,"context_line":"        local_mock_open \u003d _get_local_mock_open(fake_data)"},{"line_number":322,"context_line":"        with mock.patch(\u0027os.path.getmtime\u0027, return_value\u003d1):"},{"line_number":323,"context_line":"            with mock.patch(\u0027__builtin__.open\u0027, local_mock_open):"},{"line_number":324,"context_line":"                cache_data \u003d {\"data\": 1123, \"mtime\": 2}"},{"line_number":325,"context_line":"                data \u003d utils.read_cached_file(fake_file, cache_data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fdgk%3D","line":322,"in_reply_to":"AAAAVX%2F%2FzFg%3D","updated":"2014-03-05 23:40:44.000000000","message":"I experimented with this, and agree that decorator style is a bit cleaner.  I\u0027ve updated and am loading a new patch.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        fake_file \u003d \"/this/is/a/fake\""},{"line_number":332,"context_line":"        local_mock_open \u003d _get_local_mock_open(fake_data)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        with mock.patch(\u0027os.path.getmtime\u0027, return_value\u003d1):"},{"line_number":335,"context_line":"            with mock.patch(\u0027__builtin__.open\u0027, local_mock_open):"},{"line_number":336,"context_line":"                cache_data \u003d {\"data\": \u0027original data\u0027, \"mtime\": 2}"},{"line_number":337,"context_line":"                mock_reload \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzFU%3D","line":334,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        fake_file \u003d \"/this/is/a/fake\""},{"line_number":332,"context_line":"        local_mock_open \u003d _get_local_mock_open(fake_data)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"        with mock.patch(\u0027os.path.getmtime\u0027, return_value\u003d1):"},{"line_number":335,"context_line":"            with mock.patch(\u0027__builtin__.open\u0027, local_mock_open):"},{"line_number":336,"context_line":"                cache_data \u003d {\"data\": \u0027original data\u0027, \"mtime\": 2}"},{"line_number":337,"context_line":"                mock_reload \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fdgg%3D","line":334,"in_reply_to":"AAAAVX%2F%2FzFU%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        self.flags(service_down_time\u003ddown_time)"},{"line_number":383,"context_line":"        with mock.patch(\u0027cinder.openstack.common.timeutils.utcnow\u0027) as \\"},{"line_number":384,"context_line":"                mock_utcnow:"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"            mock_utcnow.return_value \u003d fts_func(fake_now)"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzFQ%3D","line":384,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":381,"context_line":""},{"line_number":382,"context_line":"        self.flags(service_down_time\u003ddown_time)"},{"line_number":383,"context_line":"        with mock.patch(\u0027cinder.openstack.common.timeutils.utcnow\u0027) as \\"},{"line_number":384,"context_line":"                mock_utcnow:"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"            mock_utcnow.return_value \u003d fts_func(fake_now)"},{"line_number":387,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2FdgY%3D","line":384,"in_reply_to":"AAAAVX%2F%2FzFQ%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        # channel \u003d paramiko.Channel(123)"},{"line_number":496,"context_line":"        test_width \u003d 600"},{"line_number":497,"context_line":"        test_height \u003d 800"},{"line_number":498,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_client:"},{"line_number":499,"context_line":"            mock_channel \u003d mock.Mock()"},{"line_number":500,"context_line":"            mock_client.invoke_shell.return_value \u003d mock_channel"},{"line_number":501,"context_line":"            utils.create_channel(mock_client, test_width, test_height)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzFM%3D","line":498,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":495,"context_line":"        # channel \u003d paramiko.Channel(123)"},{"line_number":496,"context_line":"        test_width \u003d 600"},{"line_number":497,"context_line":"        test_height \u003d 800"},{"line_number":498,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_client:"},{"line_number":499,"context_line":"            mock_channel \u003d mock.Mock()"},{"line_number":500,"context_line":"            mock_client.invoke_shell.return_value \u003d mock_channel"},{"line_number":501,"context_line":"            utils.create_channel(mock_client, test_width, test_height)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2FdgE%3D","line":498,"in_reply_to":"AAAAVX%2F%2FzFM%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                    st_gid \u003d 33333"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        test_file \u003d \u0027/var/tmp/made_up_file\u0027"},{"line_number":513,"context_line":"        with mock.patch(\u0027os.stat\u0027) as mock_stat:"},{"line_number":514,"context_line":"            mock_stat.return_value \u003d stat_result"},{"line_number":515,"context_line":"            mode \u003d utils.get_file_mode(test_file)"},{"line_number":516,"context_line":"            self.assertEqual(mode, 0o777)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzFE%3D","line":513,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                    st_gid \u003d 33333"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        test_file \u003d \u0027/var/tmp/made_up_file\u0027"},{"line_number":513,"context_line":"        with mock.patch(\u0027os.stat\u0027) as mock_stat:"},{"line_number":514,"context_line":"            mock_stat.return_value \u003d stat_result"},{"line_number":515,"context_line":"            mode \u003d utils.get_file_mode(test_file)"},{"line_number":516,"context_line":"            self.assertEqual(mode, 0o777)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2FdgA%3D","line":513,"in_reply_to":"AAAAVX%2F%2FzFE%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                    st_gid \u003d 33333"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        test_file \u003d \u0027/var/tmp/made_up_file\u0027"},{"line_number":526,"context_line":"        with mock.patch(\u0027os.stat\u0027) as mock_stat:"},{"line_number":527,"context_line":"            mock_stat.return_value \u003d stat_result"},{"line_number":528,"context_line":"            gid \u003d utils.get_file_gid(test_file)"},{"line_number":529,"context_line":"            self.assertEqual(gid, 33333)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzEw%3D","line":526,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":523,"context_line":"                    st_gid \u003d 33333"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        test_file \u003d \u0027/var/tmp/made_up_file\u0027"},{"line_number":526,"context_line":"        with mock.patch(\u0027os.stat\u0027) as mock_stat:"},{"line_number":527,"context_line":"            mock_stat.return_value \u003d stat_result"},{"line_number":528,"context_line":"            gid \u003d utils.get_file_gid(test_file)"},{"line_number":529,"context_line":"            self.assertEqual(gid, 33333)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fdf8%3D","line":526,"in_reply_to":"AAAAVX%2F%2FzEw%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":761,"context_line":"    \"\"\"Unit test for SSH Connection Pool.\"\"\""},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def test_single_ssh_connect(self):"},{"line_number":764,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_sshclient:"},{"line_number":765,"context_line":"            mock_sshclient.return_value \u003d FakeSSHClient()"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"            # create with password"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzEk%3D","line":764,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":761,"context_line":"    \"\"\"Unit test for SSH Connection Pool.\"\"\""},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def test_single_ssh_connect(self):"},{"line_number":764,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_sshclient:"},{"line_number":765,"context_line":"            mock_sshclient.return_value \u003d FakeSSHClient()"},{"line_number":766,"context_line":""},{"line_number":767,"context_line":"            # create with password"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fdf0%3D","line":764,"in_reply_to":"AAAAVX%2F%2FzEk%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"31bdebd1d9d64b9d5f921d8b8265f285521e34ae","unresolved":false,"context_lines":[{"line_number":797,"context_line":"                              max_size\u003d1)"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def test_closed_reopend_ssh_connections(self):"},{"line_number":800,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_sshclient:"},{"line_number":801,"context_line":"            mock_sshclient.return_value \u003d eval(\u0027FakeSSHClient\u0027)()"},{"line_number":802,"context_line":"            sshpool \u003d utils.SSHPool(\"127.0.0.1\", 22, 10,"},{"line_number":803,"context_line":"                                    \"test\","}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVX%2F%2FzEY%3D","line":800,"updated":"2014-02-28 07:46:34.000000000","message":"Use decorator style.","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"af8c0459082aa567e427dc97a1a06dd54edcf0e2","unresolved":false,"context_lines":[{"line_number":797,"context_line":"                              max_size\u003d1)"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def test_closed_reopend_ssh_connections(self):"},{"line_number":800,"context_line":"        with mock.patch(\u0027paramiko.SSHClient\u0027) as mock_sshclient:"},{"line_number":801,"context_line":"            mock_sshclient.return_value \u003d eval(\u0027FakeSSHClient\u0027)()"},{"line_number":802,"context_line":"            sshpool \u003d utils.SSHPool(\"127.0.0.1\", 22, 10,"},{"line_number":803,"context_line":"                                    \"test\","}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAVn%2F%2Fdfw%3D","line":800,"in_reply_to":"AAAAVX%2F%2FzEY%3D","updated":"2014-03-05 23:40:44.000000000","message":"Done","commit_id":"aa8edf8f14df2ac7a3f1f5bd9d8eee6243e553ef"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"d6828333d46c6eea3f87154ccb77018528f2728b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"from cinder import test"},{"line_number":35,"context_line":"from cinder import utils"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FWGM%3D","line":37,"updated":"2014-03-06 17:59:21.000000000","message":"I think these two lines are not needed","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"b35b72d30aac6da025023b7e7484c115b621599b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"from cinder import test"},{"line_number":35,"context_line":"from cinder import utils"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"from cinder.openstack.common import log as logging"},{"line_number":38,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FVkw%3D","line":37,"in_reply_to":"AAAAVn%2F%2FWGM%3D","updated":"2014-03-06 19:05:00.000000000","message":"Done","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"d6828333d46c6eea3f87154ccb77018528f2728b","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"class GenericUtilsTestCase(test.TestCase):"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":290,"context_line":"    def test_find_config(self, mock_exists):"},{"line_number":291,"context_line":"        mock_exists.return_value \u003d True"},{"line_number":292,"context_line":"        path \u003d \u0027/etc/cinder/cinder.conf\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FWFo%3D","line":289,"updated":"2014-03-06 17:59:21.000000000","message":"just fyi, you can pass the return value as a kwarg. @mock.patch(\u0027os.path.exists\u0027. return_value\u003dTrue)","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"b35b72d30aac6da025023b7e7484c115b621599b","unresolved":false,"context_lines":[{"line_number":286,"context_line":""},{"line_number":287,"context_line":"class GenericUtilsTestCase(test.TestCase):"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    @mock.patch(\u0027os.path.exists\u0027)"},{"line_number":290,"context_line":"    def test_find_config(self, mock_exists):"},{"line_number":291,"context_line":"        mock_exists.return_value \u003d True"},{"line_number":292,"context_line":"        path \u003d \u0027/etc/cinder/cinder.conf\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FVk0%3D","line":289,"in_reply_to":"AAAAVn%2F%2FWFo%3D","updated":"2014-03-06 19:05:00.000000000","message":"Done","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"d6828333d46c6eea3f87154ccb77018528f2728b","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @mock.patch(\u0027paramiko.SSHClient\u0027)"},{"line_number":545,"context_line":"    def test_create_channel(self, mock_client):"},{"line_number":546,"context_line":"        # client \u003d paramiko.SSHClient()"},{"line_number":547,"context_line":"        # channel \u003d paramiko.Channel(123)"},{"line_number":548,"context_line":"        test_width \u003d 600"},{"line_number":549,"context_line":"        test_height \u003d 800"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FWDw%3D","line":546,"updated":"2014-03-06 17:59:21.000000000","message":"I think these two lines were left behind","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"},{"author":{"_account_id":7689,"name":"Bill Owen","email":"billowen@us.ibm.com","username":"billowen"},"change_message_id":"b35b72d30aac6da025023b7e7484c115b621599b","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"    @mock.patch(\u0027paramiko.SSHClient\u0027)"},{"line_number":545,"context_line":"    def test_create_channel(self, mock_client):"},{"line_number":546,"context_line":"        # client \u003d paramiko.SSHClient()"},{"line_number":547,"context_line":"        # channel \u003d paramiko.Channel(123)"},{"line_number":548,"context_line":"        test_width \u003d 600"},{"line_number":549,"context_line":"        test_height \u003d 800"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2FVk8%3D","line":546,"in_reply_to":"AAAAVn%2F%2FWDw%3D","updated":"2014-03-06 19:05:00.000000000","message":"Done","commit_id":"146a8383fbea627251f4f0a5fdba87fb649d2bf0"}]}
