How drdon1234/jav-pilot works
JAV Pilot is a local-first web application for searching media sources, managing downloads, and organizing a media library. The main workflow runs from browser search through the HTTP API and source indexers, then into either qBittorrent or Web downloads; completed media is organized and enriched for media-server use. The README also documents rankings, resource search, translation, site diagnostics, and notifications. Some subsystem links reflect documented behavior and tree structure; unsampled implementation details are not asserted.
Main entry points: server.py HTTP server · torrents.py Torrent service · web_download/manager.py Web download manager · media_metadata/manager.py Metadata manager
Components 28
Web interface
- Application routes
frontend/src/App.tsx - API client
frontend/src/lib/api.ts
API and services
- HTTP server
jav_pilot/api/server.py - Search routes
jav_pilot/api/routes/search.py - Search service
jav_pilot/api/services/search_stream.py - Resource API
jav_pilot/api/routes/resource_search.py - Download routes
jav_pilot/api/routes/downloads.py - Web download routes
jav_pilot/api/routes/web_downloads.py - Translation
jav_pilot/api/services/translation.py - Site diagnostics
jav_pilot/api/services/site_diagnostics.py - Notifications
jav_pilot/api/services/notifications.py
Search and discovery
- Search engine
jav_pilot/search/engine.py - Source indexers
jav_pilot/indexers - Rankings
jav_pilot/search/rankings - Resource search
jav_pilot/search/resources/manager.py
Downloads
- Torrent service
jav_pilot/api/services/torrents.py - Batch manager
jav_pilot/web_download/batches/manager.py - Web download manager
jav_pilot/web_download/manager.py
Library and metadata
- Completed organizer
jav_pilot/torrent/organizer.py - Media library
- Metadata manager
jav_pilot/media_metadata/manager.py - Metadata review
jav_pilot/media_metadata/review/manager.py
Other components
- Browser user
- qBittorrent
- Video sites
- Media servers
- Translation providers
- Notification sinks
Connections 30
- Browser user → Application routes: uses
- Application routes → API client: requests data
- API client → HTTP server: HTTP requests
- HTTP server → Search routes: dispatches
- Search routes → Search service: starts search
- Search service → Search engine: runs search
- Search engine → Source indexers: queries sources
- Source indexers → Browser user: returns results
- HTTP server → Resource API: dispatches
- Resource API → Resource search: manages sessions
- HTTP server → Download routes: dispatches
- Download routes → Torrent service: submits torrents
- Torrent service → qBittorrent: controls tasks
- HTTP server → Web download routes: dispatches
- Web download routes → Batch manager: manages batches
- Batch manager → Web download manager: submits jobs
- Web download manager → Video sites: downloads media
- Torrent service → Completed organizer: completed tasks
- Web download manager → Completed organizer: completed media
- Completed organizer → Media library: archives media
- Media library → Metadata manager: provides media
- Metadata manager → Media servers: publishes NFO and artwork
- Metadata manager → Metadata review: supports review
- HTTP server → Rankings: serves rankings
- HTTP server → Translation: dispatches translation
- Translation → Translation providers: translates titles
- HTTP server → Site diagnostics: runs diagnostics
- Site diagnostics → Source indexers: checks sites
- HTTP server → Notifications: dispatches events
- Notifications → Notification sinks: pushes alerts