Expand description
§RustNAO
A Rust implementation of a wrapper for the SauceNAO API.
§Installation
Add the following to your Cargo.toml
file:
[dependencies]
rustnao = "0.3.4"
§Examples
Here’s a simple example:
use rustnao::{Handler, HandlerBuilder, Sauce, Result};
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();
}
Structs§
- Error
- An error that can occur while interacting to the SauceNAO API.
- Handler
- A handler struct to make SauceNAO API calls with.
- Handler
Builder - A builder to create a Handler for RustNAO usage.
- Sauce
- A Sauce struct contains one result from a API call made by the Handler.
Enums§
- ErrType
- The specific type of error that can occur.
Traits§
- ToJSON
- A trait to convert to JSON and pretty JSON strings.
Type Aliases§
- Result
- A type alias for handling errors related to rustnao.