import json import os from pathlib import Path from http.server import BaseHTTPRequestHandler, HTTPServer # ĐẶT biến này đúng bằng mount path bạn chọn trong Space Settings MOUNT_PATH = os.getenv("BUCKET_MOUNT_PATH", "/data") def scan(base: str): p = Path(base) if not p.exists(): return { "exists": False, "path": base, "count": 0, "files": [] } files = [] for x in sorted(p.rglob("*")): if x.is_file(): st = x.stat() files.append({ "path": str(x.relative_to(p)), "size": st.st_size }) return { "exists": True, "path": base, "count": len(files), "files": files } class Handler(BaseHTTPRequestHandler): def do_GET(self): data = scan(MOUNT_PATH) body = json.dumps(data, ensure_ascii=False, indent=2).encode("utf-8") self.send_response(200) self.send_header("Content-Type", "application/json; charset=utf-8") self.send_header("Content-Length", str(len(body))) self.end_headers() self.wfile.write(body) def log_message(self, fmt, *args): print(fmt % args, flush=True) if __name__ == "__main__": data = scan(MOUNT_PATH) print("=== BUCKET_SCAN_START ===", flush=True) print(json.dumps(data, ensure_ascii=False, indent=2), flush=True) print("=== BUCKET_SCAN_END ===", flush=True) HTTPServer(("0.0.0.0", 7860), Handler).serve_forever()