)]}'
{"cinder/tests/windows/test_windows_utils.py":[{"author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"change_message_id":"77e9e0115a7413bf046a86e215564564c539e06e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cinder import exception"},{"line_number":18,"context_line":"from cinder import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from cinder.volume.drivers.windows import windows_utils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_68fd876e","line":19,"updated":"2014-08-25 05:59:48.000000000","message":"it seems this empty line should be deleted.","commit_id":"48bd8f910a45fc2c0390e67ec8bee514480a3b86"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"651fa396d3a171cf2af78b1b1db8a010b62f8729","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        else:"},{"line_number":46,"context_line":"            self.wutils.copy_vhd_disk(fake_source, fake_destination)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            fake_data_file_object.Copy.assert_called_with("},{"line_number":49,"context_line":"                fake_destination)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def test_copy_vhd_disk(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_bd44e274","line":48,"updated":"2014-11-20 13:46:20.000000000","message":"also another \u0027assert_called_with\u0027 for _conn_cimv2() method too?","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"26b5a629ed0eff45498c81fe8257b0494dbafc9c","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        else:"},{"line_number":46,"context_line":"            self.wutils.copy_vhd_disk(fake_source, fake_destination)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"            fake_data_file_object.Copy.assert_called_with("},{"line_number":49,"context_line":"                fake_destination)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def test_copy_vhd_disk(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_8f423566","line":48,"in_reply_to":"5a890539_bd44e274","updated":"2015-02-04 17:44:36.000000000","message":"Done, added this in patch set 3.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"}],"cinder/volume/drivers/windows/windows_utils.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"92c641c035623d372cc73f38fbf62619282ad722","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":318,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":319,"context_line":"            if ret_val:"},{"line_number":320,"context_line":"                err_msg \u003d (_("},{"line_number":321,"context_line":"                    \u0027copy_vhd_disk: error when copying disk from source \u0027"},{"line_number":322,"context_line":"                    \u0027path : %(src_path)s to destination path: %(dest_path)s \u0027"},{"line_number":323,"context_line":"                    \u0027. Error code: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_950d76eb","line":320,"updated":"2014-11-27 08:31:00.000000000","message":"_LE is supposed to add in front of the error message.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"76248b8d6a9a2091830fecf85ae2d5c942af0fe3","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":318,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":319,"context_line":"            if ret_val:"},{"line_number":320,"context_line":"                err_msg \u003d (_("},{"line_number":321,"context_line":"                    \u0027copy_vhd_disk: error when copying disk from source \u0027"},{"line_number":322,"context_line":"                    \u0027path : %(src_path)s to destination path: %(dest_path)s \u0027"},{"line_number":323,"context_line":"                    \u0027. Error code: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_fe271b62","line":320,"in_reply_to":"3a961159_3e87ead8","updated":"2015-02-03 16:47:33.000000000","message":"Thanks Accela.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"edd709584d89191b3d7c1727e7966cd108fcf98f","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":318,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":319,"context_line":"            if ret_val:"},{"line_number":320,"context_line":"                err_msg \u003d (_("},{"line_number":321,"context_line":"                    \u0027copy_vhd_disk: error when copying disk from source \u0027"},{"line_number":322,"context_line":"                    \u0027path : %(src_path)s to destination path: %(dest_path)s \u0027"},{"line_number":323,"context_line":"                    \u0027. Error code: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_3e87ead8","line":320,"in_reply_to":"5a890539_950d76eb","updated":"2014-12-18 12:09:48.000000000","message":"No. We should not use _LE here. See http://docs.openstack.org/developer/oslo.i18n/guidelines.html#examples","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"28acf58c111ee6614b3dab979121ed81a2b7920a","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":318,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":319,"context_line":"            if ret_val:"},{"line_number":320,"context_line":"                err_msg \u003d (_("},{"line_number":321,"context_line":"                    \u0027copy_vhd_disk: error when copying disk from source \u0027"},{"line_number":322,"context_line":"                    \u0027path : %(src_path)s to destination path: %(dest_path)s \u0027"},{"line_number":323,"context_line":"                    \u0027. Error code: \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_e9af0b7b","line":320,"in_reply_to":"5a890539_950d76eb","updated":"2015-02-03 17:47:35.000000000","message":"The message is also used for the exception, so I don\u0027t believe it is supposed to have the _LE marker.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"92c641c035623d372cc73f38fbf62619282ad722","unresolved":false,"context_lines":[{"line_number":328,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        else:"},{"line_number":331,"context_line":"            err_msg \u003d (_("},{"line_number":332,"context_line":"                \u0027Could not copy disk %(src_path)s to %(dest_path)s . Could \u0027"},{"line_number":333,"context_line":"                \u0027not find source path.\u0027) % {\u0027src_path\u0027: source_path,"},{"line_number":334,"context_line":"                                            \u0027dest_path\u0027: destination_path})"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a890539_b5127207","line":331,"updated":"2014-11-27 08:31:00.000000000","message":"_LE is supposed to add in front of the error message.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"28acf58c111ee6614b3dab979121ed81a2b7920a","unresolved":false,"context_lines":[{"line_number":328,"context_line":"                raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"        else:"},{"line_number":331,"context_line":"            err_msg \u003d (_("},{"line_number":332,"context_line":"                \u0027Could not copy disk %(src_path)s to %(dest_path)s . Could \u0027"},{"line_number":333,"context_line":"                \u0027not find source path.\u0027) % {\u0027src_path\u0027: source_path,"},{"line_number":334,"context_line":"                                            \u0027dest_path\u0027: destination_path})"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_29cd9366","line":331,"in_reply_to":"5a890539_b5127207","updated":"2015-02-03 17:47:35.000000000","message":"Same.","commit_id":"3e81480e5de93d08dcb9bbba873cb9873bd77e55"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"2f047841a03916c872f3df8385a5d302854195f8","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    def copy_vhd_disk(self, source_path, destination_path):"},{"line_number":313,"context_line":"        \"\"\"Copy the vhd disk from source path to destination path.\"\"\""},{"line_number":314,"context_line":"        vhdfiles \u003d self._conn_cimv2.query("},{"line_number":315,"context_line":"            \"Select * from CIM_DataFile where Name \u003d \u0027%s\u0027\" % source_path)"},{"line_number":316,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":317,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":318,"context_line":"            if ret_val:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa81d914_ee51300f","line":315,"updated":"2015-01-29 15:22:57.000000000","message":"This is a good spot for sql injection, since you are just putting a direct string in here.","commit_id":"d83de693fa313a030208c9adb9102bcd31fec332"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"e4b46ee780e340f7cb22cbf42b5618b64a21a923","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    def copy_vhd_disk(self, source_path, destination_path):"},{"line_number":313,"context_line":"        \"\"\"Copy the vhd disk from source path to destination path.\"\"\""},{"line_number":314,"context_line":"        vhdfiles \u003d self._conn_cimv2.query("},{"line_number":315,"context_line":"            \"Select * from CIM_DataFile where Name \u003d \u0027%s\u0027\" % source_path)"},{"line_number":316,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":317,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":318,"context_line":"            if ret_val:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_7ca3739e","line":315,"in_reply_to":"da86d52c_39a02d43","updated":"2015-02-02 14:41:46.000000000","message":"Makes sense. Sure, thanks for the suggestion!","commit_id":"d83de693fa313a030208c9adb9102bcd31fec332"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"a11ce02dbb3a550fe946499de190a8565de4c954","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    def copy_vhd_disk(self, source_path, destination_path):"},{"line_number":313,"context_line":"        \"\"\"Copy the vhd disk from source path to destination path.\"\"\""},{"line_number":314,"context_line":"        vhdfiles \u003d self._conn_cimv2.query("},{"line_number":315,"context_line":"            \"Select * from CIM_DataFile where Name \u003d \u0027%s\u0027\" % source_path)"},{"line_number":316,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":317,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":318,"context_line":"            if ret_val:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_39a02d43","line":315,"in_reply_to":"fa81d914_0e52dd3a","updated":"2015-02-02 14:30:15.000000000","message":"Can you add a comment in the code to that effect please? It avoids somebody raising a security bug about it later. Thanks","commit_id":"d83de693fa313a030208c9adb9102bcd31fec332"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"b5764e2e9254cc818a18cce9ee4c31cab01d967b","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    def copy_vhd_disk(self, source_path, destination_path):"},{"line_number":313,"context_line":"        \"\"\"Copy the vhd disk from source path to destination path.\"\"\""},{"line_number":314,"context_line":"        vhdfiles \u003d self._conn_cimv2.query("},{"line_number":315,"context_line":"            \"Select * from CIM_DataFile where Name \u003d \u0027%s\u0027\" % source_path)"},{"line_number":316,"context_line":"        if len(vhdfiles) \u003e 0:"},{"line_number":317,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":318,"context_line":"            if ret_val:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa81d914_0e52dd3a","line":315,"in_reply_to":"fa81d914_ee51300f","updated":"2015-01-30 11:20:13.000000000","message":"Not really. This is actually a WQL query, which is a small subset of SQL and does not allow multiple queries.\n\nThis was debated multiple times on nova as well (e.g. https://bugs.launchpad.net/nova/+bug/1370295) but the conclusion was that this kind of queries are not prone to wql injection. Further explaination may be found in the previous link.","commit_id":"d83de693fa313a030208c9adb9102bcd31fec332"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"cda1fbec5d47b89ca4776d70d0cf1e4efff93304","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":320,"context_line":"            if ret_val:"},{"line_number":321,"context_line":"                err_msg \u003d ("},{"line_number":322,"context_line":"                    _(\u0027Could not copy virtual disk %(src_path)s \u0027"},{"line_number":323,"context_line":"                      \u0027to %(dest_path)s. Error code: %(error_code)s\u0027) %"},{"line_number":324,"context_line":"                    {\u0027src_path\u0027: source_path,"},{"line_number":325,"context_line":"                     \u0027dest_path\u0027: destination_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_76925958","line":322,"updated":"2015-02-17 23:38:20.000000000","message":"Please use log markers.","commit_id":"b5567ed10a2e49adca849456049393120e375965"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7c9a298db9a7464ce83c3afc46b5fcbc89a2e412","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":320,"context_line":"            if ret_val:"},{"line_number":321,"context_line":"                err_msg \u003d ("},{"line_number":322,"context_line":"                    _(\u0027Could not copy virtual disk %(src_path)s \u0027"},{"line_number":323,"context_line":"                      \u0027to %(dest_path)s. Error code: %(error_code)s\u0027) %"},{"line_number":324,"context_line":"                    {\u0027src_path\u0027: source_path,"},{"line_number":325,"context_line":"                     \u0027dest_path\u0027: destination_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_e7ddb015","line":322,"in_reply_to":"da86d52c_76925958","updated":"2015-02-18 02:31:50.000000000","message":"This is used both for logging and for the exception, so _() is the correct marker to use.","commit_id":"b5567ed10a2e49adca849456049393120e375965"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d2fb6c3bc29d9bca8bae971dd0a443cf1bf5d9d5","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            ret_val \u003d vhdfiles[0].Copy(destination_path)[0]"},{"line_number":320,"context_line":"            if ret_val:"},{"line_number":321,"context_line":"                err_msg \u003d ("},{"line_number":322,"context_line":"                    _(\u0027Could not copy virtual disk %(src_path)s \u0027"},{"line_number":323,"context_line":"                      \u0027to %(dest_path)s. Error code: %(error_code)s\u0027) %"},{"line_number":324,"context_line":"                    {\u0027src_path\u0027: source_path,"},{"line_number":325,"context_line":"                     \u0027dest_path\u0027: destination_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_051aea7c","line":322,"in_reply_to":"da86d52c_e7ddb015","updated":"2015-03-05 21:10:26.000000000","message":"+1 to Sean\u0027s comment","commit_id":"b5567ed10a2e49adca849456049393120e375965"}]}
