Update to mail_parser v0.8.0
continuous-integration/drone Build was killed Details

Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
This commit is contained in:
Jacob Kiers 2022-12-13 15:44:14 +01:00
parent 751b4d2551
commit 546c063ce9
4 changed files with 17 additions and 17 deletions

4
Cargo.lock generated
View File

@ -509,9 +509,9 @@ dependencies = [
[[package]]
name = "mail-parser"
version = "0.7.0"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9c5c7e7ee68a597425d5e4134dfa0dbbc1f86cc047c9a8c1dde1bf34fafe461"
checksum = "80f330933d5287bcc21be7286850b353f22e7d66fa35d1c545ab030fd934b386"
dependencies = [
"encoding_rs",
]

View File

@ -16,6 +16,6 @@ base16ct = { version = "^0.1.0", features = [ "alloc" ] }
chrono = "^0.4"
clap = { version = "^4.0.22", features = [ "derive" ] }
imap = { version = "^2.4.1", default-features = false }
mail-parser = "^0.7.0"
mail-parser = "^0.8.0"
rustls-connector = { version = "^0.16.1", default-features = false, features = [ "webpki-roots-certs", "quic" ] }
sha2 = "^0.10.2"

View File

@ -15,8 +15,8 @@ pub(crate) fn add_entry_to_feed(
include_html: bool,
) {
let parsed = message.get_parsed().unwrap();
let date = parsed.get_date().expect("Could not extract date");
let from = match parsed.get_from() {
let date = parsed.date().expect("Could not extract date");
let from = match parsed.from() {
HeaderValue::Address(e) => e,
_ => return,
};
@ -41,7 +41,7 @@ pub(crate) fn add_entry_to_feed(
uri: None,
},
title: parsed
.get_subject()
.subject()
.expect("Expected a subject")
.to_string(),
content: Some(processed_html.clone()),
@ -64,13 +64,13 @@ pub(crate) fn build_atom_feed(hostname: &String) -> Feed {
.link(
LinkBuilder::default()
.href(format!("https://{}/", hostname))
.rel("alternate")
.rel("alternate".to_string())
.build(),
)
.link(
LinkBuilder::default()
.href(format!("https://{}/feed.atom", hostname))
.rel("self")
.rel("self".to_string())
.build(),
)
.generator(Generator {
@ -112,7 +112,7 @@ impl From<Newsletter> for Entry {
eb.link(
LinkBuilder::default()
.href(post.url)
.rel("alternate")
.rel("alternate".to_string())
.build(),
);
}

View File

@ -13,7 +13,7 @@ use message_reader::{DataDirectoryMessageReader, EmailReader, ImapReader};
use sha2::{Digest, Sha256};
use std::{
error::Error,
fs::{File, OpenOptions},
fs::OpenOptions,
io::Write,
path::{Path, PathBuf},
};
@ -77,12 +77,12 @@ fn build_feed(filename: &PathBuf, hostname: String, include_html: bool) -> Resul
for msg in reader.read_rfc822_messages() {
let parsed = msg.get_parsed().expect("A parsed messsage.");
let date = parsed.get_date().ok_or(format!(
let date = parsed.date().ok_or(format!(
"Could not get the date of message {}",
msg.get_uid()
))?;
let subject = match parsed.get_subject() {
let subject = match parsed.subject() {
Some(subject) => subject,
None => "No subject",
};
@ -94,7 +94,7 @@ fn build_feed(filename: &PathBuf, hostname: String, include_html: bool) -> Resul
subject
);
let html_body = parsed.get_html_body(0).expect("Could not read html body");
let html_body = parsed.body_html(0).expect("Could not read html body");
let processed_html = process_html(&html_body).expect("Could not process the HTML");
if include_html {
@ -149,12 +149,12 @@ fn fetch_from_imap(
msg.get_uid()
))?;
let date = parsed.get_date().ok_or(format!(
let date = parsed.date().ok_or(format!(
"Could not get the date of message {}",
msg.get_uid()
))?;
let subject = match parsed.get_subject() {
let subject = match parsed.subject() {
Some(subject) => subject,
None => "No subject",
};
@ -185,14 +185,14 @@ fn fetch_from_imap(
fn get_path(parsed: &ParsedMessage, msg: &Message) -> String {
let date = parsed.get_date().expect("Could not extract date");
let date = parsed.date().expect("Could not extract date");
let date_str = format!(
"{:04}{:02}{:02}{:02}{:02}{:02}",
&date.year, &date.month, &date.day, &date.hour, &date.minute, &date.second
);
let hash = base16ct::lower::encode_string(&Sha256::digest(
&parsed.get_html_body(0).expect("Expected a body").as_bytes(),
&parsed.body_html(0).expect("Expected a body").as_bytes(),
));
let uid: i32 = msg.get_uid()