1
Fork 0

Compare commits

..

No commits in common. "f52d89ad2417ec483bd6d06e9710beb84fe5e30d" and "f27795fcfe1b645d93a80d0dd8d948f76360b1ea" have entirely different histories.

1 changed files with 6 additions and 27 deletions

View File

@ -36,16 +36,6 @@ pub struct Args {
pub verify: bool, pub verify: bool,
} }
/// A simple feed struct.
#[derive(Debug)]
pub struct Feed {
/// The text to use for the feed in the OPML output.
pub text: Option<String>,
/// The URL of the feed.
pub url: String,
}
fn main() -> Result<()> { fn main() -> Result<()> {
install()?; install()?;
@ -59,10 +49,8 @@ fn main() -> Result<()> {
let mut feeds_to_output = vec![]; let mut feeds_to_output = vec![];
for appid in args.appid { for appid in args.appid {
potential_feeds.push(Feed { potential_feeds
text: Some(format!("Steam AppID {appid}")), .push(format!("https://steamcommunity.com/games/{appid}/rss/"));
url: format!("https://steamcommunity.com/games/{appid}/rss/"),
});
} }
if args.verify { if args.verify {
@ -70,15 +58,9 @@ fn main() -> Result<()> {
.with_style(ProgressStyle::with_template("Verifying {pos}/{len} {bar}")?); .with_style(ProgressStyle::with_template("Verifying {pos}/{len} {bar}")?);
for potential_feed in potential_feeds { for potential_feed in potential_feeds {
let response = ureq_agent.get(&potential_feed.url).call()?; let response = ureq_agent.get(&potential_feed).call()?;
if response.content_type() == "text/xml" { if response.content_type() == "text/xml" {
let body = response.into_string()?; feeds_to_output.push(potential_feed);
let title_start = body.find("<title>").unwrap() + 7;
let title_end = body.find("</title>").unwrap();
feeds_to_output.push(Feed {
text: Some(body[title_start..title_end].to_string()),
url: potential_feed.url,
});
} }
sleep(timeout); sleep(timeout);
@ -89,14 +71,11 @@ fn main() -> Result<()> {
} }
let mut opml_document = opml::OPML::default(); let mut opml_document = opml::OPML::default();
opml_document.head = None;
for feed in feeds_to_output { for feed in feeds_to_output {
if args.opml { if args.opml {
opml_document opml_document.add_feed(&feed, &feed);
.add_feed(&feed.text.unwrap_or_else(|| feed.url.clone()), &feed.url);
} else { } else {
println!("{}", feed.url); println!("{feed}");
} }
} }