Une implémentation Rust d'un wrapper pour l'API SauceNAO.
Ajoutez ce qui suit à votre fichier Cargo.toml
:
[dependencies]
rustnao = "0.3.4"
Voici un exemple simple :
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();
}
Voir plus d’exemples ici.
De la documentation supplémentaire peut être trouvée ici. Vous pouvez également consulter la documentation de l'API de SauceNAO ici.
Intéressé à aider ? Vous avez trouvé un problème/bug ? Fais-moi savoir!
J'ai été inspiré par Sagiri, je dois donc saluer ce projet. De plus, grâce à SauceNAO qui fournit gratuitement cette fonctionnalité étonnante.
Merci également à l'utilisateur Pixiv リン ☆ ユウ@1 日目 西れ 44b pour cette image que j'ai fréquemment utilisée pour des exemples et des tests. Je n'arrivais pas à trouver l'image que j'ai utilisée pour les tests locaux (SauceNAO m'a échoué), si quelqu'un le sait, faites-le-moi savoir afin que je puisse le créditer.