11 个版本 (7 个重大更新)

使用旧的 Rust 2015

0.8.1 2018年4月27日
0.7.0 2018年3月5日

#6 in #my-anime-list

每月 34 次下载

MIT 许可证

62KB
1K SLoC

mal-rs Crates.io 文档

该库的目的是提供对 MyAnimeList API 的高级访问。

撰写本文时,API 的所有功能都已实现,包括

  • 添加、更新、删除和读取用户的动画和漫画列表条目
  • 通过名称搜索动画和漫画
  • 从用户的动画和漫画列表获取其他信息和统计信息
  • 验证用户凭据

使用方法

默认情况下,该库支持同时与动画和漫画一起工作。如果您需要同时搜索/操作用户的动画和漫画列表,只需将 mal 作为依赖项添加到您的 Cargo.toml 文件中即可

[dependencies]
mal = "0.8"

如果您只需处理一种类型的列表,则应使用以下功能门来减少最终二进制文件大小和编译时间

如果您只需搜索动画/在用户的列表中处理动画,请使用 anime 功能

[dependencies.mal]
version = "0.8"
default-features = false

features = ["anime"]

如果您只需搜索漫画/在用户的列表中处理漫画,请使用 manga 功能

[dependencies.mal]
version = "0.8"
default-features = false

features = ["manga"]

示例

以下示例将更新用户列表中的现有动画

extern crate mal;

use mal::MAL;
use mal::list::Status;

fn main() {
    // Create a new MAL instance
    let mal = MAL::new("username", "password");

    // Read the user's anime list
    let list = mal.anime_list().read().unwrap();

    // Find Toradora in the list entries
    let mut toradora = list
        .entries
        .into_iter()
        .find(|e| e.series_info.id == 4224)
        .unwrap();

    // Set new values for the list entry
    // In this case, the episode count will be updated to 25, the score will be set to 10, and the status will be set to completed
    toradora.values
            .set_watched_episodes(25)
            .set_score(10)
            .set_status(Status::Completed);

    // Update the anime on the user's list
    mal.anime_list().update(&mut toradora).unwrap();
}

有关更多示例,请参阅 docs.rs 上的文档。

依赖项

~18–27MB
~487K SLoC