How pomercier/sickshift works
SickShift is a SickGear-derived TV-library manager with a cinema-styled web experience and a dedicated dashboard. Users manage shows and episodes, track library and airing status, search for missing episodes, and can preview local video clips before watching. The graph separates the inherited management engine, dashboard and web experience, and external integrations. The README documents several capabilities whose implementation files were not sampled; those branches are shown at their supported directory level, and unverified internal links are omitted or marked dashed.
Main entry points: SickBeard.py Application · search.py Episode search · routes.py Dashboard routes · app.py Dashboard app
Components 17
Web experience
- Show management UI
gui/slick/js
Dashboard
- Dashboard app
sickshift_dashboard/app.py - Dashboard routes
sickshift_dashboard/routes.py - Dashboard services
sickshift_dashboard/services.py - Dashboard state
sickshift_dashboard/state.py - Local previews
sickshift_dashboard
TV management engine
- Application
SickBeard.py - Episode search
sickshift/search.py - Search queue
sickshift/search_queue.py - Release parser
sickshift/name_parser/parser.py - TV database
sickshift/databases/mainDB.py
External integrations
- FFmpeg tools
- Search providers
sickshift/providers/generic.py - Show metadata
lib/api_tvdb - Notifications
lib/apprise - Download clients
sickshift/clients
Other components
- TV library user
Connections 17
- TV library user → Show management UI: manages shows
- TV library user → Dashboard app: views library
- Dashboard app → Dashboard routes: registers routes
sickshift_dashboard/app.py - Dashboard app → Dashboard state: initializes state
sickshift_dashboard/app.py - Dashboard routes → Dashboard services: calls services
sickshift_dashboard/routes.py - Dashboard routes → Dashboard state: reads snapshot
sickshift_dashboard/routes.py - Dashboard routes → Local previews: requests preview
sickshift_dashboard/routes.py - Local previews → FFmpeg tools: encodes clips
- Application → Episode search: uses search engine
- Episode search → Search providers: queries providers
sickshift/search.py - Episode search → TV database: uses TV data
sickshift/search.py - Episode search → Search queue: dispatches searches
- Application → Show metadata: uses metadata
- Application → Notifications: supports notifications
- Application → Download clients: supports download clients
- Application → TV database: manages library data
- Episode search → Release parser: parses releases