Реализация оболочки для API SauceNAO на Rust.
Добавьте в файл Cargo.toml
следующее:
[dependencies]
rustnao = "0.3.4"
Вот простой пример:
use rustnao::{HandlerBuilder, Sauce};
fn main() {
let api_key = "your_api_key";
let file = "https://i.imgur.com/W42kkKS.jpg";
// Specifying our key, test_mode set to 0, only want to see Pixiv and Sankaku using a mask, nothing excluded, no one specific source, and 15 results at most
let handle = HandlerBuilder::default().api_key(api_key).db_mask([Handler::PIXIV, Handler::SANKAKU_CHANNEL].to_vec()).num_results(15).build();
// Set the minimum similarity to 45.
handle.set_min_similarity(45);
// Returns a vector of Sauce objects if successful
let result: Vec<Sauce> = handle.get_sauce(file, None, None).unwrap();
// Or perhaps you prefer a JSON output
let result_json: String = handle.get_sauce_as_pretty_json(file, None, None).unwrap();
// Or maybe you wish to only get 5 results with a min similarity of 50.0
let result_json_filtered: String = handle.get_sauce_as_pretty_json(file, Some(5), Some(50 as f64)).unwrap();
}
Больше примеров смотрите здесь.
Дополнительную документацию можно найти здесь. Вы также можете просмотреть документацию по API SauceNAO здесь.
Хотите помочь? Нашли проблему/ошибку? Дайте мне знать!
Меня вдохновил Сагири, поэтому я должен отдать должное этому проекту. Кроме того, спасибо SauceNAO, который предоставляет эту замечательную функциональность бесплатно.
Также спасибо пользователю Pixiv リン ☆ ユウ@1 日目 西れ 44b за это изображение, которое я часто использовал для примеров и тестов. Кажется, мне не удалось найти изображение, которое я использовал для локального тестирования (SauceNAO меня подвел), если кто-нибудь знает, дайте мне знать, чтобы я мог указать им.