eureka-mmanager 0.1.3

An Actix actor collection for downloading manga, chapters, covers from Mangadex
Documentation
use actix::prelude::*;
use eureka_mmanager::{
    files_dirs::messages::pull::chapter::ChapterListDataPullMessage,
    history::service::HistoryActorService, prelude::*, DirsOptions,
};
use mangadex_api_types_rust::{ChapterSortOrder, Language, OrderDirection};
use uuid::Uuid;

fn main() -> anyhow::Result<()> {
    let run = System::new();
    run.block_on(async {
        let options = DirsOptions::new_from_data_dir("data");
        options.verify_and_init()?;
        let options_actor = options.start();
        let _history = HistoryActorService::new(options_actor.clone()).start();
        let data_pull = options_actor
            .send(ChapterListDataPullMessage)
            .await??
            .to_filtered(ChapterListDataPullFilterParams {
                manga_ids: vec![Uuid::parse_str("b4c93297-b32f-4f90-b619-55456a38b0aa")?],
                translated_languages: [Language::English].into(),
                ..Default::default()
            });
        let data = data_pull
            .to_sorted(ChapterSortOrder::Chapter(OrderDirection::Ascending))
            .await
            .paginate(0, 10)
            .into_results()?;
        for chapter in data.data.iter() {
            println!("{}", chapter.id);
            println!("{:#?}", chapter.attributes);
        }
        Ok::<(), anyhow::Error>(())
    })?;
    Ok(())
}