Scene Release Tracker Apr 2026
| Left column (80%) | Right column (20%) | |-------------------|--------------------| | table | Top groups today | | Release name (click for NFO) | 1. EVILBUD (12 releases) | | Group | Size | Age | 2. DTR (8 releases) | | Pagination | Live feed (websocket) showing new releases as they arrive |
@app.get("/api/releases", response_model=List[Release]) def get_releases(limit: int = 50): # Example: scrape predb.me RSS or JSON (if available) # Note: predb.me does not have official API, this is illustrative url = "https://predb.me/?rss=1" response = requests.get(url) # parse XML, extract titles like "Movie.Name.2024.1080p.WEB-DL.DDP5.1.EVILBUD" # then split by . to guess group (last part) releases = [] # ... parsing logic omitted for brevity return releases[:limit] scene release tracker
[IRC scraper] ─┐ [PreDB API] ─┼─→ [Normalizer] ─→ [PostgreSQL/DB] ─→ [Web Frontend] [RSS parser] ─┘ │ └──→ [Notification worker] CREATE TABLE releases ( id SERIAL PRIMARY KEY, release_name TEXT UNIQUE NOT NULL, category VARCHAR(20), -- movies, tv, music, games, apps, xxx group_name VARCHAR(50), size_mb INTEGER, release_date TIMESTAMP WITH TIME ZONE, nfo_preview TEXT, source_url TEXT, created_at TIMESTAMP DEFAULT NOW() ); CREATE INDEX idx_release_date ON releases(release_date DESC); CREATE INDEX idx_group_name ON releases(group_name); | Left column (80%) | Right column (20%)