@staticmethod
    def load(collada, localscope, node):
        pnode = node.find('%s/%s' % (tag('technique_common'), tag('point')))
        colornode = pnode.find( tag('color') )
        if colornode is None:
            raise DaeIncompleteError('Missing color for point light')
        try:
            color = tuple([float(v) for v in colornode.text.split()])
        except __HOLE__ as ex:
            raise DaeMalformedError('Corrupted color values in light definition')
        constant_att = linear_att = quad_att = zfar = None
        qattnode = pnode.find( tag('quadratic_attenuation') )
        cattnode = pnode.find( tag('constant_attenuation') )
        lattnode = pnode.find( tag('linear_attenuation') )
        zfarnode = pnode.find( tag('zfar') )
        try:
            if cattnode is not None:
                constant_att = float(cattnode.text)
            if lattnode is not None:
                linear_att = float(lattnode.text)
            if qattnode is not None:
                quad_att = float(qattnode.text)
            if zfarnode is not None:
                zfar = float(zfarnode.text)
        except ValueError as ex:
            raise DaeMalformedError('Corrupted values in light definition')
        return PointLight(node.get('id'), color, constant_att, linear_att,
                quad_att, zfar, xmlnode = node)
dataset/ETHPy150Open pycollada/pycollada/collada/light.py/PointLight.load