Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
fill="red" stroke="blue"/>
if not clip_path:
return
m = re.match(r'url\(#([^\)]*)\)', clip_path)
if not m:
return
ref = m.groups()[0]
if ref not in self.definitions:
logger.warning("Unable to find a clipping path with id %s" % ref)
return
shape = get_shape_from_node(self.definitions[ref])
if isinstance(shape, Rect):
# It is possible to use a rect as a clipping path in an svg, so we
# need to convert it to a path for rlg.
x1, y1, x2, y2 = shape.getBounds()
cp = ClippingPath()
cp.moveTo(x1, y1)
cp.lineTo(x2, y1)
cp.lineTo(x2, y2)
cp.lineTo(x1, y2)
cp.closePath()
# Copy the styles from the rect to the clipping path.
copy_shape_properties(shape, cp)
return cp
elif isinstance(shape, Path):
return ClippingPath(copy_from=shape)
elif shape:
logging.error("Unsupported shape type %s for clipping" % shape.__class__.__name__)
shape = get_shape_from_node(self.definitions[ref])
if isinstance(shape, Rect):
# It is possible to use a rect as a clipping path in an svg, so we
# need to convert it to a path for rlg.
x1, y1, x2, y2 = shape.getBounds()
cp = ClippingPath()
cp.moveTo(x1, y1)
cp.lineTo(x2, y1)
cp.lineTo(x2, y2)
cp.lineTo(x1, y2)
cp.closePath()
# Copy the styles from the rect to the clipping path.
copy_shape_properties(shape, cp)
return cp
elif isinstance(shape, Path):
return ClippingPath(copy_from=shape)
elif shape:
logging.error("Unsupported shape type %s for clipping" % shape.__class__.__name__)