parent
							
								
									bc68726d23
								
							
						
					
					
						commit
						523d83022e
					
				| @ -0,0 +1,13 @@ | ||||
| mod register; | ||||
| 
 | ||||
| use std::error; | ||||
| 
 | ||||
| fn main() -> Result<(), Box<error::Error>> { | ||||
|     let mastodon = register::get_mastodon_data()?; | ||||
|     let input = register::read_line("Enter the account id you'd like to follow: ")?; | ||||
|     let new_follow = mastodon.follow(input.trim().parse()?)?; | ||||
| 
 | ||||
|     println!("{:#?}", new_follow); | ||||
| 
 | ||||
|     Ok(()) | ||||
| } | ||||
| @ -1,54 +0,0 @@ | ||||
| extern crate mammut; | ||||
| extern crate toml; | ||||
| 
 | ||||
| use std::io; | ||||
| use std::fs::File; | ||||
| use std::io::prelude::*; | ||||
| 
 | ||||
| use mammut::{Data, Mastodon, Registration}; | ||||
| use mammut::apps::{AppBuilder, Scopes}; | ||||
| 
 | ||||
| fn main() { | ||||
|     let mastodon = match File::open("mastodon-data.toml") { | ||||
|         Ok(mut file) => { | ||||
|             let mut config = String::new(); | ||||
|             file.read_to_string(&mut config).unwrap(); | ||||
|             let data: Data = toml::from_str(&config).unwrap(); | ||||
|             Mastodon::from_data(data) | ||||
|         }, | ||||
|         Err(_) => register(), | ||||
|     }; | ||||
| 
 | ||||
|     let you = mastodon.verify_credentials().unwrap(); | ||||
| 
 | ||||
|     println!("{:#?}", you); | ||||
| } | ||||
| 
 | ||||
| fn register() -> Mastodon { | ||||
|     let app = AppBuilder { | ||||
|         client_name: "mammut-examples", | ||||
|         redirect_uris: "urn:ietf:wg:oauth:2.0:oob", | ||||
|         scopes: Scopes::Read, | ||||
|         website: Some("https://github.com/Aaronepower/mammut"), | ||||
|     }; | ||||
| 
 | ||||
|     let mut registration = Registration::new("https://mastodon.social"); | ||||
|     registration.register(app).unwrap();; | ||||
|     let url = registration.authorise().unwrap(); | ||||
| 
 | ||||
|     println!("Click this link to authorize on Mastodon: {}", url); | ||||
|     println!("Paste the returned authorization code: "); | ||||
| 
 | ||||
|     let mut input = String::new(); | ||||
|     io::stdin().read_line(&mut input).unwrap(); | ||||
| 
 | ||||
|     let code = input.trim(); | ||||
|     let mastodon = registration.create_access_token(code.to_string()).unwrap(); | ||||
| 
 | ||||
|     // Save app data for using on the next run.
 | ||||
|     let toml = toml::to_string(&*mastodon).unwrap(); | ||||
|     let mut file = File::create("mastodon-data.toml").unwrap(); | ||||
|     file.write_all(toml.as_bytes()).unwrap(); | ||||
| 
 | ||||
|     mastodon | ||||
| } | ||||
| @ -0,0 +1,12 @@ | ||||
| mod register; | ||||
| 
 | ||||
| use std::error; | ||||
| 
 | ||||
| fn main() -> Result<(), Box<error::Error>> { | ||||
|     let mastodon = register::get_mastodon_data()?; | ||||
|     let you = mastodon.verify_credentials()?; | ||||
| 
 | ||||
|     println!("{:#?}", you); | ||||
| 
 | ||||
|     Ok(()) | ||||
| } | ||||
| @ -0,0 +1,68 @@ | ||||
| extern crate mammut; | ||||
| extern crate toml; | ||||
| 
 | ||||
| use std::{ | ||||
|     error::Error, | ||||
|     fs, | ||||
|     io, | ||||
| }; | ||||
| 
 | ||||
| use self::mammut::{ | ||||
|     apps::{ | ||||
|         AppBuilder, | ||||
|         Scopes | ||||
|     }, | ||||
|     Mastodon, | ||||
|     Registration | ||||
| }; | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| fn main() -> Result<(), Box<Error>> { | ||||
|     register()?; | ||||
|     Ok(()) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| #[allow(dead_code)] | ||||
| pub fn get_mastodon_data() -> Result<Mastodon, Box<Error>> { | ||||
|     if let Ok(config) = fs::read_to_string("mastodon-data.toml") { | ||||
|         Ok(Mastodon::from_data(toml::from_str(&config)?)) | ||||
|     } else { | ||||
|         register() | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| pub fn register() -> Result<Mastodon, Box<Error>> { | ||||
|     let app = AppBuilder { | ||||
|         client_name: "mammut-examples", | ||||
|         redirect_uris: "urn:ietf:wg:oauth:2.0:oob", | ||||
|         scopes: Scopes::Read, | ||||
|         website: Some("https://github.com/Aaronepower/mammut"), | ||||
|     }; | ||||
| 
 | ||||
|     let mut registration = Registration::new("https://mastodon.social"); | ||||
|     registration.register(app)?; | ||||
|     let url = registration.authorise()?; | ||||
| 
 | ||||
|     println!("Click this link to authorize on Mastodon: {}", url); | ||||
|     let input = read_line("Paste the returned authorization code: ")?; | ||||
| 
 | ||||
|     let code = input.trim(); | ||||
|     let mastodon = registration.create_access_token(code.to_string())?; | ||||
| 
 | ||||
|     // Save app data for using on the next run.
 | ||||
|     let toml = toml::to_string(&*mastodon)?; | ||||
|     fs::write("mastodon-data.toml", toml.as_bytes())?; | ||||
| 
 | ||||
|     Ok(mastodon) | ||||
| } | ||||
| 
 | ||||
| pub fn read_line(message: &str) -> Result<String, Box<Error>> { | ||||
|     println!("{}", message); | ||||
| 
 | ||||
|     let mut input = String::new(); | ||||
|     io::stdin().read_line(&mut input)?; | ||||
| 
 | ||||
|     Ok(input) | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,13 @@ | ||||
| mod register; | ||||
| 
 | ||||
| use std::error; | ||||
| 
 | ||||
| fn main() -> Result<(), Box<error::Error>> { | ||||
|     let mastodon = register::get_mastodon_data()?; | ||||
|     let input = register::read_line("Enter the term you'd like to search: ")?; | ||||
|     let result = mastodon.search_accounts(&input, None, true)?; | ||||
| 
 | ||||
|     println!("{:#?}", result.initial_items); | ||||
| 
 | ||||
|     Ok(()) | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue