From d001c10efd81ab256eec1ffaf3c035f70073b7c5 Mon Sep 17 00:00:00 2001 From: Riley Housden Date: Fri, 11 Mar 2022 11:07:52 -0500 Subject: [PATCH] Remove MC optimizer router --- routers/mc_optimizer.py | 69 ----------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 routers/mc_optimizer.py diff --git a/routers/mc_optimizer.py b/routers/mc_optimizer.py deleted file mode 100644 index e3d3b88..0000000 --- a/routers/mc_optimizer.py +++ /dev/null @@ -1,69 +0,0 @@ -from __future__ import annotations - -from fastapi import APIRouter, HTTPException, Query -from fastapi.responses import StreamingResponse -from pathlib import Path -from datetime import datetime -from zipfile import ZipFile -import json - -from starlette.responses import FileResponse - - -router = APIRouter(prefix="/mc_optimizer") -ROOT_PATH = Path.home().joinpath(".radical_api/mc_optimizer") -ROOT_PATH.mkdir(exist_ok=True) - -class PackFile: - def __init__(self, file: Path) -> None: - self.file = file - self.manifest = self.set_manifest() - self.datetime = datetime.strptime(self.manifest['build-date'], "%d-%m-%Y-%H%M%S") - self.build = self.manifest['build'] - - def set_manifest(self): - zf = ZipFile(self.file) - return json.loads(zf.read("manifest.json").decode("utf-8")) - - def __lt__(self, other: PackFile): - return self.datetime.__lt__(other.datetime) - -def iterfile(path: Path): - with path.open('rb') as fp: - yield from fp - -@router.get("/download/latest") -def latest_pack(): - files = [] - for file in ROOT_PATH.iterdir(): - files.append(PackFile(file)) - files.sort() - if len(files) == 0: - raise HTTPException(404, "No files found.") - return FileResponse(files[-1].file, filename=f"mc-optimizer-pack-{files[-1].build}.zip") - -@router.get("/download/build") -def get_build(build: int): - for file in ROOT_PATH.iterdir(): - pf = PackFile(file) - if pf.build == build: - return FileResponse(pf.file, filename=f"mc-optimizer-pack-{pf.build}.zip") - raise HTTPException(404, "Build not found.") - -@router.get("/manifest/latest") -def get_latest_manifest(): - files = [] - for file in ROOT_PATH.iterdir(): - files.append(PackFile(file)) - files.sort() - if len(files) == 0: - raise HTTPException(404, "No files found.") - return files[-1].manifest - -@router.get("/manifest/builds") -def get_builds(): - builds = [] - for file in ROOT_PATH.iterdir(): - pf = PackFile(file) - builds.append(pf.manifest) - return builds \ No newline at end of file