Downpour

license Build Status

Downpour 是为 Fetch(一个 Put.io 客户端)构建的,用于解析下载文件中的电视剧和电影信息。 它可以用于任何可以运行 Swift 的平台,因为它只依赖于 Foundation。

它可以从原始视频文件名中收集以下信息:

它可以从 macOS 上的音频文件中收集以下信息:

以及从 Linux(如果安装了 libimage-exiftool-perl 包,则为 Ubuntu)

注意:不能保证所有字段都存在或者能够被提取到,因为仅使用一些巧妙的正则表达式从文件名中提取元数据非常困难,并且跨平台处理音频数据也很困难。 如果您知道数据存在但未被提取,请提出 issue。 此外,这意味着所有内容都是可选的,请务必使用 guard/if let 或 nil 合并 (??) 来安全地编程。 :)

安装

Swift 包管理器

通过将以下内容添加到您的 Package.swift 依赖项中,可以支持 swift 5.0 的 SPM 安装

.package(url: "https://github.com/Ponyboy47/Downpour.git", from: "0.8.0")

对于 swift 4.x,请使用 0.7.x,对于 swift 3,请使用 0.4.x

用法

使用 Downpour 非常简单。 只需创建一个新实例,它就会完成剩下的工作。

let dvd_rip = Downpour(filename: filename)

let title = dvd_rip.title
let year = dvd_rip.year

if downpour.type == .tv {
    let season = dvd_rip.season
    let episode = dvd_rip.episode
}

常见场景