From a560273c3fd4ef6f7cddf1632ffebe490afbcd48 Mon Sep 17 00:00:00 2001 From: C <0xicl33n@gmail.com> Date: Sat, 3 Jan 2026 15:51:24 -0800 Subject: [PATCH] we are branching again,...... --- .gitignore | 1 + .../webhook/gunicorn.conf.py | 8 +-- webhook_server.py => src/webhook/server.py | 2 +- .../webhook/test_square_webhook.py | 0 uv.lock | 57 +++++++++++++++++++ 5 files changed, 63 insertions(+), 5 deletions(-) rename gunicorn.conf.py => src/webhook/gunicorn.conf.py (92%) rename webhook_server.py => src/webhook/server.py (99%) rename test_square_webhook.py => src/webhook/test_square_webhook.py (100%) diff --git a/.gitignore b/.gitignore index 3479eff..c57aa41 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ activate/ build/ .pem .p7b +nginx/ \ No newline at end of file diff --git a/gunicorn.conf.py b/src/webhook/gunicorn.conf.py similarity index 92% rename from gunicorn.conf.py rename to src/webhook/gunicorn.conf.py index 53424c9..ef781e9 100644 --- a/gunicorn.conf.py +++ b/src/webhook/gunicorn.conf.py @@ -55,7 +55,7 @@ reload_engine = "auto" # Hooks def on_starting(server): """Called just before the master process is initialized.""" - print("🚀 StudSpider Webhook Server starting...") + print("Studspider WEB starting...") def on_reload(server): @@ -65,9 +65,9 @@ def on_reload(server): def when_ready(server): """Called just after the server is started.""" - print(f"✅ Server ready on {bind}") - print(f"📊 Workers: {workers}") - print(f"🔧 Worker class: {worker_class}") + print(f"STUDSPIDER HOOK v0.1 RUNNING ON {bind}") + print(f"WORKERS: {workers}") + print(f"WORKING CLASS: {worker_class}\n") def worker_int(worker): diff --git a/webhook_server.py b/src/webhook/server.py similarity index 99% rename from webhook_server.py rename to src/webhook/server.py index 1dc9e5a..dceda46 100644 --- a/webhook_server.py +++ b/src/webhook/server.py @@ -263,7 +263,7 @@ import uvicorn print("\n" + "=" * 60) - print("StudSpider Webhook Server - Development Mode") + print("Studspider webhook boot dev") print("=" * 60) print( f"Signature verification: {'ENABLED' if SQUARE_WEBHOOK_SIGNATURE_KEY else 'DISABLED'}" diff --git a/test_square_webhook.py b/src/webhook/test_square_webhook.py similarity index 100% rename from test_square_webhook.py rename to src/webhook/test_square_webhook.py diff --git a/uv.lock b/uv.lock index d806520..712874f 100644 --- a/uv.lock +++ b/uv.lock @@ -92,6 +92,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4d/3f/3bc3f1d83f6e4a7fcb834d3720544ca597590425be5ba9db032b2bf322a2/altgraph-0.17.4-py2.py3-none-any.whl", hash = "sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff", size = 21212, upload-time = "2023-09-25T09:04:50.691Z" }, ] +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + [[package]] name = "annotated-types" version = "0.7.0" @@ -239,6 +248,21 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b2/b7/545d2c10c1fc15e48653c91efde329a790f2eecfbbf2bd16003b5db2bab0/dotenv-0.9.9-py2.py3-none-any.whl", hash = "sha256:29cf74a087b31dafdb5a446b6d7e11cbce8ed2741540e2339c69fbef92c94ce9", size = 1892, upload-time = "2025-02-19T22:15:01.647Z" }, ] +[[package]] +name = "fastapi" +version = "0.128.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-doc" }, + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/08/8c8508db6c7b9aae8f7175046af41baad690771c9bcde676419965e338c7/fastapi-0.128.0.tar.gz", hash = "sha256:1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a", size = 365682, upload-time = "2025-12-27T15:21:13.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/05/5cbb59154b093548acd0f4c7c474a118eda06da25aa75c616b72d8fcd92a/fastapi-0.128.0-py3-none-any.whl", hash = "sha256:aebd93f9716ee3b4f4fcfe13ffb7cf308d99c9f3ab5622d8877441072561582d", size = 103094, upload-time = "2025-12-27T15:21:12.154Z" }, +] + [[package]] name = "frozenlist" version = "1.7.0" @@ -330,9 +354,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, { url = "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", size = 1149210, upload-time = "2025-08-07T13:18:24.072Z" }, + { url = "https://files.pythonhosted.org/packages/1c/53/f9c440463b3057485b8594d7a638bed53ba531165ef0ca0e6c364b5cc807/greenlet-3.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e343822feb58ac4d0a1211bd9399de2b3a04963ddeec21530fc426cc121f19b", size = 1564759, upload-time = "2025-11-04T12:42:19.395Z" }, + { url = "https://files.pythonhosted.org/packages/47/e4/3bb4240abdd0a8d23f4f88adec746a3099f0d86bfedb623f063b2e3b4df0/greenlet-3.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca7f6f1f2649b89ce02f6f229d7c19f680a6238af656f61e0115b24857917929", size = 1634288, upload-time = "2025-11-04T12:42:21.174Z" }, { url = "https://files.pythonhosted.org/packages/0b/55/2321e43595e6801e105fcfdee02b34c0f996eb71e6ddffca6b10b7e1d771/greenlet-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:554b03b6e73aaabec3745364d6239e9e012d64c68ccd0b8430c64ccc14939a8b", size = 299685, upload-time = "2025-08-07T13:24:38.824Z" }, ] +[[package]] +name = "gunicorn" +version = "23.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", size = 375031, upload-time = "2024-08-10T20:25:27.378Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", size = 85029, upload-time = "2024-08-10T20:25:24.996Z" }, +] + [[package]] name = "h11" version = "0.16.0" @@ -949,11 +987,14 @@ dependencies = [ { name = "asyncio-throttle" }, { name = "bs4" }, { name = "dotenv" }, + { name = "fastapi" }, + { name = "gunicorn" }, { name = "pyinstaller" }, { name = "pytest" }, { name = "reflex" }, { name = "requests" }, { name = "squareup" }, + { name = "uvicorn" }, ] [package.metadata] @@ -964,11 +1005,14 @@ requires-dist = [ { name = "asyncio-throttle", specifier = ">=1.0.2,<2.0.0" }, { name = "bs4", specifier = ">=0.0.2" }, { name = "dotenv", specifier = ">=0.9.9,<0.10.0" }, + { name = "fastapi", specifier = ">=0.128.0" }, + { name = "gunicorn", specifier = ">=23.0.0" }, { name = "pyinstaller", specifier = ">=6.14.1,<7.0.0" }, { name = "pytest", specifier = ">=8.4.2,<9.0.0" }, { name = "reflex", specifier = ">=0.8.14.post1" }, { name = "requests", specifier = ">=2.32.4,<3.0.0" }, { name = "squareup", specifier = ">=43.0.0.20250618,<44.0.0.0" }, + { name = "uvicorn", specifier = ">=0.40.0" }, ] [[package]] @@ -1022,6 +1066,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, ] +[[package]] +name = "uvicorn" +version = "0.40.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/d1/8f3c683c9561a4e6689dd3b1d345c815f10f86acd044ee1fb9a4dcd0b8c5/uvicorn-0.40.0.tar.gz", hash = "sha256:839676675e87e73694518b5574fd0f24c9d97b46bea16df7b8c05ea1a51071ea", size = 81761, upload-time = "2025-12-21T14:16:22.45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/d8/2083a1daa7439a66f3a48589a57d576aa117726762618f6bb09fe3798796/uvicorn-0.40.0-py3-none-any.whl", hash = "sha256:c6c8f55bc8bf13eb6fa9ff87ad62308bbbc33d0b67f84293151efe87e0d5f2ee", size = 68502, upload-time = "2025-12-21T14:16:21.041Z" }, +] + [[package]] name = "watchfiles" version = "1.1.1"