)]}'
{"glance/async/flows/convert.py":[{"author":{"_account_id":10035,"name":"greghaynes","email":"greg@greghaynes.net","username":"greghaynes"},"change_message_id":"c4986c3f5a55c782b07c9678b1ba3474493a8b25","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        fs_path \u003d result.split(\"file://\")[-1]"},{"line_number":98,"context_line":"        if os.path.exists(fs_path):"},{"line_number":99,"context_line":"            for root, dirs, files in os.walk(fs_path, topdown\u003dFalse):"},{"line_number":100,"context_line":"                for file in files:"},{"line_number":101,"context_line":"                    os.remove(os.path.join(root, file))"},{"line_number":102,"context_line":"                for dir in dirs:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_72ab42d7","line":99,"updated":"2015-11-05 03:06:46.000000000","message":"There is a builtin library \"shutil\" which does this, any reason we dont want to use it? shutil.rmtree(\u0027some/dir\u0027) is the exact method. This will also remove a lot of the mocking code below.","commit_id":"8c184ff38b3afc823c3ea3dc577c44354b93b677"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"d3f1773c3d788ae2f5644b51aff95b33cdd50f4f","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        fs_path \u003d result.split(\"file://\")[-1]"},{"line_number":98,"context_line":"        if os.path.exists(fs_path):"},{"line_number":99,"context_line":"            for root, dirs, files in os.walk(fs_path, topdown\u003dFalse):"},{"line_number":100,"context_line":"                for file in files:"},{"line_number":101,"context_line":"                    os.remove(os.path.join(root, file))"},{"line_number":102,"context_line":"                for dir in dirs:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_49ad2930","line":99,"in_reply_to":"fa80f949_72ab42d7","updated":"2015-11-05 10:43:45.000000000","message":"Thanks, I haven\u0027t come across that library before.","commit_id":"8c184ff38b3afc823c3ea3dc577c44354b93b677"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"bf15ba3a812ffc0b7c10d672fb5e807c37d3c12d","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        fs_path \u003d result.split(\"file://\")[-1]"},{"line_number":99,"context_line":"        if os.path.exists(fs_path):"},{"line_number":100,"context_line":"            shutil.rmtree(fs_path)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"def get_flow(**kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_cad6eb26","line":100,"updated":"2015-11-23 17:01:38.000000000","message":"Any reason not to use os.remove? (one less import)","commit_id":"0135a12e08a43531830032ed5b144e13cb9732e1"}],"glance/tests/unit/async/flows/test_convert.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"c770e839f2727560e28b1c9e20c9a395fd36d37a","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                rm_mock.return_value \u003d None"},{"line_number":96,"context_line":"                image_convert.execute(image, \u0027file:///test/path.raw\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def test_covert_revert_success(self):"},{"line_number":99,"context_line":"        image_convert \u003d convert._Convert(self.task.task_id,"},{"line_number":100,"context_line":"                                         self.task_type,"},{"line_number":101,"context_line":"                                         self.img_repo)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_00d4e444","line":98,"updated":"2015-11-17 15:15:04.000000000","message":"convert","commit_id":"35302ebe02a0f4a297830773fa54f128e7fadf4b"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"c770e839f2727560e28b1c9e20c9a395fd36d37a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            exc_mock.return_value \u003d (\"\", None)"},{"line_number":110,"context_line":"            with mock.patch.object(shutil, \u0027rmtree\u0027) as rmtree_mock:"},{"line_number":111,"context_line":"                rmtree_mock.return_value \u003d None"},{"line_number":112,"context_line":"                image_convert.revert(image, \u0027file:///tmp/test\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_import_flow_with_convert_and_introspect(self):"},{"line_number":115,"context_line":"        self.config(engine_mode\u003d\u0027serial\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_a00f18e0","line":112,"updated":"2015-11-17 15:15:04.000000000","message":"I think this need assert called statement to ensure that the function has been called correctly (with right params).","commit_id":"35302ebe02a0f4a297830773fa54f128e7fadf4b"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"2c3c01c1eb19dfe4f66c6e915a012be87e032987","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            exc_mock.return_value \u003d (\"\", None)"},{"line_number":110,"context_line":"            with mock.patch.object(shutil, \u0027rmtree\u0027) as rmtree_mock:"},{"line_number":111,"context_line":"                rmtree_mock.return_value \u003d None"},{"line_number":112,"context_line":"                image_convert.revert(image, \u0027file:///tmp/test\u0027)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def test_import_flow_with_convert_and_introspect(self):"},{"line_number":115,"context_line":"        self.config(engine_mode\u003d\u0027serial\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_23f252d3","line":112,"in_reply_to":"ba8a016a_a00f18e0","updated":"2015-11-17 15:31:55.000000000","message":"What do you suggest we assert?","commit_id":"35302ebe02a0f4a297830773fa54f128e7fadf4b"}]}
