In io/gltf.py:293skip_mesh is left as True when encountering a mesh primitive that isn't type 4/triangles.
As a result, at io/gltf.py:338None is appended to meshes.
At io/gltf.py:375 the returned meshes list is enumerated and has_attribute is called on each item without checking whether it's None, leading to an AttributeError exception raised to the caller.
How best to handle this is really a design question for the library maintainers, but I think clients should either get a sensible exception explaining that the glTF has unsupported primitive modes, or be given the opportunity to handle None meshes.
In io/gltf.py:293
skip_mesh
is left asTrue
when encountering a mesh primitive that isn't type 4/triangles.As a result, at io/gltf.py:338
None
is appended to meshes.At io/gltf.py:375 the returned
meshes
list is enumerated andhas_attribute
is called on each item without checking whether it'sNone
, leading to anAttributeError
exception raised to the caller.How best to handle this is really a design question for the library maintainers, but I think clients should either get a sensible exception explaining that the glTF has unsupported primitive modes, or be given the opportunity to handle
None
meshes.