Crates.io | rarbg_api |
lib.rs | rarbg_api |
version | 1.0.42 |
source | src |
created_at | 2020-05-13 16:00:16.18605 |
updated_at | 2023-05-11 03:47:11.270997 |
description | A Rust wrapper for RARBG TorrentAPI |
homepage | |
repository | https://github.com/baptistecdr/rarbg_api |
max_upload_size | |
id | 241162 |
size | 38,688 |
A Rust wrapper for RARBG TorrentAPI
Report bug
ยท
Request feature
This Rust module allows easy interaction with RARBG TorrentAPI.
In particular, it allows you to list or search torrents and to export them to a magnet file.
Add this to your Cargo.toml
:
[dependencies]
rarbg_api = "1.0.42"
tokio = { version = "1.28.1", features = ["full"] }
extern crate rarbg_api;
use rarbg_api::api_parameters_builder::ApiParametersBuilder;
use rarbg_api::category::Category;
use rarbg_api::limit::Limit;
use rarbg_api::RarBgApi;
use rarbg_api::sort_by::SortBy;
#[tokio::main]
pub async fn main() {
let mut api = RarBgApi::new("my_app_id").await;
let parameters = ApiParametersBuilder::new()
.limit(Limit::TwentyFive)
.categories(vec![Category::TvUhdEpisodes, Category::TvHdEpisodes, Category::TvEpisodes])
.sort_by(SortBy::Seeders)
.build();
let result = api.list(Some(¶meters)).await;
match result {
// Export all torrents found in the current directory.
// Each file contains a magnet link that can be add in your Bittorrent client.
Ok(result) => result.torrents().iter().for_each(|t| println!("Torrent exported to '{}'.", t.export(".").unwrap())),
Err(reason) => println!("{}", reason.error())
}
}
extern crate rarbg_api;
use rarbg_api::api_parameters_builder::ApiParametersBuilder;
use rarbg_api::category::Category;
use rarbg_api::limit::Limit;
use rarbg_api::RarBgApi;
use rarbg_api::sort_by::SortBy;
#[tokio::main]
pub async fn main() {
let mut api = RarBgApi::new("my_app_id").await;
let parameters = ApiParametersBuilder::new()
.limit(Limit::TwentyFive)
.categories(vec![Category::TvUhdEpisodes, Category::TvHdEpisodes, Category::TvEpisodes])
.sort_by(SortBy::Seeders)
.build();
let result = api.search("Rick and Morty", Some(¶meters)).await;
match result {
// Export first torrent found in the current directory.
// The file contains a magnet link that can be add in your Bittorrent client.
Ok(result) => result.torrents().iter().take(1).for_each(|t| println!("Torrent exported to '{}'.", t.export(".").unwrap())),
Err(reason) => println!("{}", reason.error())
}
}
Documentation is available here.
Have a bug or a feature request? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
Contributions are welcome!
Downloading content that you (don't) have might be illegal in your country.
This is an unofficial rust package.