Skip to content
forked from z411/trackma

Open multi-site list manager for Unix-like systems. (ex-wMAL)

License

Notifications You must be signed in to change notification settings

MisterMcDuck/trackma

 
 

Repository files navigation

Trackma

Trackma aims to be a lightweight and simple but feature-rich program for Unix based systems for fetching, updating and using data from personal lists hosted in several media tracking websites.

Features

  • Manage local list and synchronize when necessary, useful when offline
  • Manage multiple accounts on different media tracking sites
  • Support for several mediatypes (as supported by the site)
  • Multiple user interfaces (Qt, GTK, curses, command-line)
  • Detection of running media player, updates list if necessary
  • Ability to launch media player for a requested media in the list and update list if necessary
  • Highly scalable, easy to code new interfaces and support for other sites
  • Secure, uses HTTPS wherever possible.

Currently supported websites

Screenshots

Qt interface

Qt

GTK interface

GTK

Curses interface

Curses

CLI

CLI

Dependencies

The only required dependency to run Trackma is:

  • Python 3.4/3.5
  • python3-pip (to install through pip) or python3-setuptools (to install through setup.py)

But only basic features will work (only CLI interface and no tracker). Everything else is optional.

The following user interfaces are available and their requirements are as follows:

UI Dependencies
Qt PyQt5 (python-pyqt5) or PyQt4 (python-qt4)
GTK 3 PyGI (python3-gi and python3-cairo)
curses Urwid (python3-urwid)
CLI None

The following media recognition trackers are available and their requirements are as follows:

Tracker Description Dependencies
inotify Instant, but only supported in Linux. Uses it whenever possible. inotify or pyinotify
Polling Slow, but supported in every POSIX platform. Fallback. lsof
Plex Connects to Plex server. Enabled manually. None
Kodi Connects to Kodi server. Enabled manually. None
Jellyfin Connects to Jellyfin server. Enabled manually. None
MPRIS Connects to running MPRIS capable media players. dbus-python
Win32 Recognition for Windows platforms. None

Additional optional dependencies:

  • PIL (python3-pil) - for showing preview images in the Qt/GTK interfaces.

Installation

Make sure you've installed the proper dependencies (listed above) according to the user interface you plan to use, and then run the following command:

# pip3 install Trackma

Or download the source code and install:

# git clone --recursive https://github.com/z411/trackma.git
# cd trackma
# sudo python3 setup.py install

Then you can run the program with the interface you like.

$ trackma
$ trackma-curses
$ trackma-gtk
$ trackma-qt

Trackma also has user-provided packages for several distributions.

A user from the community also is providing a Docker image:

Configuration

A configuration file will be created in ~/.config/trackma/config.json, make sure to fill in the directory where you store your video files and other settings. Details about what each option does can be done here:

https://github.com/z411/trackma/wiki/Configuration-File

Alternatively, the GTK and Qt interfaces provide a visual Settings panel.

Development

The code is hosted as a git repository in github:

http://github.com/z411/trackma

If you plan to make changes to the code, I suggest using the following method to install Trackma instead of the normal way, so the changes you make get reflected immediately:

# python3 setup.py develop

If you encounter any problems or have anything to suggest, please don't hesitate to submit an issue in the github issue tracker:

http://github.com/z411/trackma/issues

License

Trackma is licensed under the GPLv3 license, please see LICENSE for details.

Authors

Trackma was originally written by z411 [email protected]. For other contributors see AUTHORS file. GTK icon designed by shuuichi.

About

Open multi-site list manager for Unix-like systems. (ex-wMAL)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%