chore: added DEFAULT_FEED var to fees
99866f9f
2 file(s) · +20 −8
| 2056 | 2056 | ||
| 2057 | 2057 | [[package]] |
|
| 2058 | 2058 | name = "jotts" |
|
| 2059 | - | version = "0.1.1" |
|
| 2059 | + | version = "0.1.2" |
|
| 2060 | 2060 | dependencies = [ |
|
| 2061 | 2061 | "andromeda-auth", |
|
| 2062 | 2062 | "askama 0.15.6", |
| 342 | 342 | } |
|
| 343 | 343 | ||
| 344 | 344 | // Priority 3: FreshRSS fallback |
|
| 345 | - | let freshrss_url = std::env::var("FRESHRSS_URL").map_err(|_| "FRESHRSS_URL not set")?; |
|
| 346 | - | let username = |
|
| 347 | - | std::env::var("FRESHRSS_USERNAME").map_err(|_| "FRESHRSS_USERNAME not set")?; |
|
| 348 | - | let password = |
|
| 349 | - | std::env::var("FRESHRSS_PASSWORD").map_err(|_| "FRESHRSS_PASSWORD not set")?; |
|
| 345 | + | if let Some((freshrss_url, username, password)) = crate::freshrss_env() { |
|
| 346 | + | let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?; |
|
| 347 | + | return Ok((items, None)); |
|
| 348 | + | } |
|
| 350 | 349 | ||
| 351 | - | let items = fetch_freshrss_items(&freshrss_url, &username, &password).await?; |
|
| 352 | - | Ok((items, None)) |
|
| 350 | + | // Priority 4: DEFAULT_FEED env var |
|
| 351 | + | if let Ok(default_feed) = std::env::var("DEFAULT_FEED") { |
|
| 352 | + | let urls: Vec<String> = default_feed |
|
| 353 | + | .split(',') |
|
| 354 | + | .map(|u| u.trim().to_string()) |
|
| 355 | + | .filter(|u| !u.is_empty()) |
|
| 356 | + | .collect(); |
|
| 357 | + | ||
| 358 | + | if !urls.is_empty() { |
|
| 359 | + | let items = parse_urls(&urls).await; |
|
| 360 | + | return Ok((items, Some(urls))); |
|
| 361 | + | } |
|
| 362 | + | } |
|
| 363 | + | ||
| 364 | + | Err("No feed source configured. Set FRESHRSS_URL/FRESHRSS_USERNAME/FRESHRSS_PASSWORD or DEFAULT_FEED.".to_string()) |
|
| 353 | 365 | } |