From 53724caedc8d3d3783bb701f615afd3eb8298ebb Mon Sep 17 00:00:00 2001 From: A Farzat Date: Sat, 22 Nov 2025 10:06:02 +0300 Subject: Add an order argument --- src/lib.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 74e37b2..bb9ebee 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,14 +13,18 @@ pub fn parse_feed(xml: &str) -> Result { } /// Extract the audio URLs from the given channel -pub fn get_audio_urls(channel: &Channel) -> Vec<(usize, &str)> { - channel - .items() - .iter() - .rev() - .enumerate() - .filter_map(|(i, item)| item.enclosure().map(|e| (i + 1, e.url()))) - .collect() +pub fn get_audio_urls(channel: &Channel, newest_first: bool) -> Vec<(usize, &str)> { + let iter = channel.items().iter(); + if newest_first { + iter.enumerate() + .filter_map(|(i, item)| item.enclosure().map(|e| (i + 1, e.url()))) + .collect() + } else { + iter.rev() + .enumerate() + .filter_map(|(i, item)| item.enclosure().map(|e| (i + 1, e.url()))) + .collect() + } } /// Download the given audio file to the supplied directory -- cgit v1.2.3-70-g09d2