Mock fallback mantığını ve determinantik mock üretim kodlarını kaldırarak TurkceAltyazi sağlayıcısını tamamen gerçek moda geçirdi. İyileştirilmiş arama, indirme ve çerez yönetimi ile sağlam bir entegrasyon sağlandı. - MockArtifact ve deterministic modüllerini kaldır - TurkceAltyaziProvider'da mock fallback mantığını tamamen kaldır - HTTP çerez yönetimi, retry mantığı ve hata işleme iyileştirmeleri - ENABLE_TA_STEP_LOGS yapılandırması ile adım adım loglama - TURKCEALTYAZI_ALLOW_MOCK_FALLBACK ortam değişkenini kaldır - Dokümantasyonu gerçek mod reflektif olarak güncelle - OpenSubtitles sağlayıcını gerçek entegrasyon tamamlanana kadar pasif yap - Varsayılan kaynak etiketini 'mock' yerine 'unknown' olarak güncelle
83 lines
1.5 KiB
Markdown
83 lines
1.5 KiB
Markdown
# Mimari ve Is Akisi
|
|
|
|
## Servisler
|
|
|
|
## `services/core`
|
|
|
|
Sorumluluklar:
|
|
- Dizin izleme (`/media/tv`, `/media/movie`)
|
|
- Stabil dosya kontrolu
|
|
- Dosya adi parse
|
|
- ffprobe media analizi
|
|
- BullMQ pipeline orchestration
|
|
- Job/log API + SSE stream
|
|
- Review endpointleri
|
|
|
|
Queue'lar:
|
|
- `fileEvents`
|
|
- `mediaAnalysis`
|
|
- `subtitleFetch`
|
|
- `finalizeWrite`
|
|
|
|
Durumlar (ozet):
|
|
- `PENDING`
|
|
- `WAITING_FILE_STABLE`
|
|
- `PARSED`
|
|
- `ANALYZED`
|
|
- `REQUESTING_API`
|
|
- `FOUND_TEMP`
|
|
- `NORMALIZING_ENCODING`
|
|
- `WRITING_SUBTITLE`
|
|
- `DONE`
|
|
- `NEEDS_REVIEW`
|
|
- `NOT_FOUND`
|
|
- `AMBIGUOUS`
|
|
- `ERROR`
|
|
|
|
## `services/api`
|
|
|
|
Sorumluluklar:
|
|
- `/v1/subtitles/search`
|
|
- `/v1/subtitles/choose`
|
|
- archive extraction + guvenlik
|
|
- icerik tabanli SRT/ASS dogrulama
|
|
- scoring + best/ambiguous/not_found karari
|
|
- temp cleanup
|
|
|
|
Providerlar:
|
|
- `TurkceAltyaziProvider`
|
|
- `OpenSubtitlesProvider`
|
|
|
|
Not:
|
|
- TurkceAltyazi provider gercek HTTP+HTML akisi ile calisir.
|
|
- OpenSubtitles provider real entegrasyon tamamlanana kadar pasiftir.
|
|
|
|
## `services/ui`
|
|
|
|
Sayfalar:
|
|
- Dashboard
|
|
- Jobs
|
|
- Job Detail (SSE canli log)
|
|
- Review
|
|
- Settings
|
|
- Watched Paths
|
|
|
|
## Veri modeli (Mongo)
|
|
|
|
- `watched_paths`
|
|
- `settings`
|
|
- `media_files`
|
|
- `jobs`
|
|
- `job_logs`
|
|
|
|
## Uctan uca akis (movie ornegi)
|
|
|
|
1. Watcher `add/change` event yakalar.
|
|
2. `fileEvents` job olusur.
|
|
3. Stabil kontrol -> parse -> media kaydi.
|
|
4. `mediaAnalysis` ffprobe calistirir.
|
|
5. `subtitleFetch` API `search` cagirir.
|
|
6. API provider adaylarini indirir/isler.
|
|
7. best secilirse core `finalizeWrite` ile dosyayi yazar.
|
|
8. Job `DONE` olur, loglar UI'da canli akar.
|