chorankates / dex

scripts to manage an SQLite database of movies / tv episodes.. includes a crawler to find media and metadata and a CGI interface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dex is a system to help manage large media collections. currently focused on movies and TV shows, but would like to integrate music at a later date.

it is composed of 3 parts:
	dex.cgi      - web application to view, update and search index
	dex-crawl.pl - cron script that looks for new media and adds it to the database
	dex.sqlite   - SQLite (orly?) database storing all text content

existing functionality:
	dex-crawl.pl
		- search multiple directories for all media types (everything except \.(txt|log|srt|nfo|jpg|png|htm|ico|idx|sub|mp3|sfv|pdf|ini|zip)$
		- keeps track of file size, modified time, media type, full file path
		- prevents duplicate additions by md5 hashing the filename as the key column
		- pulls meta-data from file names (movies only support year, but TV shows can include season number and ep name)
		- gets additional meta-data for movies from IMDB (year released, director, cover image, notes, summary, actors, genres) 
		- flags files containing 'bad' characters / other unwanted characteristics, skips adding them to the database (and logs the ffp out)
		- database functionality to remove moved/renamed/deleted files

	dex.cgi
		- allows search by any DB column (except tbl_stats), direct SELECT statements
			tbl_tv     => uid, show, season, episode, title, actors, genres, notes, wikipedia, cover, added, released, ffp
			tbl_movies => uid, title, director, actors, genres, notes, imdb, cover, added, released, ffp       
			tbl_stats  => uid, name, value
		- admin page displays dex-crawl_error.log


todo:
	- externalize configuration into XML / YAML so that it can be more easily shared across script
		- good progress here, but need to figure out the ForceArray/ForceContent magic we're looking for
		
	- finish get_wikipedia() implementation
	- add 'rescan' functions to admin console
	- display contents of tbl_stats on admin console
	- use HTML::TagCloud::Simple to show some clouds on landing page
	- build better search interface on landing page

About

scripts to manage an SQLite database of movies / tv episodes.. includes a crawler to find media and metadata and a CGI interface


Languages

Language:Perl 99.2%Language:Shell 0.8%