瀏覽代碼

Implemented json_export

Vsevolod Levitan 1 年之前
父節點
當前提交
3887540faf
共有 3 個文件被更改,包括 17 次插入4 次删除
  1. 2 1
      src/convert/model_converter.py
  2. 0 0
      src/export/exporter_factory.py
  3. 15 3
      src/export/strategies/json_export.py

+ 2 - 1
src/convert/model_converter.py

@@ -1,3 +1,4 @@
+from src.convert.basic_converter import basic_converter
 from src.convert.converter import converter
 
 
@@ -10,5 +11,5 @@ class model_converter(converter):
                 continue
             attr = getattr(obj.__class__, name)
             if isinstance(attr, property):
-                properties[name] = attr.fget(obj)
+                properties[name] = basic_converter.convert(attr.fget(obj))
         return properties

+ 0 - 0
src/export/export_factory.py → src/export/exporter_factory.py


+ 15 - 3
src/export/strategies/json_export.py

@@ -1,3 +1,4 @@
+from src.convert.converter_factory import converter_factory
 from src.export.strategies.export import export
 from src.models.abstract_reference import abstract_reference
 
@@ -11,7 +12,8 @@ class json_export(export):
         Args:
             model (abstract_reference): модель, по которой нужно построить заголовок
         """
-        pass
+
+        return ""
 
     def export_model(self, model: abstract_reference):
         """
@@ -19,12 +21,22 @@ class json_export(export):
         Args:
             model (abstract_reference): модель, строку с которой нужно создать
         """
-        pass
+
+        properties = converter_factory.create_model().convert(model)
+        res = "\n        {\n"
+
+        for key in properties:
+            val = properties[key]
+            res += f'            "{key}":"{val}",\n'
+
+        res += "        },"
+
+        return res
 
     def postprocess(self, text):
         """Пост-обработка текста перед экспортом (по надобности)"""
 
-        return text
+        return f"{{\n    [{text}\n    ]\n}}"
 
     @property
     def mimetype(self):