Adds l4d2web/services/steam_workshop.py: parse_workshop_input (single ID, URL, or multi-line batch), resolve_collection (HTTPS POST to GetCollectionDetails), fetch_metadata_batch (HTTPS POST to GetPublishedFileDetails with consumer_app_id == 550 enforcement that raises WorkshopValidationError in add-mode and silently skips in refresh-mode), download_to_cache (atomic + idempotent on mtime+size), and refresh_all (ThreadPoolExecutor with per-item error collection). Adds requests as an explicit dependency. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
32 lines
608 B
TOML
32 lines
608 B
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "l4d2web"
|
|
version = "0.1.0"
|
|
description = "L4D2 web app"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"Flask>=3.0",
|
|
"SQLAlchemy>=2.0",
|
|
"alembic>=1.13",
|
|
"PyYAML>=6.0",
|
|
"gunicorn>=22.0",
|
|
"requests>=2.31",
|
|
]
|
|
|
|
[tool.setuptools]
|
|
packages = ["l4d2web", "l4d2web.routes", "l4d2web.services"]
|
|
|
|
[tool.setuptools.package-dir]
|
|
l4d2web = "."
|
|
|
|
[tool.setuptools.package-data]
|
|
l4d2web = [
|
|
"templates/*.html",
|
|
"static/css/*.css",
|
|
"static/js/*.js",
|
|
"static/vendor/*.js",
|
|
]
|