V42KVVY2TTKLNNZKE4TTCARQDN56ACJ5VCZX4TS463DQVSOJ5TTAC UEIFJVLTFUPT6KIABPD622UTOVTICIHMYR2IM2A6ZJQSYR5PNCDAC L3I4GC7R74HPQS3VCQ44UTBAKKBOW6UDVXV2EF7XSWH7H2Z3RRJQC B5ZHH5JWBCZD4MXMSV5E3M5XVGY6JWUK3GXFSZTOPNGKU62H4VCQC FBQOBNZ6JJQXSHYQK7MCFA4U7NBNB47FXED7Y7HPRTOQVXJFIAGAC XIHPYOWDLQY2MVMVUQPH23O3TBALRG4G2CHSLWSCAYMY5NVJ32WQC IFBRAMVLQ4Z6BAEMWDIXD2V5HSZK4DHRWYZNB32IBY7ZRTNZJVCQC WWO4T3TSJAX5YJCVXLZEOQVI3KEBI6TVBRBSWVC44FGZCSYCVUQAC OMMEITXS6J6ADT7PFSF45G5H7AJYU6Y5JIIURN532AMR4V4KFUFQC MQKD76RYJOC3SJ4EPKQRQFV7A2BRJAHAI4VMMLR4EKV4B3EV5YTQC O53GR2OQHGRKAVJT2RVPRHYFB54W5LM4DQYT7EYVGKU7HDK5CJJQC PYPS2ICGA4HC3SQSIWRX2W2FZHCLEGS64G3Q5ZQMS4AJCFWH3PMAC JYSIHNS67XTGAR4HN7ZHWFMGGYSK5IY6J6EHO4YUZOR7UMMWAORQC VZCCYJLC4NSXFHLFZKDY4L53KVR4DERVXVOJXHERFDCRV2MGLEKQC Z2M2CAIM3QNI7ICW54Y2PLSADAG3FTQEPBRYWKXK6VBKMHSDC7MQC L7UMVYBQRGW3F3O7LNU5EIAGAPVVFMDHUKLB66VI4IIZLH3O2ELQC QTMCROQ5GDS3HX2XNNHSCCNTI4ECVVJRI6IE2WMHNS3YWTY6QLKAC Z72OWDSHUFNNRSOCAXFUYEAYMS5XRDX43VSFXETIVTBET3OQGKZQC OVAVVFAN3HJONG2FNLYH6JLDYNFA3RHKVSPUICJXPPKNSKIEH3MQC O36J3PG32M4QSUVVZGMR6744ZBY6SSUX4653TDTRNN4JV36RVJNQC LEHYGAGGM35ZN5BHOZ7HUV3Y7E7AKTB7JN6QICYMTQEZQMERL2EAC NZH7OEP2UHU7K4J5AKZDBWO67X6XRZJVDD4XM6OL4OUO2V52DUOQC NGM34AODYBABJGPWHH3I27EX4C7FZ4B2FWZB45MWPRTIUNRDOSXAC UCVMP2BZ7IIJTWG5ZA3ETJKEBFXTB7J5J25XE4T74RFTGSMZX4AAC XJXE6M6QRV4WRSY7D4T2QK35RUVD5YW3UP2RDUNFMXIGK2ZI6D2AC ELOFCNQ3LBRPKY33PMIHYSM32UIDSHJIM3W6ZO6TMRTO26NNIQHAC IMRHIIAUQDSKU4D6YONK67D6GH7ZLLMMB5S2HRZT76SYNJ7M2RSQC 3TU6FAXGIE5K34LWVKCLI6DPH74VUV4BMEADXKA2PMSR6KMKDX6AC YYXWGZLB6ZBEPIM5ZSOUVR7RU6RLQ65CZ4W2YELHD5OUJYDH6E5AC SWJWUKPJXUHJBS7LVSZTK6EEID4UZ4AYZMGI6RTSRK2KHWIC7HRQC O3VZ5J3LIYD3KBZLZA6HOJI7MVOV5DEODDPCPOMIBTPCO3CZW4YQC LG3NDQDEZ65QP564QKTTYC3XI4ZN3NVW4B5T36QJEBHMJAEH4VEAC DP6ASS5FJGSZUG2B4SQOKZVHFAVZLEHFVEWBNFG3BHMC6FZAJNHQC R7FXZ7ANRHRU3VWZOBEYSRYGEVF5YEIGLQDKFAR532DBF2I7BCBQC AFGKYLKUV6QBTL7JYDNOUCO2BVUR6CUB5MAKA3V3C76XGCWJULQAC KHBYSOY7O3OGZLSIYZL6XRYHPNESD7WG2IAT7JT7HBTTCZVW4WJAC 57DU4YHARHICJPWTTHSBB5O7MAW7GJVJUMVEREGVWEMHCGI7JMLQC 52CTWUQP2WCBMYNGOIOLOVUYWXF3YOJAPJY3WIHIFLIQD2WHIDFQC - Add the ability to download episodes matching a regex using `podcast download <podcast name> -p ".*goldfish.*"`
```shpodcast download <podcast name> --template "{title}-{number}"```- Add the ability to download episodes matching a regex using```shpodcast download <podcast name> --pattern ".*goldfish.*"```
let podcast = matches.value_of("PODCAST").unwrap();if let Some(template) = matches.value_of("template") {
let podcast = matches.get_one::<String>("PODCAST").unwrap();if let Some(template) = matches.get_one::<String>("TEMPLATE") {
match matches.value_of("EPISODE") {Some(ep) => {if let Some(pattern) = matches.value_of("pattern") {let regex = Regex::new(pattern)?;to_download.append(&mut download::download_matching(&mutable_state, podcast, ®ex).await?,)} else if String::from(ep).contains(|c| c == '-' || c == ',') {to_download.append(&mut download::download_range(&mutable_state, podcast, ep).await?);} else if matches.occurrences_of("name") > 0 {to_download.append(&mut download::download_episode_by_name(&mutable_state,podcast,ep,0 < matches.occurrences_of("all"),).await?,);} else {to_download.append(&mut download::download_episode_by_num(&mutable_state, podcast, ep).await?,);
if let Some(pattern) = matches.get_one::<String>("PATTERN") {let regex = Regex::new(pattern)?;to_download.append(&mut download::download_matching(&mutable_state, podcast, ®ex).await?)} else {match matches.get_one::<String>("EPISODE") {Some(ep) => {if String::from(ep).contains(|c| c == '-' || c == ',') {to_download.append(&mut download::download_range(&mutable_state, podcast, ep).await?);} else if matches.occurrences_of("NAME") > 0 {to_download.append(&mut download::download_episode_by_name(&mutable_state,podcast,ep,0 < matches.occurrences_of("ALL"),).await?,);} else {to_download.append(&mut download::download_episode_by_num(&mutable_state, podcast, ep).await?,);}
None => match matches.value_of("latest") {Some(num_of_latest) => {to_download.append(&mut download::download_latest(&mutable_state, podcast, num_of_latest.parse()?).await?,);}None => {to_download.append(&mut download::download_all(&mutable_state, podcast).await?);}},
const VERSION: &str = "0.19.3";