1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import os
- from flask import Flask
- from src.export.exporter_factory import exporter_factory
- from src.settings.settings_manager import settings_manager
- from src.logic.start_factory import start_factory
- from src.storage.storage import storage
- setman = settings_manager()
- start = None
- strg = None
- app = Flask(__name__)
- @app.route("/api/export/<storage_key>/<format>", methods=["GET"])
- def get_export_format(storage_key: str, format: str):
- global setman, start, strg
- exp = None
- format = format.lower().strip()
- fac = exporter_factory()
- if format == "csv":
- exp = fac.make_csv()
- elif format == "json":
- exp = fac.make_json()
- elif format == "markdown":
- exp = fac.make_markdown()
- if storage_key not in strg.data:
- return "Key not found", 404
- return app.response_class(
- response=exp.export_by_key(storage_key),
- status=200,
- mimetype=exp.strategy.mimetype,
- )
- @app.route("/api/export/<storage_key>", methods=["GET"])
- def get_export(storage_key: str):
- global setman, start, strg
- format = setman.settings.export_format
- exp = None
- format = format.lower().strip()
- fac = exporter_factory()
- if format == "csv":
- exp = fac.make_csv()
- elif format == "json":
- exp = fac.make_json()
- elif format == "markdown":
- exp = fac.make_markdown()
- if storage_key not in strg.data:
- return "Key not found", 404
- return app.response_class(
- response=exp.export_by_key(storage_key),
- status=200,
- mimetype=exp.strategy.mimetype,
- )
- # Инициализация приложения
- def run():
- global setman, start, strg
- setman.open(os.path.dirname(__file__) + "/config/settings.json")
- strg = storage()
- start = start_factory(setman.settings, strg)
- start.create()
- print(strg.data)
- app.run()
- if __name__ == "__main__":
- run()
|