2CKX4R6ONNXDXGRYZ5NZEBJZFX5Z6BYPGNJ7LMXUHHFB4MUFJRCAC
ZD3G3BCXBEXELHH3KMXMDUQUJ4BXIF4ZSZKFIJJCRO7IDK4XPOWAC
XIHPYOWDLQY2MVMVUQPH23O3TBALRG4G2CHSLWSCAYMY5NVJ32WQC
FFAFJQ5QVMHTLULZTGVM5PX7XQEZQUWLPH2GAN5BGVAYZOZZYG5QC
THSENT35O3PIXQ343QPPE3DJGR4YVULN6YPS5ETW5PXSVGZZQIZAC
UIMZBURR7KOWSREO4GDH5C2LZDUTEZBKQNYWBYSFGUTRYJ4GKSNQC
Y6BVNXQ747WQKVB4JO3AHYOMBWNNJNPC6SG2UUCCZRIIXDMXJYDQC
476KTQSS5NXVCTVLVZQRGSYD5OAFBYG75VTSWBN26Q45RSMRT5YQC
6FJACP6KUOZ4HWK4PSS5PFPGDYXZSCAWSKIARWBDGCZTPJWXA62AC
MQKOX2CQ7AON24UJC7RORAC7Y2UROROVG7BBKLVWURPXKY75JV5AC
76TBVFPIFU3LSMXY5NAHZBH6HRJLSLK43PGOPL6QQ2YYVBJ64QAQC
DQ3IKTJCRSC74OONPXMNOMRGCV4MOAYQIMM7IQD6Z7KFJGP6MG7AC
5JMYBRF3UYX4LFH7JK6S4BEDKRVKDFIL4YKTCWKMKP4TMNNGQFKQC
EEJ6CBJRTXLPQP44I2RLWVLJBX565DXXAWU4JIWNA3MMNE7WB5LQC
yaml-rust = "0.3.5"
for podcast in &state.subs {
if re.is_match(&podcast.title) {
println!("Episodes for {}:", &podcast.title);
match Podcast::from_url(&podcast.url) {
Ok(podcast) => {
let episodes = podcast.episodes();
for (index, episode) in episodes.iter().enumerate() {
println!("({}) {}", episodes.len() - index, episode.title().unwrap());
}
}
Err(err) => println!("{}", err),
let mut path = get_podcast_dir();
path.push(".rss");
DirBuilder::new().recursive(true).create(&path).unwrap();
for entry in fs::read_dir(&path).unwrap() {
let entry = entry.unwrap();
if re.is_match(&entry.file_name().into_string().unwrap()) {
let file = File::open(&entry.path()).unwrap();
let channel = Channel::read_from(BufReader::new(file)).unwrap();
let podcast = Podcast::from(channel);
let episodes = podcast.episodes();
for (num, ep) in episodes.iter().enumerate() {
println!("({}) {}", episodes.len()-num, ep.title().unwrap());
let mut path = get_podcast_dir();
if let Err(err) = DirBuilder::new().recursive(true).create(&path) {
return Err(format!(
"Couldn't create directory: {}\nReason: {}",
path.to_str().unwrap(),
err
))
if let Err(err) = create_directories() {
return Err(format!("{}", err))