PlayOn 设施,主要访问下载 API。包括一个不错的命令行工具。
项目描述
PlayOn 设施,主要访问下载 API。包括一个不错的命令行工具。
最新版本 20220311:刷新 PlayOn 状态的错误修正标准。
功能main(argv=None)
Playon 命令行模式;请参阅PlayOnCommand下面的课程。
班级PlayOnAPI(cs.resources.MultiOpenMixin, cs.context.ContextManagerMixin)
访问 PlayOn API。
方法PlayOnAPI.__getitem__(self, download_id: int):返回与录音TagSet关联的录音download_id。
方法PlayOnAPI.account(self, *a, **kw):返回账户信息。
属性PlayOnAPI.auth_token:从登录状态获得的身份验证令牌。
方法PlayOnAPI.cdsurl_data(self, suburl, _method='GET', headers=None, **kw):用作基本 URL 的包装器suburl_data。CDS_BASE
方法PlayOnAPI.download(self, *a, **kw)download_id:用to下载文件filename_basis。返回TagSet录音。
默认值filename是下载文件名的基本名称。如果文件名带有一个尾随点 ( '.'),则文件扩展名将取自下载 URL 的文件名。
方法PlayOnAPI.from_playon_date(date_s):PlayOn API 似乎使用 UTC 日期字符串。
属性PlayOnAPI.jwt:JWT 令牌。
属性PlayOnAPI.login_state:登录状态,a dict。必要时执行登录。
方法PlayOnAPI.queue(self, *a, **kw):返回TagSet排队录音的实例。
方法PlayOnAPI.recordings(self, *a, **kw):返回TagSet可用记录的实例。
方法PlayOnAPI.service(self, service_id):返回服务SQLTags实例service_id。
方法PlayOnAPI.services(self, *a, **kw):获取服务列表。
方法PlayOnAPI.startup_shutdown(self): 启动:打开并初始化SQLTags,打开FSTags.
方法PlayOnAPI.suburl_data(self, suburl, _base_url=None, _method='GET', headers=None, raw=False, **kw):成功时调用suburl并返回'data'组件。
参数:
suburl:指定端点的 API 子 URL。_method: 可选的 HTTP 方法,默认'GET'.headers: 读者陪同请求;默认{'Authorization':self.jwt}. 其他关键字参数被传递给requests用于执行 HTTP 调用的方法。
方法PlayOnAPI.suburl_request(base_url, method, suburl):返回一个 curriedrequests方法来获取API_BASE/suburl。
班级PlayOnCommand(cs.cmdutils.BaseCommand)
Playon 命令行实现。
命令行用法:
Usage: playon subcommand [args...]
Environment:
PLAYON_USER PlayOn login name, default from $EMAIL.
PLAYON_PASSWORD PlayOn password.
This is obtained from .netrc if omitted.
PLAYON_FILENAME_FORMAT Format string for downloaded filenames.
Default: {playon.Series}--{playon.Name}--{resolution}--{playon.ProviderID}--playon--{playon.ID}
PLAYON_TAGS_DBURL Location of state tags database.
Default: ~/var/playon.sqlite
Recording specification:
an int The specific recording id.
all All known recordings.
downloaded Recordings already downloaded.
expired Recording which are no longer available.
pending Recordings not already downloaded.
/regexp Recordings whose Series or Name match the regexp,
case insensitive.
Subcommands:
account
Report account state.
dl [-j jobs] [-n] [recordings...]
Download the specified recordings, default "pending".
-j jobs Run this many downloads in parallel.
The default is 2.
-n No download. List the specified recordings.
help [-l] [subcommand-names...]
Print the full help for the named subcommands,
or for all subcommands if no names are specified.
-l Long help even if no subcommand-names provided.
ls [-l] [recordings...]
List available downloads.
-l Long listing: list tags below each entry.
-o format Format string for each entry.
Default format: {playon.ID} {playon.HumanSize} {resolution} {playon.Series} {playon.Name} {playon.ProviderID} {status:upper}
q [-l] [recordings...]
List queued recordings.
-l Long listing: list tags below each entry.
-o format Format string for each entry.
Default format: {playon.ID} {playon.Series} {playon.Name} {playon.ProviderID}
queue [-l] [recordings...]
List queued recordings.
-l Long listing: list tags below each entry.
-o format Format string for each entry.
Default format: {playon.ID} {playon.Series} {playon.Name} {playon.ProviderID}
refresh [queue] [recordings]
Update the db state from the PlayOn service.
service [service_id]
List services.
方法PlayOnCommand.cmd_account(self, argv):用法:{cmd} 报告帐户状态。
方法PlayOnCommand.cmd_dl(self, argv):用法:{cmd} [-j jobs] [-n] [recordings...] 下载指定的录音,默认“pending”。-j jobs 并行运行这么多下载。默认值为 {DEFAULT_DL_PARALLELISM}。-n 不下载。列出指定的录音。
方法PlayOnCommand.cmd_ls(self, argv):用法:{cmd} [-l] [recordings...] 列出可用下载。-l 长列表:在每个条目下方列出标签。-o format 每个条目的格式字符串。默认格式:{LS_FORMAT}
方法PlayOnCommand.cmd_q(self, argv):用法:{cmd} [-l] [recordings...] 列出排队的录音。-l 长列表:在每个条目下方列出标签。-o format 每个条目的格式字符串。默认格式:{QUEUE_FORMAT}
方法PlayOnCommand.cmd_queue(self, argv):用法:{cmd} [-l] [recordings...] 列出排队的录音。-l 长列表:在每个条目下方列出标签。-o format 每个条目的格式字符串。默认格式:{QUEUE_FORMAT}
方法PlayOnCommand.cmd_refresh(self, argv):用法:{cmd} [queue] [recordings] 从 PlayOn 服务更新数据库状态。
方法PlayOnCommand.cmd_service(self, argv, locale='en_US'):用法:{cmd} [service_id] 列出服务。
方法PlayOnCommand.run_context(self):准备PlayOnAPI每个命令调用。
班级PlayOnSQLTags(cs.sqltags.SQLTags, cs.tagset.BaseTagSets, cs.resources.MultiOpenMixin, cs.context.ContextManagerMixin, collections.abc.MutableMapping, collections.abc.Mapping, collections.abc.Collection, collections.abc.Sized, collections.abc.Iterable, collections.abc.Container)
SQLTags具有 PlayOn 相关方法的子类。
方法PlayOnSQLTags.__iter__(self):产量记录TagSet,那些命名的"recording.*"。
请注意,这包括记录和排队的项目。
方法PlayOnSQLTags.infer_db_url(envvar=None, default_path=None):推断数据库 URL。
参数:
envvar: 用于指定默认值的环境变量,默认值来自DBURL_ENVVAR(PLAYON_TAGS_DBURL)。
方法PlayOnSQLTags.recording_ids_from_str(self, *a, **kw):将字符串转换为记录 ID 列表。
方法PlayOnSQLTags.recordings(self):产量记录TagSet,那些命名的"recording.*"。
请注意,这包括记录和排队的项目。
班级Recording(cs.sqltags.SQLTagSet, cs.obj.SingletonMixin, cs.tagset.TagSet, builtins.dict, cs.dateutils.UNIXTimeMixin, cs.lex.FormatableMixin, cs.lex.FormatableFormatter, string.Formatter, cs.mappings.AttrableMappingMixin)
SQLTagSet具有有关 PlayOn 录音的知识。
方法Recording.is_available(self):有录音可供下载吗?
方法Recording.is_downloaded(self):根据是否存在download_path Tag.
方法Recording.is_expired(self):测试这个录音是否过期,这意味着它不再可供下载。
方法Recording.is_pending(self):待下载:可用且尚未下载。
方法Recording.is_queued(self): 录音还在队列中吗?
方法Recording.is_stale(self, max_age=None):测试此条目是否过时,即自self.last_updated超过max_age秒的时间(默认从self.STALE_AGE)。请注意,过期的录音永远不会过时,因为无法再从 API 中查询它们。
方法Recording.ls(self, ls_format=None, long_mode=False, print_func=None):列出录音。
方法Recording.nice_name(self):录音的好名字:PlayOn 系列和名称,省略系列 if None。
方法Recording.recording_id(self):录音 id 或None.
方法Recording.resolution(self)Recording.RECORDING_QUALITY:通过映射从质量得出的记录分辨率。
方法Recording.status(self):返回一个简短的状态字符串。
发布日志
发布 20220311:刷新 PlayOn 状态的错误修正标准。
版本 20211212:初始版本。
项目详情
cs.app.playon -20220311.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 232c85f666c0aba56288b774071852db2533b35246bc747a6053c9d081be2713 |
|
| MD5 | 7a5e66971b7713a69a7bcf5e4df21530 |
|
| 布莱克2-256 | 85cf966e24ceb2fa6d9eb2f295bee394650f8fe6862c23ad95c0b9e40967dd4a |