Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def parse_property(self, data):
properties = self.elements[-1][1]
fields = data.strip().split()
if len(fields) < 2:
self._error("bad 'property' line")
if fields[0] == 'list':
if len(fields) != 4:
self._error("expected \"property list "
"{len_type} {val_type} {name}\"")
try:
properties.append(
PlyListProperty(fields[3], fields[1], fields[2])
)
except ValueError as e:
self._error(str(e))
else:
if len(fields) != 2:
self._error("expected \"property {type} {name}\"")
try:
properties.append(
PlyProperty(fields[1], fields[0])
)
except ValueError as e:
self._error(str(e))
This is not part of the public interface. The preferred methods
of obtaining PlyElement instances are PlyData.read (to read from
a file) and PlyElement.describe (to construct from a numpy
array).
'''
_check_name(name)
self._name = str(name)
self._count = count
self._properties = tuple(properties)
self._index()
self.comments = comments
self._have_list = any(isinstance(p, PlyListProperty)
for p in self.properties)
# non-scalar field, which corresponds to a list
# property in PLY.
if t[1][1] == 'O':
if len(t) != 2:
raise ValueError("non-scalar object fields not "
"supported")
len_str = _data_type_reverse[len_types.get(t[0], 'u1')]
if t[1][1] == 'O':
val_type = val_types.get(t[0], 'i4')
val_str = _lookup_type(val_type)
else:
val_str = _lookup_type(t[1][1:])
prop = PlyListProperty(t[0], len_str, val_str)
else:
val_str = _lookup_type(t[1][1:])
prop = PlyProperty(t[0], val_str)
properties.append(prop)
elt = PlyElement(name, properties, count, comments)
elt.data = data
return elt