Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _write_vml_drawing_rels_file(self, worksheet, index):
# Write the vmlDdrawing .rels files for worksheets with images in
# headers or footers.
# Create the drawing .rels dir.
rels = Relationships()
for drawing_data in worksheet.vml_drawing_links:
rels._add_document_relationship(*drawing_data)
# Create .rels file such as /xl/drawings/_rels/vmlDrawing1.vml.rels.
rels._set_xml_writer(self._filename('xl/drawings/_rels/vmlDrawing'
+ str(index)
+ '.vml.rels'))
rels._assemble_xml_file()
def _write_root_rels_file(self):
# Write the _rels/.rels xml file.
rels = Relationships()
rels._add_document_relationship('/officeDocument', 'xl/workbook.xml')
rels._add_package_relationship('/metadata/core-properties',
'docProps/core.xml')
rels._add_document_relationship('/extended-properties',
'docProps/app.xml')
if self.workbook.custom_properties:
rels._add_document_relationship('/custom-properties',
'docProps/custom.xml')
rels._set_xml_writer(self._filename('_rels/.rels'))
rels._assemble_xml_file()
def _write_workbook_rels_file(self):
# Write the _rels/.rels xml file.
rels = Relationships()
worksheet_index = 1
chartsheet_index = 1
for worksheet in self.workbook.worksheets():
if worksheet.is_chartsheet:
rels._add_document_relationship('/chartsheet',
'chartsheets/sheet'
+ str(chartsheet_index)
+ '.xml')
chartsheet_index += 1
else:
rels._add_document_relationship('/worksheet',
'worksheets/sheet'
+ str(worksheet_index)
+ '.xml')
if worksheet.is_chartsheet:
continue
index += 1
external_links = (worksheet.external_hyper_links +
worksheet.external_drawing_links +
worksheet.external_vml_links +
worksheet.external_table_links +
worksheet.external_comment_links)
if not external_links:
continue
# Create the worksheet .rels dirs.
rels = Relationships()
for link_data in external_links:
rels._add_worksheet_relationship(*link_data)
# Create .rels file such as /xl/worksheets/_rels/sheet1.xml.rels.
rels._set_xml_writer(self._filename('xl/worksheets/_rels/sheet'
+ str(index) + '.xml.rels'))
rels._assemble_xml_file()
# Write the chartsheet .rels files for links to drawing files.
index = 0
for worksheet in self.workbook.worksheets():
if not worksheet.is_chartsheet:
continue
index += 1
external_links = worksheet.external_drawing_links
if not external_links:
continue
# Create the chartsheet .rels xlsx_dir.
rels = Relationships()
for link_data in external_links:
rels._add_worksheet_relationship(*link_data)
# Create .rels file such as /xl/chartsheets/_rels/sheet1.xml.rels.
rels._set_xml_writer(self._filename('xl/chartsheets/_rels/sheet'
+ str(index) + '.xml.rels'))
rels._assemble_xml_file()