From 3b0e7234affeff2b6690e8171d36cf9a8fadb64e Mon Sep 17 00:00:00 2001 From: VC Date: Tue, 8 Nov 2022 08:37:17 +0100 Subject: [PATCH] refactor: downloads/uploads every media from a tweet async way --- src/util.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/util.rs b/src/util.rs index af25269..b2549e6 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,9 +1,15 @@ use crate::{twitter::get_tweet_media, ScootalooError}; -use egg_mode::tweet::Tweet; -use elefren::prelude::*; -use log::{error, warn}; -use reqwest::Url; + use std::{borrow::Cow, error::Error}; + +use egg_mode::tweet::Tweet; + +use elefren::prelude::*; + +use log::{error, info, warn}; + +use reqwest::Url; + use tokio::{ fs::{create_dir_all, remove_file, File}, io::copy, @@ -35,6 +41,10 @@ pub async fn generate_media_ids( let mastodon = mastodon.clone(); let task = tokio::task::spawn(async move { +<<<<<<< HEAD +======= + info!("Start treating {}", media.media_url_https); +>>>>>>> 32f9605 (tamerelol) // get the tweet embedded media let local_tweet_media_path = match get_tweet_media(&media, &cache_path).await { Ok(l) => l, @@ -51,6 +61,7 @@ pub async fn generate_media_ids( match mastodon.media(Cow::from(local_tweet_media_path.to_owned())) { Ok(l) => l, Err(e) => { + remove_file(&local_tweet_media_path).await.unwrap(); return Err(ScootalooError::new(&format!( "Attachment {} cannot be uploaded to Mastodon Instance: {}", &local_tweet_media_path, e