跳转至

Resource (资源)

资源模型包括 VideoResource(视频关联资源)、Manga(漫画)和 Novel(小说)。

VideoResource (视频资源)

视频关联的资源文件,如剧本、脚本、香盘表等。

获取视频资源

# 通过 video.extra 获取
for resource in video.resources:
    print(f"{resource.name} ({resource.role})")

属性

属性 类型 说明
id str 唯一标识
resource_id str 资源 ID
role ResourceRole 资源角色/类型
note str | None 备注
file_url str 文件下载 URL
name str 资源名称

ResourceRole 资源类型

说明
ResourceRole.SCRIPT 剧本
ResourceRole.SCREENPLAY 脚本
ResourceRole.PROP_LIST 香盘表
ResourceRole.OTHER 其他

方法

# 保存到文件
resource.save("output/script.pdf")

# 获取字节数据
data = resource.save_bytes()

CommonResource (通用资源基类)

MangaNovel 的基类,包含通用的资源属性。

属性

属性 类型 说明
id str 唯一标识
title str 标题
author str | None 作者
category str | None 分类
tags list[str] | None 标签
description str | None 描述
is_searchable bool 是否可搜索
sort_order int 排序序号
resource_id str 资源 ID
project_id str 项目 ID
owner_id str 所有者 ID
file_name str 文件名
file_size int 文件大小(字节)
file_url str 下载 URL
mime_type str MIME 类型
created_at datetime 创建时间
updated_at datetime 更新时间

Manga (漫画)

继承自 CommonResource,代表漫画资源。

for manga in project.mangas():
    print(f"{manga.title} by {manga.author}")
    print(f"  文件: {manga.file_name} ({manga.file_size} bytes)")
    manga.save(f"output/{manga.file_name}")

Novel (小说)

继承自 CommonResource,代表小说资源。

for novel in project.novels():
    print(f"{novel.title} by {novel.author}")
    novel.save(f"output/{novel.file_name}")

下载方法

所有资源模型都支持以下下载方法:

方法 返回类型 说明
save(path) None 下载并保存到指定路径
save_bytes() bytes 获取文件字节数据