From ae959b9cc27fdff24d8060880a5f5c43b91648eb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 4 Nov 2020 18:08:04 +0100 Subject: [PATCH] allow '.' in filenames --- python/damask/_vtk.py | 7 +++---- python/tests/test_VTK.py | 6 ++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 10f3b482b..9cfcca2ec 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -197,11 +197,10 @@ class VTK: elif isinstance(self.vtk_data,vtk.vtkPolyData): writer = vtk.vtkXMLPolyDataWriter() - default_ext = writer.GetDefaultFileExtension() + default_ext = '.'+writer.GetDefaultFileExtension() ext = Path(fname).suffix - if ext and ext != '.'+default_ext: - raise ValueError(f'Given extension "{ext}" does not match default ".{default_ext}"') - writer.SetFileName(str(Path(fname).with_suffix('.'+default_ext))) + writer.SetFileName(str(fname)+default_ext if default_ext != ext else '') + if compress: writer.SetCompressorTypeToZLib() else: diff --git a/python/tests/test_VTK.py b/python/tests/test_VTK.py index 63adb6454..70d91659a 100644 --- a/python/tests/test_VTK.py +++ b/python/tests/test_VTK.py @@ -85,6 +85,12 @@ class TestVTK: assert(False) + @pytest.mark.parametrize('fname',['a','a.vtp','a.b','a.b.vtp']) + def test_filename_variations(self,tmp_path,fname): + points = np.random.rand(102,3) + v = VTK.from_poly_data(points) + v.save(tmp_path/fname) + @pytest.mark.parametrize('name,dataset_type',[('this_file_does_not_exist.vtk', None), ('this_file_does_not_exist.vtk','vtk'), ('this_file_does_not_exist.vtx', None)])