(Re-)introduce Threading, Add support for different Config (Settings) Sources, Remove Async leftovers

This commit is contained in:
Neshura 2024-07-21 02:27:16 +02:00
parent 2ae6468ad8
commit 5976bd59a7
Signed by: Neshura
GPG key ID: 4E2D47B1374C297D
15 changed files with 634 additions and 329 deletions
src/fetchers

View file

@ -1,4 +1,3 @@
use async_trait::async_trait;
use serde_derive::{Deserialize, Serialize};
use strum_macros::Display;
use crate::fetchers::Fetcher::Jnc;
@ -7,16 +6,15 @@ use crate::lemmy::{PostInfo};
pub mod jnovel;
#[async_trait]
pub(crate) trait FetcherTrait {
fn new() -> Self where Self: Sized;
async fn check_feed(&self) -> Result<Vec<PostInfo>, ()>;
fn check_feed(&self) -> Result<Vec<PostInfo>, ()>;
}
impl Fetcher {
pub(crate) async fn check_feed(&self) -> Result<Vec<PostInfo>, ()> {
pub(crate) fn check_feed(&self) -> Result<Vec<PostInfo>, ()> {
match self {
Jnc(fetcher) => fetcher.check_feed().await,
Jnc(fetcher) => fetcher.check_feed(),
/*default => {
let err_msg = format!("Fetcher {default} is not implemented");
error!(err_msg);