From bc1edc6fdffa59d95afc5957a3d929e2796603cd Mon Sep 17 00:00:00 2001 From: Mike McGhen Date: Tue, 16 Sep 2025 17:28:47 -0400 Subject: [PATCH] Initial Push --- server.log | 1 + server.py | 51 ++++++++++++++++++ wonder_gen4/Manaphy Egg [PPorg].pgt | Bin 0 -> 260 bytes ...148 Summer Shiny Dialga ENG-US [PPorg].pgf | Bin 0 -> 204 bytes wonder_gen5/2046 Liberty Pass ENG [PPorg].pgf | Bin 0 -> 204 bytes 5 files changed, 52 insertions(+) create mode 100644 server.log create mode 100644 server.py create mode 100644 wonder_gen4/Manaphy Egg [PPorg].pgt create mode 100644 wonder_gen5/148 Summer Shiny Dialga ENG-US [PPorg].pgf create mode 100644 wonder_gen5/2046 Liberty Pass ENG [PPorg].pgf diff --git a/server.log b/server.log new file mode 100644 index 0000000..564ee64 --- /dev/null +++ b/server.log @@ -0,0 +1 @@ +[2025-09-15 19:05:32] Gen4 send Manaphy Egg [PPorg].pgt to 192.168.0.34 diff --git a/server.py b/server.py new file mode 100644 index 0000000..ea707d5 --- /dev/null +++ b/server.py @@ -0,0 +1,51 @@ +from flask import Flask, request, send_file, abort, jsonify +import os, random, time + +BASE = os.path.dirname(os.path.abspath(__file__)) +GEN4_DIR = os.path.join(BASE, "wonder_gen4") +GEN5_DIR = os.path.join(BASE, "wonder_gen5") +LOGFILE = os.path.join(BASE, "server.log") + +app = Flask(__name__) + +def log(msg): + ts = time.strftime("%Y-%m-%d %H:%M:%S") + line = f"[{ts}] {msg}\n" + print(line, end="") + with open(LOGFILE, "a") as f: + f.write(line) + +def list_files(folder, exts): + return [f for f in os.listdir(folder) if any(f.lower().endswith(e) for e in exts)] + +@app.route("/") +def index(): + return "Pokémon Wonder Card Server running" + +@app.route("/gen4") +def gen4(): + files = list_files(GEN4_DIR, [".pcd", ".pgt"]) + if not files: return abort(404, "No Gen4 files") + chosen = request.args.get("file") or random.choice(files) + if chosen not in files: return abort(404, "File not found") + log(f"Gen4 send {chosen} to {request.remote_addr}") + return send_file(os.path.join(GEN4_DIR, chosen), mimetype="application/octet-stream") + +@app.route("/gen5") +def gen5(): + files = list_files(GEN5_DIR, [".pgf"]) + if not files: return abort(404, "No Gen5 files") + chosen = request.args.get("file") or random.choice(files) + if chosen not in files: return abort(404, "File not found") + log(f"Gen5 send {chosen} to {request.remote_addr}") + return send_file(os.path.join(GEN5_DIR, chosen), mimetype="application/octet-stream") + +@app.route("/list") +def list_all(): + return jsonify({ + "gen4": list_files(GEN4_DIR, [".pcd", ".pgt"]), + "gen5": list_files(GEN5_DIR, [".pgf"]) + }) + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=80) diff --git a/wonder_gen4/Manaphy Egg [PPorg].pgt b/wonder_gen4/Manaphy Egg [PPorg].pgt new file mode 100644 index 0000000000000000000000000000000000000000..254c92a445734e19692458fb44e2a4b3b52a3ea7 GIT binary patch literal 260 zcmZQ)fB;4?#Uek0YxfeTKHbf2N1i@dF)^a`U9+HccYlVQ-EvM)MzpA9GY(^ZwE{`A3y2 zw*B(jX|BuTdCx5T=Opt=YbCp7(%R_<_tj?m$Vz0$VMqs(3Jhrs`3yxsIub~iGAQD*4{QSigD}Tk O_9+Z5jEo2uqp$!Ob4zdl literal 0 HcmV?d00001 diff --git a/wonder_gen5/2046 Liberty Pass ENG [PPorg].pgf b/wonder_gen5/2046 Liberty Pass ENG [PPorg].pgf new file mode 100644 index 0000000000000000000000000000000000000000..f7bd0314e6c5bf42dd22682ead0b437ade36d6c6 GIT binary patch literal 204 zcmcCxVxTE-XGmozVNd|#3?NH^!G|G}AqmJT0*X`u`2h@x48=gG$nc*4U|?WjzRmuR K-Gzw}hl>G0z$vN# literal 0 HcmV?d00001