Релиз целиком: вход по ссылке, агрегат студий/типов/18+, малая int8-модель
- src/fetch.py: загрузка по URL (allowlist трекеров, защита от SSRF, cp1251)
- src/release.py: агрегат релиза, студии из заголовка раздачи (ПМ (LostFilm))
- predict --url, POST /predict {"url"}; ответ расширен, tracks сохранён
- export_onnx --quantize: tiny2 int8 29 МБ, parity 99.2-100%
- тесты (52 ok), docs/plan.md, docs; target/ убран из git
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
1 parent
98e4031037
commit
8cbd800ec7
2473 files changed
+424
-6060
No files matched your search
@@ -20,6 +20,29 @@ python -m src.predict --file page.txt --out result.json --model models/base
|
||||
HTML распознаётся по содержимому, так что `--html` и `--file`
|
||||
взаимозаменяемы.
|
||||
|
||||
## Ссылка на раздачу и агрегат релиза
|
||||
|
||||
```bash
|
||||
python -m src.predict --url https://rutracker.org/forum/viewtopic.php?t=123
|
||||
python -m src.predict --url https://kinozal.tv/details.php?id=1 --cookie "uid=..; pass=.."
|
||||
```
|
||||
|
||||
Поддерживаются только rutracker / kinozal / nnm-club (allowlist доменов,
|
||||
редиректы за его пределы запрещены). Для `--html`, `--file` и `--url` ответ —
|
||||
агрегат релиза: к `tracks` добавлены
|
||||
|
||||
| Поле | Описание |
|
||||
|---|---|
|
||||
| `studios` | уникальные `{studio, translation_type, is_18plus}` |
|
||||
| `translation_types` | отсортированный список типов релиза |
|
||||
| `is_18plus` | `true`, если 18+ хотя бы у одной дорожки |
|
||||
| `title` | заголовок раздачи (если найден в HTML) |
|
||||
| `tracker` | только для `--url` |
|
||||
|
||||
Дорожки дедуплицируются по (тип, студия). Студии из заголовка раздачи вида
|
||||
`ПМ (LostFilm)`, которых нет в описании, добавляются с `source: "title"`
|
||||
(у остальных `source: "page"`). `--text` по-прежнему возвращает только `tracks`.
|
||||
|
||||
## Python API
|
||||
|
||||
```python
|
||||
|
||||
Reference in new issue
Block a user