5 个版本

0.0.3-alpha2019年10月20日
0.0.2 2019年10月21日
0.0.2-alpha2019年10月20日
0.0.1 2019年10月20日

#1276数据结构

MIT 许可证

200KB
4.5K SLoC

Zotero

Build Status Coverage Status License: MIT contributions welcome

API 文档

创建项目和集合

extern crate zotero;
use zotero::ZoteroInit;
use zotero::Post;
use zotero::data_structure::item::{BookData, BookDataBuilder, Creator, CreatorBuilder};

let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");

let creators : Vec<Creator> = vec![
    CreatorBuilder::default()
        .creator_type("author")
        .first_name("John")
        .last_name("Doe")
        .build()
        .unwrap()
];

let new_book : BookData = BookDataBuilder::default()
    .title("Sample_2")
    .creators(creators)
    .item_type("book")
    .build()
    .unwrap();
    
z.create_new_item(new_book);

更新项目和集合

extern crate zotero;
use zotero::ZoteroInit;
use zotero::Patch;
use zotero::Get;
use zotero::data_structure::item::ItemType;

let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");

let item = z.get_item("Q8GNE36F", None);

if let Ok(mut result) = item {
    if let ItemType::Book(bookdata) = &mut result.data {
        bookdata.title = "A new title".to_string();
        bookdata.publisher = "A new publisher".to_string();
        z.update_item(&bookdata.key, &bookdata);
    };
    println!("{:?}", serde_json::to_string(&result.data));
};

依赖关系

~20MB
~433K SLoC