From bf6fffd52c1ddf113f299df30ec4dfcdf6c39b79 Mon Sep 17 00:00:00 2001 From: "Vasily.onl" Date: Mon, 23 Jun 2025 12:01:06 +0800 Subject: [PATCH] fileserver --- requirements.txt | Bin 442 -> 484 bytes simple_server.py | 97 ++++++++++++++++++++++++++++++++++++++--------- static/script.js | 15 ++++++++ 3 files changed, 95 insertions(+), 17 deletions(-) create mode 100644 static/script.js diff --git a/requirements.txt b/requirements.txt index 3e391e08cdbad83c1d8609675a5118cd7ecb0b22..793be08128aa33f19acfa23340d999a4fae9b6ca 100644 GIT binary patch delta 136 zcmdnR{DgUe+C&YLiE(0*Tnu>(r3|?Y1q_u8wm@japa;fg6DP_}++a2FjnrfgMy1I* zj1rUG8099X0dX6nfeRNy8bcyOF+&NEEMUk4Yc&9BH3UOF1_K5zps{5@nPi51h9aOP OAj3f_jKQQKP#yqs>KhFJ delta 115 zcmaFDyo-5)8YAySRZ~e`1}=t7h7^W8hC~KiAT(ysV=!beVBnpYFAY@DDGMZ)S_6su yAns3PM&8NNjFO5VZ6yp + {relative_path} ({file_size:.3f} GB) + Download + + + """ + except Exception as e: + files_html += f"
  • Error accessing {relative_path}: {e}
  • " + + return f""" + + + Files in Directory + + + +

    Files in {DIRECTORY}

    + +

    Back to Home

    + + + """ + +@app.delete("/delete_file/{filename}") +async def delete_single_file(filename: str): + file_path = os.path.join(DIRECTORY, filename) + if os.path.exists(file_path): + try: + os.remove(file_path) + return {"message": f"File {filename} deleted successfully.", "status": "deleted"} + except Exception as e: + raise HTTPException(status_code=500, detail=f"Error deleting file {filename}: {e}") + else: + raise HTTPException(status_code=404, detail=f"File {filename} not found.") + +@app.get("/") +async def root(): + return HTMLResponse(""" + + + Market Data Server + + + +

    Market Data Server

    +

    Welcome to the Market Data Server.

    +

    Database Files

    +

    Access database files directly via /data/your_file.db

    +

    List Files

    + + + """) if __name__ == "__main__": - run() \ No newline at end of file + uvicorn.run(app, host="0.0.0.0", port=PORT) \ No newline at end of file diff --git a/static/script.js b/static/script.js new file mode 100644 index 0000000..c2d6397 --- /dev/null +++ b/static/script.js @@ -0,0 +1,15 @@ +async function deleteFile(filename) { + if (confirm('Are you sure you want to delete ' + filename + '?')) { + const response = await fetch(`/delete_file/${filename}`, { method: 'DELETE' }); + const data = await response.json(); + alert(data.message); + if (response.ok) { + location.reload(); // Reload the page to update the file list + } + } +} + +// Initial check when page loads +document.addEventListener('DOMContentLoaded', () => { + // No archive functions needed now +}); \ No newline at end of file