def add_run(self, new_xml: ElementTree = None) -> int: # create if new_xml is None: new_xml = etree.Element('{%s}r' % pptx_xml_ns['a']) new_xml_r_pr = etree.Element('{%s}rPr' % pptx_xml_ns['a']) new_xml.append(new_xml_r_pr) new_xml_t = etree.Element('{%s}t' % pptx_xml_ns['a']) new_xml.append(new_xml_t) self._paragraph.xml.append(new_xml) self._paragraph.save_xml() # update cache self._run_xml_getters.append(new_xml) # make run object new_run_index = self._run_xml_getters.len_with_holes - 1 return new_run_index
def add_paragraph(self, new_xml: ElementTree = None, do_auto_new_xml_with_run: bool = True) -> int: # create if new_xml is None: new_xml = etree.Element('{%s}p' % pptx_xml_ns['a']) if do_auto_new_xml_with_run: new_xml_r = etree.Element('{%s}r' % pptx_xml_ns['a']) new_xml.append(new_xml_r) new_xml_r_pr = etree.Element('{%s}rPr' % pptx_xml_ns['a']) new_xml_r.append(new_xml_r_pr) new_xml_t = etree.Element('{%s}t' % pptx_xml_ns['a']) new_xml_r.append(new_xml_t) self._text_frame.xml.append(new_xml) self._text_frame.save_xml() # update cache # noinspection PyProtectedMember self._text_frame._paragraph_xmls.append(new_xml) # make run object new_paragraph_index = self._paragraph_xml_getters.len_with_holes - 1 return new_paragraph_index