= Usecases = - Get a list of highest rated films (top n) - Get unrated films not seen for a long time - Get highest rated films not seen for a long time - Update that a film was seen - Add/Change score of a film = Requirements = - SEEN file shall be next to movies - SEEN file shall be line based - SEEN file shall have a white space separated keyword in every line - Allows you to store score (+ notes) - Allows you to store video and audio quality (+ notes) = Decisions = == File Format == Decision: Use a human read and writeable file next to the film Positions: - Use smplayers file_config database (not much activity there, unclear if patch is taken: see irc.log) - Use sql database (heavy dependency, not editable directly in movie folder) - Use SEEN text file Assumption: - Films are all placed in folders each - Rating is mainly for films also available, garbage films are handled differently (just in an unrated list) Rationale: - Very handy - Implementation done already - Can be directly edited if needed Implications: - Filesystem iterator needed for "database" access - will not scale to millions of films == IMDB Access == Decision: Do not reimplement or use imdb for scoring, but just as supplement for movie information. Positions: - Directly use IMDB for scoring - imdb-tools (shell scripts based on curl) - Implement something python with python-imdbpy http://www.webupd8.org/2012/03/lm-lists-imdb-information-for-your.html Assumption: - I do not want to share a full list of all movies I have seen or like - I want to jump to any platform if desired = Architecture = seen will be implemented as library and (multiple) console tools. It can be supplemented with shell scripts which additionally download covers, imdb information and similar. == Technologies == Will use boost internally for: - Commandline arguments - Iterating Filesystem - Other important stuff not in C++11 Shell scripts for initializing new films, e.g. download cover subdownloader, dlsub, or smplayer build-in functionality to download subtitles imdb-tools for downloading imdb information == Library == The library can be used to be embedded into movie players which will be able to read and write the seen file then. == Artifacts == libseen: implements all the functionality seen-generate: ask interactively for some information to be added to the file seen-top-movies: generate csv file which contains the top movies seen-tips: generate a list of not seen or long not seen films which are good rated or unrated = Planning = - seen-generate - basic functionality 0,5h - add current films recently seen 0,5h - improvements of missing functionality, add requirements 1h - seen-top-movies - Elektra integration 0,5h - Use configuration for how top movies, which columns (see code Elektra's generator) xh - iterate over all SEEN+buildup global database 2h - sorting scores + writeout csv 1h - implementing substitute to current odt 1h - seen-tips - add SEEN to older films to have some test data 1h - implement commandline arguments (with elektra's fallback?) 1h - implement algorithm 1h