aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md62
1 files changed, 62 insertions, 0 deletions
diff --git a/README.md b/README.md
index 48d9475..c044ccc 100644
--- a/README.md
+++ b/README.md
@@ -12,5 +12,67 @@ FLAGS:
-V, --version Prints version information
OPTIONS:
+ -o, --output <output> Output directory (Default is 'downloads')
-t, --thread <thread> URL of the thread
```
+
+chan_downloader
+===============
+You can also use chan_downloader, the library used
+
+## save_image
+Saves the image from the url to the given path. Returns the path on success
+```
+use reqwest::Client;
+use std::env;
+use std::fs::remove_file;
+let client = Client::new();
+let workpath = env::current_dir().unwrap().join("1489266570954.jpg");
+let url = "https://i.4cdn.org/wg/1489266570954.jpg";
+let answer = chan_downloader::save_image(url, workpath.to_str().unwrap(), &client).unwrap();
+
+assert_eq!(workpath.to_str().unwrap(), answer);
+remove_file(answer).unwrap();
+```
+
+## get_page_content
+Returns the page content from the given url.
+```
+use reqwest::Client;
+let client = Client::new();
+let url = "https://boards.4chan.org/wg/thread/6872254";
+match chan_downloader::get_page_content(url, &client) {
+ Ok(page) => println!("Content: {}", page),
+ Err(err) => eprintln!("Error: {}", err),
+}
+```
+
+## get_thread_infos
+Returns the board name and thread id.
+```
+let url = "https://boards.4chan.org/wg/thread/6872254";
+let (board_name, thread_id) = chan_downloader::get_thread_infos(url);
+///
+assert_eq!(board_name, "wg");
+assert_eq!(thread_id, "6872254");
+```
+
+## get_image_links
+Returns the links and the number of links from a page. Note that the links are doubled.
+```
+use reqwest::Client;
+let client = Client::new();
+let url = "https://boards.4chan.org/wg/thread/6872254";
+match chan_downloader::get_page_content(url, &client) {
+ Ok(page_string) => {
+ let (links_iter, number_of_links) = chan_downloader::get_image_links(page_string.as_str());
+
+ assert_eq!(number_of_links, 4);
+
+ for cap in links_iter.step_by(2) {
+ println!("{} and {}", &cap[1], &cap[2]);
+ }
+ },
+ Err(err) => eprintln!("Error: {}", err),
+}
+```