diff options
| author | Teddy Wing | 2021-05-23 00:57:34 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2021-05-23 00:57:34 +0200 | 
| commit | 61c061aa679b1877208aec64c7d179363d4d0d0e (patch) | |
| tree | 1d8e9a09b25852de4f5c43ecff1befcc79716db5 /src | |
| parent | b5cd3b6e1e8411b46da3b4ffae65c66af72bd342 (diff) | |
| download | google-calendar-rsvp-61c061aa679b1877208aec64c7d179363d4d0d0e.tar.bz2 | |
Add function and enum documentation
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/src/main.rs b/src/main.rs index 36c2b27..cf52859 100644 --- a/src/main.rs +++ b/src/main.rs @@ -19,6 +19,7 @@ use std::process;  use std::str; +/// Event RSVP response status.  #[derive(Debug)]  enum EventResponseStatus {      Accepted, @@ -27,6 +28,8 @@ enum EventResponseStatus {  }  impl fmt::Display for EventResponseStatus { +    /// Translate response status to the equivalent string required by the +    /// Google Calendar API.      fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {          match self {              EventResponseStatus::Accepted => write!(f, "accepted"), @@ -154,6 +157,7 @@ async fn run() -> anyhow::Result<()> {      Ok(())  } +/// RSVP to `event_id` with the status `response`.  async fn rsvp(event_id: &str, response: &EventResponseStatus) -> anyhow::Result<Event> {      let secret = secret_from_file()?; @@ -216,6 +220,7 @@ async fn rsvp(event_id: &str, response: &EventResponseStatus) -> anyhow::Result<      Ok(rsvp_response.1)  } +/// Get the OAuth application secret from the JSON secret file.  fn secret_from_file() -> anyhow::Result<oauth2::ApplicationSecret> {      let xdg_dirs = xdg::BaseDirectories::with_prefix("google-calendar-rsvp")          .context("can't get XDG base directory")?; @@ -239,6 +244,7 @@ fn secret_from_file() -> anyhow::Result<oauth2::ApplicationSecret> {          .ok_or(anyhow::anyhow!("OAuth2 application secret not found"))  } +/// Extract an event ID from a base64-encoded eid.  fn event_id_from_base64(event_id: &str) -> anyhow::Result<String> {      let decoded = match base64::decode(event_id) {          Ok(d) => d, @@ -256,6 +262,7 @@ fn event_id_from_base64(event_id: &str) -> anyhow::Result<String> {      Ok(id)  } +/// Extract an eid from a Google Calendar invitation email.  fn eid_from_email(email: &[u8]) -> anyhow::Result<String> {      let email = mailparse::parse_mail(&email)          .context("unable to parse email")?; @@ -283,6 +290,7 @@ fn eid_from_email(email: &[u8]) -> anyhow::Result<String> {      Err(anyhow::anyhow!("unable to extract event ID from email"))  } +/// Print a formatted event to standard output.  fn print_event(event: &Event) -> anyhow::Result<()> {      if let Some(summary) = &event.summary {          println!("{}", summary); | 
