A really KISS movie catalog software
Project description
Kolekto is a really KISS movie catalog software.
Features:
Cool CLI interface (and maybe a web interface to browse collection later)
Able to query The Movie Database to collect metadata about movies
Able to get informations from files itself depending of the container (title, quality, runtime…)
As simple as possible: all movies are stored in a directory, a berkley database store the metadata for each movie, and a bunch of symlink are created depending of the patterns set in the config file (“by actors”, “by title”…)
Easy to extend, really!
Setup
The fastest and more common way to install Kolekto is using pip:
pip install kolekto
Debian
If you use Debian Sid, you can also use the Tecknet repositories. Add theses lines in your /etc/apt/source.list file:
deb http://debian.tecknet.org/debian sid tecknet deb-src http://debian.tecknet.org/debian sid tecknet
Add the Tecknet repositories key in your keyring:
# wget http://debian.tecknet.org/debian/public.key -O - | apt-key add -
Then, update and install the kolekto package:
# aptitude update # aptitude install kolekto
Tutorial
Create your Kolekto tree:
$ mkdir /tmp/kolekto_test && cd /tmp/kolekto_test $ kolekto init Initialized empty Kolekto tree in /tmp/kolekto_test/
Check that the tree has been properly created:
$ kolekto list
Look at the .kolekto directory created:
$ tree -a . └── .kolekto ├── config ├── metadata.db └── movies 2 directories, 2 files
The config file is the config file of the tree (not a joke!), the metadata.db file is the berkley database storing metadata for each movie in the tree, and the movies directory is where to store movies themselves.
You can edit the config file using the following command:
$ kolekto config
It will just launch your favorite editor.
There is two types of section in the config file, views and datasources. Before to import movies, uncomment the tmdb section and fill the API key. You can get it after a signup on themoviedb.org. I will come back to the views later.
Now, import a movie:
$ kolekto import ~/Sintel.mkv Title to search [Sintel]? Please choose the relevant movie for the file: Sintel.ogv [1] Sintel (2010) by Colin Levy [tmdb] [2] Enter manually informations [3] None of these Choice [1-3]? 1 Do you want to edit the movie metadata [y/N] Copying movie in kolekto tree... 100% [=====================================] 420.31 M/s | Time: 00:00:01
Check that your movie has been imported:
$ kolekto list 3bb8414b6f70e5125e2092a3d96b483088a2283d Sintel (2010) by Colin Levy
You can show more informations about the movie:
$ kolekto show 3bb8414b6f70e5125e2092a3d96b483088a2283d title: Sintel directors: Colin Levy year: 2010 cast: Halina Reijn Thom Hoffman writers: Esther Wouda collection: Blender Open Movies genres: Animation Fantasy Short title_fi: Sintel - Hiillos title_nl: Durian Open Movie Project score: 1162.625 quality: 720p container: Matroska ext: mkv runtime: 14 _datasource: tmdb _tmdb_id: 45745
Now reopen the config file (using kolekto config), and add another view called "Example" with this pattern: '{genres}/{year}/{quality}/{title}.{ext}':
view 'Example' { pattern = '{genres}/{year}/{quality}/{title}.{ext}' }
The following command will create symlinks for each view defined in your config file:
$ kolekto link Found 0 links to delete, 4 links to create
Inspect your Kolekto tree for the newly created links:
$ tree . ├── Example │ ├── Animation │ │ └── 2010 │ │ └── 720p │ │ └── Sintel.mkv -> ../../../../.kolekto/movies/3bb8414b6f70e5125e2092a3d96b483088a2283d │ ├── Fantasy │ │ └── 2010 │ │ └── 720p │ │ └── Sintel.mkv -> ../../../../.kolekto/movies/3bb8414b6f70e5125e2092a3d96b483088a2283d │ └── Short │ └── 2010 │ └── 720p │ └── Sintel.mkv -> ../../../..kolekto/movies/3bb8414b6f70e5125e2092a3d96b483088a2283d └── Titles └── Sintel.mkv -> ../.kolekto/movies/3bb8414b6f70e5125e2092a3d96b483088a2283d 11 directories, 4 files
You can use the --help option to see all available commands.
Changelog
v1.3 released on 15/06/2014
Added new markup based text formatting
Better cleaning of titles before to search
Added rewrite datasource
Added configurable listings
Added cache on mediainfos datasource
Now use Configure instead of Dotconf (project has been renamed)
Now cleanup empty directories on link
Now show quamity on output of find-duplicates
Removed debian packaging from upstream repository
Removed globbing feature of importer command (let shell do its work)
Fixed edit command
v1.2 released on 09/12/2013
Added command profile system (first step to supporting tv shows)
Added multiple patterns in a single view
Added a progress bar on link generation operation
Fixed bad usage of Dotconf API
Fixed duplicate link problem
Fixed creating parent directories on link even with dry-run
Fixed config command with a non-ascii config file
Fixed symlink to be relative to movies pool on import
v1.1 released on 27/07/2013
Try to clean the filename before to search it on TMDB
Added auto mode in import command (unattended import of movies)
Import command now show gathered informations before to import movies
Added the tmdb_votes field on movies
Added the ability to delete original files after importing
Added field alternative in view patterns (eg: {title_fr|original_title})
Added default values on field alternatives (eg: {watched|”Unwatched”})
Added watch, fav and crap commands
Added ability to select movies using a file path instead of movie hash directly (eg: kolekto show ./Titles/mymovie.mkv)
Added the ability to import movies using a symlink instead of copying or hardlinking them
Added the edit command (manual edit of a movie)
Better error reporting
Fixed a lot of bugs
v1.0 released on 28/02/2013
Initial release
Legal
Kolekto is released under MIT license, copyright 2013 Antoine Millet.
Contribute
You can send your pull-request for Kolekto through Github:
I also accept well formatted git patches sent by email.
Feel free to contact me for any question/suggestion/patch: <antoine@inaps.org>.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file kolekto-1.3.tar.gz
.
File metadata
- Download URL: kolekto-1.3.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42c422d493497477a444fe563dc9aa0dd5a7d99c93db65ba6435b9356493f336 |
|
MD5 | 7c3060db2897f9c8370497ec5a477375 |
|
BLAKE2b-256 | 97876bdb3e4a6d52acf99508d3009b0652083892ab8a31f32b9832caf56f9875 |
File details
Details for the file kolekto-1.3.linux-x86_64.tar.gz
.
File metadata
- Download URL: kolekto-1.3.linux-x86_64.tar.gz
- Upload date:
- Size: 52.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0df179eb5254466afc528b9b4779b68a7af17762322b7a74fab31cd0a0e8ce61 |
|
MD5 | fd9d985075e89913b36ff2ebd9580fb2 |
|
BLAKE2b-256 | 3bb06cae35f6ca5b8a94703200eb2314416b5e22954f748897aa6558b77fd385 |
File details
Details for the file kolekto-1.3-py2.7.egg
.
File metadata
- Download URL: kolekto-1.3-py2.7.egg
- Upload date:
- Size: 76.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d370a6f4c7e6dd86cf104a79eacbb837374b6d7e822a64a5bc4b81ec26ca705 |
|
MD5 | 14d3dfc90c54641131850b7e2cea20ac |
|
BLAKE2b-256 | 87e682f594e5d3cdf180b3dd4eb4a67d9d1271faf032a612b084d08d15f7bfc8 |