From 2049c3625bef06ba5fad8169c042cbdb3641b4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 24 May 2024 11:27:57 +0200 Subject: [PATCH] Fix tests with NumPy 2.0 Replace the deprecated `string_` and `unicode_` aliases with the modern `bytes_` and `str_` replacements to fix compatibility with NumPy 2.0. This change does not change anything for NumPy 1.x where both types are aliases to each other. --- collada/source.py | 4 ++-- collada/tests/test_source.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/collada/source.py b/collada/source.py index e7c7a06..6a0e715 100644 --- a/collada/source.py +++ b/collada/source.py @@ -318,7 +318,7 @@ def load(collada, localscope, node): values = [v for v in arraynode.text.split()] except ValueError: raise DaeMalformedError('Corrupted IDREF array') - data = numpy.array(values, dtype=numpy.unicode_) + data = numpy.array(values, dtype=numpy.str_) paramnodes = node.findall('%s/%s/%s' % (collada.tag('technique_common'), collada.tag('accessor'), collada.tag('param'))) if not paramnodes: raise DaeIncompleteError('No accessor info in source node') @@ -425,7 +425,7 @@ def load(collada, localscope, node): values = [v for v in arraynode.text.split()] except ValueError: raise DaeMalformedError('Corrupted Name array') - data = numpy.array(values, dtype=numpy.unicode_) + data = numpy.array(values, dtype=numpy.str_) paramnodes = node.findall('%s/%s/%s' % (tag('technique_common'), tag('accessor'), tag ('param'))) if not paramnodes: diff --git a/collada/tests/test_source.py b/collada/tests/test_source.py index 9ec0529..81dda61 100644 --- a/collada/tests/test_source.py +++ b/collada/tests/test_source.py @@ -31,7 +31,7 @@ def test_float_source_saving(self): def test_idref_source_saving(self): idrefsource = collada.source.IDRefSource("myidrefsource", - numpy.array(['Ref1', 'Ref2'], dtype=numpy.string_), + numpy.array(['Ref1', 'Ref2'], dtype=numpy.bytes_), ('MORPH_TARGET',)) self.assertEqual(idrefsource.id, "myidrefsource") self.assertEqual(len(idrefsource), 2) @@ -39,7 +39,7 @@ def test_idref_source_saving(self): self.assertIsNotNone(str(idrefsource)) idrefsource.id = "youridrefsource" idrefsource.components = ('JOINT_TARGET', 'WHATEVER_TARGET') - idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.string_) + idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.bytes_) idrefsource.save() loaded_idrefsource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(idrefsource.xmlnode))) self.assertTrue(isinstance(loaded_idrefsource, collada.source.IDRefSource)) @@ -49,7 +49,7 @@ def test_idref_source_saving(self): def test_name_source_saving(self): namesource = collada.source.NameSource("mynamesource", - numpy.array(['Name1', 'Name2'], dtype=numpy.string_), + numpy.array(['Name1', 'Name2'], dtype=numpy.bytes_), ('JOINT',)) self.assertEqual(namesource.id, "mynamesource") self.assertEqual(len(namesource), 2) @@ -57,7 +57,7 @@ def test_name_source_saving(self): self.assertIsNotNone(str(namesource)) namesource.id = "yournamesource" namesource.components = ('WEIGHT', 'WHATEVER') - namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.string_) + namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.bytes_) namesource.save() loaded_namesource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(namesource.xmlnode))) self.assertTrue(isinstance(loaded_namesource, collada.source.NameSource))