MCPcopy Create free account
hub / github.com/IfcOpenShell/IfcOpenShell / write

Method write

src/ifc5d/ifc5d/ifc5Dspreadsheet.py:422–450  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

420
421class Ifc5DOdsWriter(Ifc5Dwriter):
422 def write(self) -> None:
423 from odf.number import CurrencyStyle, CurrencySymbol, Number
424 from odf.opendocument import OpenDocumentSpreadsheet
425 from odf.style import Style, TableCellProperties
426
427 super().write()
428
429 self.doc = OpenDocumentSpreadsheet()
430
431 for value in self.colours.values():
432 style = Style(name=value, family="table-cell")
433 bg_color = TableCellProperties(backgroundcolor="#" + value)
434 style.addElement(bg_color)
435 self.doc.styles.addElement(style)
436
437 ns1 = CurrencyStyle(name="positive-AUD", volatile="true")
438 ns1.addElement(CurrencySymbol(language="en", country="AU", text="$"))
439 ns1.addElement(Number(decimalplaces="2", minintegerdigits="1", grouping="true"))
440 self.doc.styles.addElement(ns1)
441
442 os.makedirs(self.output, exist_ok=True)
443 file_name = ""
444 for cost_schedule in self.cost_schedules:
445 if file_name:
446 file_name += "_" + cost_schedule.Name or ""
447 else:
448 file_name += cost_schedule.Name or ""
449 self.write_table(cost_schedule)
450 self.doc.save(os.path.join(self.output, file_name), True)
451
452 def write_table(self, cost_schedule):
453 from odf.number import CurrencySymbol, Number

Callers

nothing calls this directly

Calls 6

write_tableMethod · 0.95
StyleClass · 0.90
valuesMethod · 0.80
writeMethod · 0.45
saveMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected