Trackma
Trackma旨在成为一个轻量级、简单但功能丰富的Unix系统程序,用于从多个媒体追踪网站获取、更新和使用个人列表数据。
特点
- 管理本地列表并在必要时同步,离线时很有用
- 管理不同媒体追踪网站上的多个账户
- 支持多种媒体类型(根据网站支持情况)
- 多种用户界面(Qt、GTK、curses、命令行)
- 检测正在运行的媒体播放器,必要时更新列表
- 能够为列表中请求的媒体启动媒体播放器,并在必要时更新列表
- 高度可扩展,易于编码新界面和支持其他网站
- 安全,尽可能使用HTTPS
当前支持的网站
- Anilist(动画、漫画)
- Kitsu(动画、漫画、剧集)
- MyAnimeList(动画、漫画)
- Shikimori(动画、漫画)
- VNDB(视觉小说)
截图
Qt界面
GTK界面
Curses界面
命令行界面
依赖项
运行Trackma的唯一必需依赖项是:
- Python 3.8+
python3-requests
- 安装时需要:
python3-pip
(通过pip
安装)或python3-poetry
(通过poetry
安装)
但只有基本功能可用(仅命令行界面且无追踪器)。其他所有功能都是可选的。
以下用户界面可用,它们的要求如下:
界面 | 依赖项 |
---|---|
Qt | PyQt5(python-pyqt5 ) |
GTK 3 | PyGI(python3-gi 和python3-cairo ) |
curses | Urwid(python3-urwid ) |
命令行 | 无 |
以下媒体识别追踪器可用,它们的要求如下:
追踪器 | 描述 | 依赖项 |
---|---|---|
inotify | 即时,但仅支持Linux。尽可能使用。 | inotify 或pyinotify |
Polling | 较慢,但支持所有POSIX平台。作为备选方案。 | lsof |
Plex | 连接到Plex服务器。需手动启用。 | 无 |
Kodi | 连接到Kodi服务器。需手动启用。 | 无 |
Jellyfin | 连接到Jellyfin服务器。需手动启用。 | 无 |
MPRIS | 连接到运行中支持MPRIS的媒体播放器。 | python3-jeepney |
Win32 | Windows平台识别。 | 无 |
额外的可选依赖项:
- PIL(
python3-pil
)- 用于在Qt/GTK界面显示预览图像。 - pypresence(???)- 用于在Discord上公告活动。
- twitter(
python3-twitter
)- 用于在Twitter上公告活动。
安装
Trackma有用户提供的多个发行版软件包。
- Arch Linux: https://aur.archlinux.org/packages/trackma, http://aur.archlinux.org/packages/trackma-git
- Fedora: https://copr.fedoraproject.org/coprs/dyskette/trackma/
- Gentoo Linux: http://gpo.zugaina.org/net-misc/trackma
- NixOS: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/trackma/default.nix
- Void Linux: https://github.com/void-linux/void-packages/blob/master/srcpkgs/trackma/template
社区中的一位用户还提供了Docker镜像:
手动安装
确保您已根据计划使用的用户界面安装了适当的依赖项(上面列出的),然后运行以下命令:
$ pip3 install Trackma
您也可以通过以下方式安装git版本(可能不稳定,但更新):
$ pip3 install -U git+https://github.com/z411/trackma.git
或下载源代码并安装:
$ git clone --recursive https://github.com/z411/trackma.git
$ cd trackma
$ poetry build
$ pip3 install dist/trackma-0.8.5-py3-none-any.whl
附加功能(用户界面)
除默认的CLI模式外,所有用户界面都需要额外的依赖项才能运行。您可以将这些指定为Python包管理器要安装的"附加功能"。
以下是可用的附加功能:
附加功能 | 描述 |
---|---|
gtk | GTK界面 |
qt | Qt界面 |
curses | 基于curses的TUI |
ui | 所有用户界面 |
trackers | 所有追踪器库 |
discord_rpc | 在Discord中设置您的观看活动 |
twitter | 在Twitter上宣布您的观看活动 |
如果您想安装任何附加功能,请确保在安装过程中指定它们:
pip
# 使用pip
$ pip3 install Trackma[gtk,trackers,curses]
$ pip3 install Trackma[ui,twitter,discord_rpc]
请注意,pip没有安装所有可用附加功能的方法,因此如果需要,您必须手动提供所有附加功能。
然后,您可以使用您喜欢的界面运行程序。
$ trackma
$ trackma-curses
$ trackma-gtk
$ trackma-qt
poetry
在克隆的仓库中使用poetry时(见上文),您可以按如下方式安装所需的附加功能:
$ poetry install -E gtk -E trackers -E curses
$ poetry install -E ui -E twitter -E discord_rpc
$ poetry install --all-extras
然后,您可以在poetry管理的虚拟环境中运行您喜欢的界面:
$ poetry run trackma
$ poetry run trackma-curses
$ poetry run trackma-gtk
$ poetry run trackma-qt
配置
配置文件将在~/.config/trackma/config.json
中创建,请确保填写存储视频文件的目录和其他设置。有关每个选项的详细说明可以在这里找到:
https://github.com/z411/trackma/wiki/Configuration-File
另外,GTK和Qt界面提供了可视化的设置面板。
开发
代码托管在GitHub上的git仓库中。
克隆仓库并使用poetry
创建虚拟环境:
$ git clone --recursive https://github.com/z411/trackma.git
$ cd trackma
$ poetry install --all-extras
$ poetry shell
使用上面poetry部分中的命令来运行您想要的界面。
如果您遇到任何问题或有任何建议,请不要犹豫,在GitHub的问题追踪器中提交问题。
许可证
Trackma 使用 GPLv3 许可证,详情请参阅 LICENSE 文件。
作者
Trackma 最初由 z411 z411@omaera.org 编写。其他贡献者请参见 AUTHORS 文件。GTK 图标由 shuuichi 设计。