123456789101112131415161718192021222324252627282930313233343536 |
- from src.export.strategies.export import export
- from src.models.abstract_reference import abstract_reference
- class csv_export(export):
- """Класс стратегии для экспорта в CSV"""
- # Singleton
- def __new__(cls):
- if not hasattr(cls, "instance"):
- cls.instance = super(csv_export, cls).__new__(cls)
- return cls.instance
- def export_header(self, model: abstract_reference):
- """
- Создать заголовок экспорта
- Args:
- model (abstract_reference): модель, по которой нужно построить заголовок
- """
- return ";".join(super().get_properties(model).keys())
- def export_model(self, model: abstract_reference):
- """
- Экспортировать модель
- Args:
- model (abstract_reference): модель, строку с которой нужно создать
- """
- properties = super().get_properties(model)
- res = ""
- for property in properties.keys():
- val = properties[property]
- res += str(val).replace(";", ",") + ";"
- return res[:-1]
|