import os from pathlib import Path from fastapi import Depends, FastAPI, UploadFile from .geojson2vt import geojson2vt #prepare data storage def set_storage(): storage_path = os.environ.get("STATE_DIRECTORY") if storage_path: try: os.mkdir(Path(storage_path, "geojsons")) except FileExistsError: pass try: os.mkdir(Path(storage_path, "vector_tiles")) except FileExistsError: pass return storage_path STORAGE_PATH = set_storage() app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World!"} @app.post("/upload/") async def create_upload_file(file: UploadFile): geojson2vt(file, storage_path=STORAGE_PATH) return {"filename": file.filename}