Create the entry if it doesn't exist.
This commit is contained in:
parent
8a9a3174ab
commit
1dd5f7be6a
2 changed files with 23 additions and 5 deletions
|
@ -25,7 +25,10 @@ pub(super) async fn format_status(
|
|||
time_prefix = time_prefix,
|
||||
timestamp = status.created_at.with_timezone(&Local).format("%H:%M"),
|
||||
ancestor_prefix = ancestor_prefix,
|
||||
status = apply_block_quote(depth, (&status.content).trim()),
|
||||
status = apply_block_quote(
|
||||
depth,
|
||||
(status.content.replace("'", "'").replace("\"_", "\"")).trim()
|
||||
),
|
||||
attachments = format_attachments(depth, &status.media_attachments)
|
||||
);
|
||||
let Response { json, .. } = client.get_status_context(status.id.clone(), None).await?;
|
||||
|
|
23
src/main.rs
23
src/main.rs
|
@ -1,4 +1,4 @@
|
|||
use anyhow::Result;
|
||||
use anyhow::{Context, Result};
|
||||
use chrono::{DateTime, Local, Utc};
|
||||
use clap::{arg, command, Parser};
|
||||
use log::{debug, trace};
|
||||
|
@ -9,6 +9,7 @@ use megalodon::{
|
|||
response::Response,
|
||||
Megalodon,
|
||||
};
|
||||
use tokio::fs::try_exists;
|
||||
use tokio_stream::{iter, StreamExt};
|
||||
|
||||
use std::{env, fs::File, io::prelude::*};
|
||||
|
@ -121,9 +122,23 @@ async fn main() -> Result<()> {
|
|||
reversed.reverse();
|
||||
|
||||
if let Some(output_dir) = output_dir {
|
||||
let output = format!("{}{}.md", output_dir, date);
|
||||
let mut f = File::options().append(true).open(&output)?;
|
||||
f.write_all(&reversed.join("\n\n").as_bytes())?;
|
||||
let output = format!("{}/{}.md", output_dir.trim_end_matches("/"), date);
|
||||
let mut f = match try_exists(&output).await {
|
||||
Ok(exists) if exists => {
|
||||
debug!("Appending {}", output);
|
||||
File::options().append(true).open(&output)?
|
||||
}
|
||||
_ => {
|
||||
debug!("Writing {}", output);
|
||||
File::options()
|
||||
.create(true)
|
||||
.append(true)
|
||||
.open(&output)
|
||||
.with_context(|| format!("Failed to create {}", output))?
|
||||
}
|
||||
};
|
||||
f.write_all(&reversed.join("\n\n").as_bytes())
|
||||
.with_context(|| format!("Failed to write all to {}", output))?;
|
||||
println!("Appended matching posts to {}.", output);
|
||||
} else {
|
||||
println!("{}", reversed.join("\n\n"));
|
||||
|
|
Loading…
Reference in a new issue