Selaa lähdekoodia

Added strategy property to exporter and mimetype property to all exporters

Vsevolod Levitan 1 vuosi sitten
vanhempi
commit
891e6c65fc

+ 5 - 0
src/export/exporter.py

@@ -33,3 +33,8 @@ class exporter:
         models = storage().data[key]
 
         return self.export_models(models)
+
+    def strategy(self):
+        """Стратегия экспорта"""
+
+        return self.__strat

+ 4 - 0
src/export/strategies/csv_export.py

@@ -28,3 +28,7 @@ class csv_export(export):
             res += str(val).replace(";", ",") + ";"
 
         return res[:-1]
+
+    @property
+    def mimetype(self):
+        return "text/csv"

+ 6 - 0
src/export/strategies/export.py

@@ -31,3 +31,9 @@ class export:
         """
 
         pass
+
+    @property
+    def mimetype(self):
+        """Mimetype"""
+
+        pass

+ 6 - 2
src/export/strategies/json_export.py

@@ -5,7 +5,7 @@ from src.models.abstract_reference import abstract_reference
 class json_export(export):
     """Класс стратегии для экспорта в JSON"""
 
-    def export_header(model: abstract_reference):
+    def export_header(self, model: abstract_reference):
         """
             Создать заголовок экспорта
         Args:
@@ -13,10 +13,14 @@ class json_export(export):
         """
         pass
 
-    def export_model(model: abstract_reference):
+    def export_model(self, model: abstract_reference):
         """
             Экспортировать модель
         Args:
             model (abstract_reference): модель, строку с которой нужно создать
         """
         pass
+
+    @property
+    def mimetype(self):
+        return "application/json"

+ 4 - 0
src/export/strategies/markdown_export.py

@@ -32,3 +32,7 @@ class markdown_export(export):
             res += str(val) + " | "
         res = res[:-2] + "|"
         return res
+
+    @property
+    def mimetype(self):
+        return "text/markdown"