From f18ce899aa65eec03603c3708e03622983b94e11 Mon Sep 17 00:00:00 2001 From: VC Date: Thu, 19 Oct 2023 11:01:14 +0200 Subject: [PATCH 1/2] chore: bump version + update dep --- Cargo.lock | 27 ++++++++++++++++++--------- Cargo.toml | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6dd956e..3189415 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -567,9 +567,9 @@ checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -728,13 +728,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] @@ -796,6 +796,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "regex" version = "1.10.2" @@ -1062,7 +1071,7 @@ checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", + "redox_syscall 0.3.5", "rustix", "windows-sys 0.48.0", ] @@ -1156,7 +1165,7 @@ dependencies = [ [[package]] name = "tootube" -version = "0.5.1" +version = "0.5.2" dependencies = [ "async-stream", "clap", @@ -1178,9 +1187,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", "tracing-core", diff --git a/Cargo.toml b/Cargo.toml index b021514..5540bdc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tootube" authors = ["VC "] -version = "0.5.1" +version = "0.5.2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From f3ad81716d7725c1aa63b093f1d9682ceb13c424 Mon Sep 17 00:00:00 2001 From: VC Date: Thu, 19 Oct 2023 11:12:16 +0200 Subject: [PATCH 2/2] refactor: remove get_max_resolution_dl (ord makes it redundant) --- src/lib.rs | 10 ++++++++-- src/peertube.rs | 36 ------------------------------------ 2 files changed, 8 insertions(+), 38 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2175604..3c221b6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,7 +7,7 @@ pub use config::parse_toml; use config::Config; mod peertube; -use peertube::{get_latest_video, get_max_resolution_dl}; +use peertube::get_latest_video; mod youtube; pub use youtube::register; @@ -22,7 +22,13 @@ pub async fn run(config: Config, pl: Vec) { panic!("Cannot retrieve the latest video, something must have gone terribly wrong: {e}") }); - let dl_url = get_max_resolution_dl(latest_vid.streaming_playlists.as_ref().unwrap()); + let dl_url = latest_vid.streaming_playlists.as_ref().unwrap()[0] + .files + .iter() + .max() + .unwrap() + .file_download_url + .clone(); debug!("PT download URL: {}", &dl_url); let resumable_upload_url = create_resumable_upload(&config.youtube, &latest_vid) diff --git a/src/peertube.rs b/src/peertube.rs index d872adf..8d11700 100644 --- a/src/peertube.rs +++ b/src/peertube.rs @@ -65,11 +65,6 @@ pub async fn get_latest_video(u: &str) -> Result> Ok(vid) } -/// This returns the direct download URL for with the maximum resolution -pub fn get_max_resolution_dl(p: &[PeerTubeVideoStreamingPlaylists]) -> String { - p[0].files.iter().max().unwrap().file_download_url.clone() -} - /// This gets all the crispy details about one particular video async fn get_video_detail(u: &str, v: &str) -> Result> { let body = reqwest::get(format!("{}/api/v1/videos/{}", u, v)) @@ -79,34 +74,3 @@ async fn get_video_detail(u: &str, v: &str) -> Result = - vec![PeerTubeVideoStreamingPlaylists { - files: vec![ - PeerTubeVideoStreamingPlaylistsFiles { - id: 1025, - resolution: PeerTubeVideoStreamingPlaylistsFilesResolution { id: 990 }, - file_download_url: "meh!".to_string(), - }, - PeerTubeVideoStreamingPlaylistsFiles { - id: 1027, - resolution: PeerTubeVideoStreamingPlaylistsFilesResolution { id: 1720 }, - file_download_url: "blah".to_string(), - }, - PeerTubeVideoStreamingPlaylistsFiles { - id: 1026, - resolution: PeerTubeVideoStreamingPlaylistsFilesResolution { id: 360 }, - file_download_url: "nope".to_string(), - }, - ], - }]; - - assert_eq!("blah".to_string(), get_max_resolution_dl(&str_plist)); - } -}