basically works

This commit is contained in:
Adam R Grey 2023-12-04 21:31:31 -05:00
parent 028ffa2686
commit 0ee2bf90f5

View File

@ -1,11 +1,34 @@
 namespace podcast_agent
namespace podcast_agent
{ {
using System.Xml.Linq;
class Program class Program
{ {
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
Console.WriteLine("hello world"); var downloader = new HttpClient();
downloader.DefaultRequestHeaders.UserAgent.ParseAdd("wget-is-not-a-crime");
var xml = XDocument.Load("https://feeds.npr.org/500005/podcast.xml");
XNamespace ns = "http://www.itunes.com/dtds/podcast-1.0.dtd";
foreach (var item in xml.Descendants("item"))
{
var title = item.Element("title")?.Value;
var ext=".wav";
var attachmentLink = item.Element("enclosure")?.Attribute("url")?.Value.ToString();
var probableFilename = attachmentLink.Substring(0, attachmentLink.IndexOf('?'));
if(probableFilename.LastIndexOf('.') > 0)
{
ext = probableFilename.Substring(probableFilename.LastIndexOf('.'));
}
Console.WriteLine($"{title}, {attachmentLink}");
var downloadPath = title + ext;
var dlResult = (await downloader.GetAsync(attachmentLink));
File.WriteAllBytes(downloadPath, await dlResult.Content.ReadAsByteArrayAsync());
}
} }
} }
} }