Skip to content

bug: Autoshape name must be escaped against embedded double-quotes #758

@smoncktn

Description

@smoncktn

For some this crashes:
for shape in slide.shapes:
print("id: %s, type: %s" % (shape.shape_id, shape.shape_type))
circleShape=slide.shapes.add_shape(MSO_SHAPE.NO_SYMBOL, Cm(10), Cm(10), Cm(1), Cm(1))

Calls to MSO_SHAPES above and below this shape (i.e. 18 and 20) work fine. Strange.

Output on my machine:
File "C:\Users\monck\TrailExperiment\shapely.py", line 21, in
circleShape=slide.shapes.add_shape(19, Cm(10), Cm(10), Cm(1), Cm(1))
File "C:\Users\monck\AppData\Local\Programs\Python\Python39\lib\site-packages\pptx\shapes\shapetree.py", line 345, in add_shape
sp = self.add_sp(autoshape_type, left, top, width, height)
File "C:\Users\monck\AppData\Local\Programs\Python\Python39\lib\site-packages\pptx\shapes\shapetree.py", line 448, in add_sp
sp = self.grpSp.add_autoshape(id, name, autoshape_type.prst, x, y, cx, cy)
File "C:\Users\monck\AppData\Local\Programs\Python\Python39\lib\site-packages\pptx\oxml\shapes\groupshape.py", line 42, in add_autoshape
sp = CT_Shape.new_autoshape_sp(id
, name, prst, x, y, cx, cy)
File "C:\Users\monck\AppData\Local\Programs\Python\Python39\lib\site-packages\pptx\oxml\shapes\autoshape.py", line 239, in new_autoshape_sp
sp = parse_xml(xml)
File "C:\Users\monck\AppData\Local\Programs\Python\Python39\lib\site-packages\pptx\oxml_init
.py", line 40, in parse_xml
root_element = etree.fromstring(xml, oxml_parser)
File "src\lxml\etree.pyx", line 3237, in lxml.etree.fromstring
File "src\lxml\parser.pxi", line 1896, in lxml.etree._parseMemoryDocument
File "src\lxml\parser.pxi", line 1777, in lxml.etree._parseDoc
File "src\lxml\parser.pxi", line 1082, in lxml.etree._BaseParser._parseUnicodeDoc
File "src\lxml\parser.pxi", line 615, in lxml.etree._ParserContext._handleParseResultDoc
File "src\lxml\parser.pxi", line 725, in lxml.etree._handleParseResult
File "src\lxml\parser.pxi", line 654, in lxml.etree._raiseParseError
File "", line 3
lxml.etree.XMLSyntaxError: attributes construct error, line 3, column 28

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions