Skip to content

Commit

Permalink
add handling of STATUS messages in parse_mailbox
Browse files Browse the repository at this point in the history
  • Loading branch information
jkaessens committed Jan 11, 2018
1 parent 593ad82 commit 5d19d4f
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion src/parse.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use regex::Regex;
use nom::IResult;
use imap_proto::{self, Response};
use imap_proto::types::StatusAttribute;

use super::types::*;
use super::error::{Error, ParseError, Result};
Expand Down Expand Up @@ -181,7 +182,18 @@ pub fn parse_mailbox(mut lines: &[u8]) -> Result<Mailbox> {
.flags
.extend(flags.into_iter().map(|s| s.to_string()));
}
MailboxDatum::SubList { .. } | MailboxDatum::List { .. } => {}
MailboxDatum::SubList { .. } | MailboxDatum::List { .. } => {},
MailboxDatum::Status { mailbox: _, status } => {
for f in status.into_iter() {
match f {
StatusAttribute::Recent(r) => mailbox.recent = r,
StatusAttribute::Unseen(u) => mailbox.unseen = Some(u),
StatusAttribute::UidNext(u) => mailbox.uid_next = Some(u),
StatusAttribute::UidValidity(u) => mailbox.uid_validity = Some(u),
StatusAttribute::Messages(m) => mailbox.exists = m,
}
}
}
}
}
IResult::Done(_, resp) => {
Expand Down

0 comments on commit 5d19d4f

Please sign in to comment.