ardakilic/dizici

一个最小化的系列CLI应用程序,用于将TVMaze中的系列和剧集同步到数据库中,旨在实现统一排序

安装: 15

依赖关系: 0

建议者: 0

安全: 0

星星: 29

观察者: 3

分支: 1

开放问题: 3

类型:项目

v1.1.0 2016-02-06 23:53 UTC

This package is auto-updated.

Last update: 2024-09-12 15:28:52 UTC


README

  ____  _     _      _
 |  _ \(_)___(_) ___(_)
 | | | | |_  / |/ __| |
 | |_| | |/ /| | (__| |
 |____/|_/___|_|\___|_|

Dizici

Dizici(dee-zee-ghee)是一个简单的PHP CLI工具,可以从TVMaze API将系列和剧集同步到本地数据库。

为什么?

让我给你举一个简短的例子

我是一个 Stargate 粉丝,它包含3个电视剧和几部电影。正确的观看顺序很混乱。你必须先看某个电视剧的几集,然后再切换到另一个,以防止剧透并按顺序了解所有细节。甚至还有一些 Reddit 帖子 讨论电视剧应该按什么顺序观看。

现在我正在看 Doctor Who,我想起它也与 Torchwood 有关,这个问题在这个电视剧中也是如此。

简而言之,我需要一个系统,它能显示场景上相互关联的统一系列,并按此排序

这是Stargate系列的观看顺序,包括电影和3个电视剧。

* 01 - Stargate movie
* 02 - Stargate SG-1, episodes 1.1 to 8.2
* 03 - Stargate Atlantis, episodes 1.1 to 1.15
* 04 - Stargate SG-1, episodes 8.3 to 8.20
* 05 - Stargate Atlantis, episodes 1.16 to 2.1
* 06 - Stargate SG-1, episodes 9.1 to 10.2
* 07 - Stargate Atlantis, episodes 2.2 to 3.4
* 08 - Stargate SG-1, episodes 10.3 to 10.12
* 09 - Stargate Atlantis, episodes 3.5 to 3.19
* 10 - Stargate SG-1, episodes 10.13 to 10.20
* 11 - Stargate: The Ark of Truth
* 12 - Stargate Atlantis, episodes 3.20 to 5.1
* 13 - Stargate: Continuum
* 14 - Stargate Atlantis, episodes 5.2 onwards.
* 15 - Stargate Universe, All

我找不到提供这种服务(显示多个电视剧,按播出日期排序剧集,统一列出并制作列表)的服务。

这个简单的PHP CLI工具旨在解决这个问题。

要求

  • PHP 5.6.4或更高版本
  • Composer
  • 数据库引擎,如MySQL、Postgres、SQLite或SQL Server(由illuminate/database支持)
  • 如果您想自动同步剧集,则需要Cron
  • 必须安装最新版本的cURL

安装(从分发版)

有几种方法可以获得分发版 .phar 文件

最简单的方法是从 Composer 安装

composer global require ardakilic/dizici

现在已经安装了。

  • 您还可以从 GitHub Releases页面 手动下载最新稳定版本
  • 或者,您可以通过克隆此存储库来获取最新的边缘分发版本,这将有一个可供您使用的 dist/dizici.phar 文件。

安装(从源代码)

  • 克隆存储库
git clone https://github.com/Ardakilic/dizici.git
  • 安装依赖项
cd dizici
composer install
  • 首次安装后,将在您的家目录内创建一个名为 .dizici 的隐藏文件夹。此文件夹是应用程序存储配置和数据库(如果设置为SQLite)的位置。在本README文件中,我们将将其称为 $HOME/.dizici/
  • 根据需要填写 config.yml 中的凭据。示例连接凭据存储在 此文件中(Laravel)。例如:如果您想使用MySQL,则将连接键填写为 这些键和相应的值
  • 在您的数据库中创建表
dizici migrate:tables
  • 现在您需要创建一个“观看列表组”

"观看列表组"是一组电视剧,一个组可以称为“星门捆绑包”、“漫威宇宙”(或任何你喜欢的名称),它包含诸如“星门 SG-1”、“星门亚特兰蒂斯”和“星门宇宙”之类的电视剧。你可以将其视为一个个人列表或电视剧组。

只需运行此命令

dizici create:group -t "Stargate List"

或者

dizici create:group --title="Stargate List"
  • 现在您需要将电视剧添加到观看列表中,您可以使用电视剧ID或直接链接
dizici add:show -g "Stargate List" -s 204

或者

dizici add:show --group="Stargate List" --show=204

group是我们观看列表组的标题。show是TVMaze电视剧的ID。您可以从URL中获取它。例如:http://www.tvmaze.com/shows/204/stargate-sg-1

您还可以通过直接URL添加电视剧,Dizici会处理其余部分。

diziciadd:show -g "Stargate List" -l http://www.tvmaze.com/shows/204/stargate-sg-1

或者

dizici add:show --group="Stargate List" --link=http://www.tvmaze.com/shows/204/stargate-sg-1

为每个您想添加到观看列表组的电视剧重复此步骤。

  • 现在同步所有系列和剧集,一些示例电视剧已在配置文件中添加
  • dizici同步
  • 可选地,将此命令添加到您的crontab中,以自动按您设定的周期同步。
  • 享受吧!😄

构建二进制文件

在存储库中应该已经有一个dist/dizici.phar文件可用,但出于某些目的,您可能想自己创建.phar文件。

通过非常简单和简单的步骤,您可以自己创建dizici.phar文件。

  • 下载和/或安装Box2
  • 进入dizici目录
  • 确保您已使用composer install安装了依赖项
  • 运行php box.phar build
  • 几秒钟后,您将创建一个dist/dizici.phar文件。

全局安装Dizici

您可以使用Composer轻松完成此操作

composer global require ardakilic/dizici

安装完成:

您还可以下载.phar存档并手动执行此操作

  • 首先,下载dist版本或构建二进制文件。您可以自己下载或构建。
  • dizici.phar移动到您的ENV路径之一。例如
chmod +x dizici.phar
mv dizici.phar /usr/local/bin/dizici
  • 最后,您可以从终端的任何位置运行dizici

统一列出电视剧

有一个命令行方式可以显示和导出此功能。

首先,确保您已同步

dizici sync

然后运行此命令

dizici episodes Stargate

如果包含多个单词,请使用引号

dizici episodes "Stargate List"

您将得到如下输出

如果您想导出此内容,可以通过shell方式执行此操作

dizici episodes "Stargate List" > output.txt

并打印output.txt等。

屏幕截图

这是当您运行同步命令时的控制台示例截图

imgur

其他许多图像已在readme中提供。

待办事项

  • 分组功能,将多个电视剧捆绑在一起
  • 将所有TVMaze ID存储在数据库中,而不是配置文件中
  • 控制台输出中的表格
  • 提供除文本之外如HTML、tsv等格式的输出
  • 新的列,如“已观看”、“已收集”等
  • 请随时提供问题和拉取请求。我会乐意考虑它们。

版本历史

版本 1.1.0

  • 观看列表组:您现在可以创建和命名自定义观看列表,并创建“夏季电视剧”、“漫威宇宙”等列表,将电视剧添加到这些列表中,并按这些名称调用剧集列表。这使您可以更容易地调用命令,并更好地管理。这导致了删除config.yml中的series键。
  • 创建观看列表组并将电视剧添加到这些组的命令。

版本 1.0.1

  • NPM提交以简化安装

版本 1.0.0

此版本的目标是将Dizici尽可能制作成便携式。

  • SQLite现在是默认连接
  • 配置文件现在为 YAML 格式。使用 Symfony Yaml 组件 解析 .yml 文件
  • 创建独立的 .phar 归档,使用了 Box-project 的 Box2
  • 配置路径现在为 $HOME/.dizici/。这样,应用程序旨在成为一个单个归档,更易于携带

版本 0.2.0

  • 命令行应用程序的名称从 series 更改为 dizici
  • 实现了命令行表格输出

版本 0.1.0

  • 首次发布

许可证

MIT 许可证