#async-networking #rule34 #async #http #networking #image-url #api-bindings

shuller

Lib to get links to images for your favourite tags on rule34 and any

14 stable releases

2.0.7 Aug 20, 2024
2.0.6 Aug 8, 2024
2.0.4 Aug 2, 2024
1.0.6 Jul 1, 2024
1.0.5 Jun 30, 2024

#1669 in Web programming

Download history 36/week @ 2024-08-10 155/week @ 2024-08-17 10/week @ 2024-08-24 6/week @ 2024-08-31 1/week @ 2024-09-07 28/week @ 2024-09-14 1/week @ 2024-09-21 108/week @ 2024-09-28 2/week @ 2024-10-05 1/week @ 2024-10-12 6/week @ 2024-10-19 19/week @ 2024-10-26

963 downloads per month

MIT license

40KB
684 lines

Shuller

Library for link fetching from Rule34 and other implementable sites

Note for learn more info about this lib check doc.rs on crates.io

Example (use macro instead)

use shuller::prelude::*;
async fn example() {
    let instance: Posts = R34Params::init()
        .positive_tags(vec!["dark", "fish"])
        .negative_tags(vec!["ai_generated"])
        .limit(3)
        .download() // or url_generate()
        .await
        .unwrap();
        println!("{:#?}", instance.get_urls_ext())
}

Example via macro

  • Generate Url by params and manual fetch data structure Posts
    use shuller::prelude::*;
    async fn macro_normal() {
        let instance = R34!(
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        )
        .download()
        .await
        .unwrap(); // handle error
    }
    
  • Fetch data structure Posts, macro include
    use shuller::prelude::*;
    async fn macro_download() {
        let instance = R34!(D;
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        )
        .unwrap(); // handle error
    }
    
  • Generate Url via macro, it's just url.
    use shuller::prelude::*;
    async fn macro_url() {
        let instance = R34!(U;
            p = vec!["dark", "fish"],
            n = vec!["ai_generated"],
            limit = 2,
            page = 2
        );
    }
    
  • Generate random Params and Url, and download Post with random id
    use shuller::prelude::*;
      async fn r() {
          let params = R34!(R;);
          let url = R34!(R; D);
          let posts = R34!(R; U).unwrap(); // handle error
      }
    

Dependencies

~4–16MB
~200K SLoC