Update to mail_parser v0.8.0
continuous-integration/drone Build was killed
Details
continuous-integration/drone Build was killed
Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
This commit is contained in:
parent
751b4d2551
commit
546c063ce9
|
@ -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",
|
||||
]
|
||||
|
|
|
@ -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"
|
||||
|
|
12
src/feed.rs
12
src/feed.rs
|
@ -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(),
|
||||
);
|
||||
}
|
||||
|
|
16
src/main.rs
16
src/main.rs
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue