Una implementación de Rust de un contenedor para la API SauceNAO.
Agregue lo siguiente a su archivo Cargo.toml
:
[dependencies]
rustnao = "0.3.4"
He aquí un ejemplo sencillo:
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();
}
Vea más ejemplos aquí.
Puede encontrar más documentación aquí. También puede ver la documentación API de SauceNAO aquí.
¿Interesado en ayudar? ¿Encontraste un problema/error? ¡Hágamelo saber!
Me inspiré en Sagiri, así que tengo que agradecer ese proyecto. Además, gracias a SauceNAO, que proporciona esta increíble funcionalidad de forma gratuita.
Además, crédito al usuario de Pixiv リン ☆ ユウ@1 日目 西れ 44b por esta imagen que utilicé con frecuencia para ejemplos y pruebas. Parece que no pude encontrar la imagen que usé para las pruebas locales (SauceNAO me falló), si alguien lo sabe, hágamelo saber para poder darle crédito.