configured initial yt-dlp worker fallback download location
This commit is contained in:
@@ -36,7 +36,7 @@ define the target architecture for a private backend yt-dlp worker with thin cha
|
||||
** notes
|
||||
- first architecture draft captured in `docs/architecture-v2.org`
|
||||
|
||||
* [ ] 2.0.1: build backend yt-dlp worker (3)
|
||||
* [X] 2.0.1: build backend yt-dlp worker (3)
|
||||
create the minimal backend/service skeleton and establish a working yt-dlp baseline with clean hooks for future frontends
|
||||
** pm notes
|
||||
- foundation; don't need the full finished service here, just the basic shape plus enough real yt-dlp execution to validate the seam and build on it.
|
||||
@@ -55,10 +55,13 @@ create the minimal backend/service skeleton and establish a working yt-dlp basel
|
||||
- submit/request path exists
|
||||
- status/progress hook exists
|
||||
- basic health/version visibility exists
|
||||
4f.
|
||||
4. make local testing practical without breaking container defaults
|
||||
- backend can run when `/config` or `/downloads` are not writable in local dev
|
||||
- env vars may override executable/config/download paths
|
||||
- status makes the effective runtime command/paths inspectable
|
||||
|
||||
** evidence
|
||||
- commit:
|
||||
- commit: 7926534,2a56485
|
||||
- tests:
|
||||
1. `python3 -m py_compile ./youdis/main.py ./youdis/models.py ./youdis/adapters/__init__.py ./youdis/adapters/discord.py`
|
||||
2. `python3 -m uvicorn youdis.main:app --host 127.0.0.1 --port 8000`
|
||||
@@ -73,11 +76,12 @@ create the minimal backend/service skeleton and establish a working yt-dlp basel
|
||||
11. if testing in container: `docker run --rm -p 8000:8000 -v [config]:/config -v [downloads]:/downloads youdis:v2`
|
||||
:OUTPUT_STEP1-9:
|
||||
user@paladin:~/proj/youdis$ curl http://127.0.0.1:8000/health
|
||||
{"status":"ok"}user@paladin:~/proj/youdis$
|
||||
user@paladin:~/proj/youdis$ curl http://127.0.0.1:8000/version
|
||||
{"version":"20250829-ec72c56","active_job":false}user@paladin:~/proj/youdis$
|
||||
{"status":"ok"}
|
||||
user@paladin:~/proj/youdis$ curl http://127.0.0.1:8000/version
|
||||
{"version":"20250829-ec72c56","active_job":false}
|
||||
user@paladin:~/proj/youdis$ curl -X POST http://127.0.0.1:8000/jobs -H 'content-type: application/json' -d '{"url":"https://www.youtube.com/watch?v=3i72yY_LaW4"}'
|
||||
{"job_id":"cc85165e-d906-4eee-864f-1a398b6de2e0","state":"accepted","url":"https://www.youtube.com/watch?v=3i72yY_LaW4","message":"accepted","phase":"queued","disposition":null,"requester_id":null,"requester_name":null,"origin":null,"result_path":null,"command":[],"returncode":null,"created_at":"2026-04-01T00:44:35.657196","updated_at":"2026-04-01T00:44:35.657198"}user@paladin:~/proj/youdis$ curl http://127.0.0.1:8000/jobs/current
|
||||
{"job_id":"cc85165e-d906-4eee-864f-1a398b6de2e0","state":"accepted","url":"https://www.youtube.com/watch?v=3i72yY_LaW4","message":"accepted","phase":"queued","disposition":null,"requester_id":null,"requester_name":null,"origin":null,"result_path":null,"command":[],"returncode":null,"created_at":"2026-04-01T00:44:35.657196","updated_at":"2026-04-01T00:44:35.657198"}
|
||||
user@paladin:~/proj/youdis$ curl http://127.0.0.1:8000/jobs/current
|
||||
{"active":false,"job":{"job_id":"cc85165e-d906-4eee-864f-1a398b6de2e0","state":"failed","url":"https://www.youtube.com/watch?v=3i72yY_LaW4","message":"ERROR: unable to create directory [Errno 13] Permission denied: '/downloads'","phase":null,"disposition":null,"requester_id":null,"requester_name":null,"origin":null,"result_path":null,"command":["yt-dlp","--config-locations","/home/user/proj/youdis/default-yt-dlp.conf","https://www.youtube.com/watch?v=3i72yY_LaW4"],"returncode":1,"created_at":"2026-04-01T00:44:35.657196","updated_at":"2026-03-31T20:44:36.653353"}}user@paladin:~/proj/youdis$
|
||||
:END:
|
||||
- datetime: [2026-03-31 Tue 20:45]
|
||||
@@ -87,7 +91,9 @@ user@paladin:~/proj/youdis$ curl -X POST http://127.0.0.1:8000/jobs -H 'content-
|
||||
- confirm `--config-locations` behavior against the installed `yt-dlp` version during integration testing
|
||||
- current backend scaffold is not yet wired into `dockerfile` or `run-youdis.sh`
|
||||
- archive-hit and result-path parsing currently depend on `yt-dlp` stdout text patterns, so treat them as provisional until integration-tested
|
||||
|
||||
- local dev now falls back to repo-local `.runtime/{config,downloads}` when `/config` or `/downloads` are not writable
|
||||
- had to uninstall yt-dlp python pkg from the venv, which resulted in a '403 Forbidden'
|
||||
|
||||
* [ ] 2.0.2: update discord bot to use new backend (3)
|
||||
update the discord bot into a thin frontend that talks to the backend and verify the flow end to end
|
||||
** pm notes
|
||||
|
||||
Reference in New Issue
Block a user