A program to organize your movies collection https://www.autistici.org/interzona/fulci.html

cage 210826f209 - changed package name: from 'cl-colors' to 'cl-colors2'. 5 months ago
data 5e8899ae6d - added feature: download movie from url. 1 year ago
m4 cc8b7dbe4c - initial release. 1 year ago
po 23ef3d120c - updated file's list that contains strings that could be 8 months ago
src 210826f209 - changed package name: from 'cl-colors' to 'cl-colors2'. 5 months ago
.gitignore 9f2a54869a - added building script. 1 year ago
COPYING cc8b7dbe4c - initial release. 1 year ago
ChangeLog cc8b7dbe4c - initial release. 1 year ago
LICENSES.org 2359571b9d - removed the right misplaced URL. 1 year ago
Makefile.am 5e8899ae6d - added feature: download movie from url. 1 year ago
Makefile.in 5e8899ae6d - added feature: download movie from url. 1 year ago
README.org cad279ce0f - checking openssl (both lib and C header) and pslib header in configure; 1 year ago
README.txt cad279ce0f - checking openssl (both lib and C header) and pslib header in configure; 1 year ago
aclocal.m4 9f2a54869a - added building script. 1 year ago
compare_version.awk cc8b7dbe4c - initial release. 1 year ago
compile 9f2a54869a - added building script. 1 year ago
config.guess 9f2a54869a - added building script. 1 year ago
config.rpath cc8b7dbe4c - initial release. 1 year ago
config.sub 9f2a54869a - added building script. 1 year ago
configure cad279ce0f - checking openssl (both lib and C header) and pslib header in configure; 1 year ago
configure.ac cad279ce0f - checking openssl (both lib and C header) and pslib header in configure; 1 year ago
fulci.asd 1f2417558f - added missing dependency: cl-lex; 7 months ago
install-sh 9f2a54869a - added building script. 1 year ago
missing 9f2a54869a - added building script. 1 year ago
quick_quicklisp.sh.in 1f2417558f - added missing dependency: cl-lex; 7 months ago

README.org

Introduction

Fulci aims to be a simple software to organize your dvd/blu-ray/vcd collection.

Features

  • Adding titles or copies and perform search with an
  • [[Searching][expression language]];
  • generating barcode to identify a copy of a movie;
  • optionally import data from Wikipedia

Dependency

Programs

  • sbcl compiler;
  • sqlite3;
  • wish graphical shell (>= 8.6);
  • GIMP;
  • gv (postscript viewer).

Libraries

C

  • libsqlite3
  • pslib1
  • libssl

It is recommended to install both the libraries and their headers file (usually the *-dev package).

Common Lisp

The script (see Install) provided will download and install all the needed libraries:

  • alexandria;
  • cl-ppcre;
  • sqlite;
  • sxql;
  • yacc;
  • parse-number;
  • cl-syntax;
  • lquery;
  • local-time;
  • osicat;
  • cl-colors2;
  • nodgui;
  • drakma;
  • log4cl;
  • clunit2;
  • cl-i18n;
  • cl-jpeg;
  • cl-json;
  • osicat;
  • babel;
  • marshal;
  • cl-pslib;
  • cl-pslib-barcode;
  • cl-csv.

Install

  1. optional step needed only if you have not already the configure script,
  2. you will need ~autotools~ for that.

#+BEGIN_SRC sh $ autoreconf -fiv #+END_SRC

  1. run configure and resolve the missing dependencies (if any)

#+BEGIN_SRC sh $ ./configure #+END_SRC

  1. This script will download and install the library manager and the
  2. library on your home dir.

#+BEGIN_SRC sh $ ./quick_quicklisp.sh #+END_SRC

This step is optional if you have already installed quicklisp, in this case just load the dependencies using the client installed on your computer.

  1. build the executable:

#+BEGIN_SRC sh $ make #+END_SRC

  1. install on your system:

#+BEGIN_SRC sh $ make install #+END_SRC

  1. run the software!

#+BEGIN_SRC sh $ fulci #+END_SRC

Usage

Searching

Search movie copies

Type a search criteria to start a searching matching the string you typed in any field of a movie copy object. You can start a query with an < followed by a number to lookup the latest n copies inserted into the database.

Finally you can use a simple expression language if your query starts with a: ~!~ (BNF following):


 EXPRESSION    := EXPRESSION AND EXPRESSION |
                  EXPRESSION OR  EXPRESSION |
                  '(' EXPRESSION ')'        |
                  TERM
 TERM          := KEY = VALUE | KEY < VALUE | KEY > VALUE
 KEY           := 'director' | 'year' | 'title' | 'note' | 'tags' | 'genres' | 'country' |
                  'building' | 'room' | 'storage' | 'shelf'
 VALUE         := [a-z,A-Z,0-9,%]
 AND           := 'and'
 OR            := 'or'
 =             := '='
 <             := '<'
 >             := '>'

Example:

All the horror movie stored in room 237 or ~1408~:



! room = 237 or room = 1408

Searching titles

For searching a title you can type a string to search in any field or you can use a simple expression language similar as can be done for copies.



 EXPRESSION    := EXPRESSION AND EXPRESSION |
                  EXPRESSION OR  EXPRESSION |
                  '(' EXPRESSION ')'        |
                  TERM
 TERM          := KEY = VALUE | KEY < VALUE | KEY > VALUE
 KEY           := 'director' | 'year' | 'title' | 'note' | 'tags' | 'genres' | 'country'
 VALUE         := [a-z,A-Z,0-9,%]
 AND           := 'and'
 OR            := 'or'
 =             := '='
 <             := '<'
 >             := '>'

Example:

All the horror movie from Lucio Fulci



! director = lucio%fulci and genres = horror

where % means: "a variable number of any character".

Import data from imdb

People at IMDB (Internet Movie Database) are kind enough to provide a dump of their database in Tab separated format value. This software can import those data to build a very comprehensive local database.

Just download the data, unzip, and follow the instruction under ~Import > From TSV~.

Please note that the license to use the aforementioned data is restrictive (from a FLOSS POV), check the license before use the data.

Import data from Wikipedia

Fulci can fetch movie data and movie image from Wikipedia when a title is added or updated.

Please note that even if the movie textual data (director, run-time) are usually released under a permissive license often the image data are not, it is the user responsibility to comply with their local copyright law when this data are used.

In any case please do not distribute this program together with a database built on top of non redistibutable data. If i discover that this happened i will remove the software from my repository.

The others features of the software supposed to be simple to grok i think.

Notes

  • only SBCL compiler is supported;
  • please do not ask for features that are a violation of a website
  • terms of service (scraping a website that does not allow that, for example);
  • please also do not ask for features that make the program
  • interacts with website that wants an user account creation as a precondition to allow access to the data, i do not want this software to support users profiling/tracking;
  • I am not a lawyer.

Important note

Older version of the software stored database in: $HOME/.fulci, but starting from version 0.9.1 it is stored under: ~$XDG_DATA_HOME/fulci/~, if $XDG_DATA_HOME is not set on your system ~$HOME/.local/share~ is used.

BUGS

Please file bug reports on the notabug repository.

Translations

language progress note
italian 100%

You are very welcome to help with translations, the translation template can be found in po/fulci.pot in gettext format, there are a bunch of free software editor to work with this file or you can just use emacs.

License

This program is released under GNU General Public license version 3 or later (see COPYING file).

The program use data and code from other sources, please see LICENSES.org for credits.

Although any efforts has been put to make the list of credits exhaustive, errors are always possible. Please send correction to cage-dev at twistfold dot it.

Privacy

This software does collect nothing from its users in places different from their local computer.

But it does start some https connections to the Wikipedia servers; this feature is totally optional and started only after an explicit user action. However if you plan to use this feature please check the Wikipedia privacy policy before.

Moreover launching quick_quicklisp.sh will contact https://www.quicklisp.org/, check the quicklisp sources for details.

Contributing

Any help is appreciated. If you intend to contribute please point your browser to the issue tracker or file a pull request.

NO WARRANTY

fulci: a program to organize your movies collection Copyright (C) 2019 cage

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.