πŸ“Ί Media Manager IndexedDB

← 1n2.org
0
Pending Requests
0
Active Subs
0
Total Imports
0
Total Episodes

🎬 Quick Add Movie Request

πŸ“Ί Quick Subscribe to TV Show

⚑ Quick Actions

πŸ–₯️ System Status

Plex Server
Checking...
Intake Folders
/Users/curiobot/Media/Intake
IndexedDB
Loading...

πŸ“‹ Recent Activity

No activity yet

🎬 Movie & TV Requests

Filter:
Type β–Ό Title β–Ό Year β–Ό Status β–Ό Date β–Ό Actions

πŸ“‘ TV Subscriptions

ShowStatusLast CheckedEpisodesActions

πŸ“Ί Episode Tracker

Show:

πŸ“Š Library Scanner

Scan your media library for quality analysis, orphan files, duplicates, and Apple library comparison. Mirrors plex_scanner.py.

βš™οΈ Configuration

Edit the web UI's local config. To update the Python backend, edit config.json directly.

πŸ”„ Sync with CLI

The web UI uses IndexedDB for standalone operation. The Python CLI uses SQLite (media.db). Use these tools to sync between them.

Export from Python SQLite β†’ Web UI:
python3 -c "import sqlite3,json;c=sqlite3.connect('media.db');print(json.dumps({'requests':[dict(zip(['id','type','title','year','status','requested_at','imported_at','file_path','notes'],r)) for r in c.execute('SELECT * FROM requests')],'subscriptions':[dict(zip(['id','show_name','active','subscribed_at','last_checked','notes'],r)) for r in c.execute('SELECT * FROM subscriptions')],'episodes':[dict(zip(['id','show_name','season','episode','file_path','imported_at','file_hash'],r)) for r in c.execute('SELECT * FROM episodes')],'imports':[dict(zip(['id','source_path','dest_path','file_hash','imported_at','file_size'],r)) for r in c.execute('SELECT * FROM imports')]}))" > export.json

Import Web UI data β†’ Python SQLite:
python3 -c "import sqlite3,json;d=json.load(open('export.json'));c=sqlite3.connect('media.db');[c.execute('INSERT OR IGNORE INTO requests (type,title,year,status,requested_at) VALUES (?,?,?,?,?)',(r['type'],r['title'],r.get('year'),r['status'],r.get('requested_at',''))) for r in d.get('requests',[])];c.commit()"

πŸ—„οΈ Database Management

IndexedDB size: calculating...
Records: --

πŸ“¦ Import History

0
Total Imports
0
Total Size
0
This Month
SourceDestinationDateSizeHash
Last scan: never
β€”
Plex Titles
β€”
Apple Titles
β€”
In Both
β€”
Import Candidates
β€”
Plex Library Size
β€”
Apple Library Size

πŸ“Š Library Overlap

🎬 Plex Resolution Breakdown

🍎 Import Candidates β€” in Apple but not Plex

Title β–ΎYearSize

πŸ”— In Both Libraries β€” quality comparison

Title β–ΎYearPlex ResPlex SizeApple SizeMatch

πŸ“‘ Plex Only β€” not in Apple library

Title β–ΎYearResolutionSize

πŸ“ Scan Log

No scans yet