From 2355da58b2e0a05998ba19a7c7f1e4f8e0a558b0 Mon Sep 17 00:00:00 2001 From: Max <51083570+DRdrProfessor@users.noreply.github.com> Date: Sat, 27 May 2023 00:32:05 +0200 Subject: [PATCH] Reworking database implementation --- SharpRss/Services/RssService.cs | 43 ++++++++++++++++++-------------- WebSharpRSS/Pages/List.razor | 1 - WebSharpRSS/sharp_rss.sqlite | Bin 1196032 -> 1196032 bytes 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/SharpRss/Services/RssService.cs b/SharpRss/Services/RssService.cs index 8e803c6..d7f5bff 100644 --- a/SharpRss/Services/RssService.cs +++ b/SharpRss/Services/RssService.cs @@ -28,10 +28,17 @@ namespace SharpRss.Services } public async Task CreateGroupAsync(GroupModel group) => await _dbService.SetGroupAsync(group); public async Task> GetGroupsAsync() => await _dbService.GetGroupsAsync(); - - public async Task AddFeed(string rssUrl, GroupModel? group = null) + + //TODO: Need to rework this implementation!!! + /*public async Task FetchFeeds(string[]? rssUrls, GroupModel? group = null) { bool result = false; + if (rssUrls == null) return result; + HashSet fetchedFeeds = new HashSet(); + foreach (var rssUrl in rssUrls) + { + fetchedFeeds.Add(await FetchFeed(rssUrl)); + } Feed fetched = await FetchFeed(rssUrl); if (fetched == null) @@ -56,7 +63,7 @@ namespace SharpRss.Services if (await AddFeedItems(fetched.Items, dbFeed) == 0) Log.Warning("No feed items added to feed: {FeedUrl}", dbFeed.Url); return result; - } + }*/ public async Task> GetFeedsAsync(string? groupId = null) => await _dbService.GetFeedsAsync(groupId); public async Task> GetUngroupedFeedsAsync() => await _dbService.GetFeedsAsync(""); @@ -108,24 +115,22 @@ namespace SharpRss.Services groupRes = await CreateGroupAsync(new GroupModel() { Name = "News" }); groupRes = await CreateGroupAsync(new GroupModel() { Name = "Tech" }); groupRes = await CreateGroupAsync(new GroupModel() { Name = "Science" });*/ - /*var groups = await GetGroupsAsync(); + /*Log.Verbose("Fetching feeds..."); + var groups = await GetGroupsAsync(); GroupModel testGroup = groups.Single(x => x.Name == "Test"); - await Task.Run(async () => + try { - try - { - var res = await AddFeed("http://fedoramagazine.org/feed/", testGroup); - res = await AddFeed("https://www.nasa.gov/rss/dyn/breaking_news.rss", testGroup); - res = await AddFeed("https://journals.plos.org/plosone/feed/atom", testGroup); - res = await AddFeed("https://itsfoss.com/feed", testGroup); - res = await AddFeed("https://advisories.ncsc.nl/rss/advisories", testGroup); - } - catch (Exception e) - { - Log.Error(e, "Error fetching feeds!"); - throw; - } - });*/ + var res = await AddFeed("http://fedoramagazine.org/feed/", testGroup); + res = await AddFeed("https://www.nasa.gov/rss/dyn/breaking_news.rss", testGroup); + res = await AddFeed("https://journals.plos.org/plosone/feed/atom", testGroup); + res = await AddFeed("https://itsfoss.com/feed", testGroup); + res = await AddFeed("https://advisories.ncsc.nl/rss/advisories", testGroup); + } + catch (Exception e) + { + Log.Error(e, "Error fetching feeds!"); + throw; + }*/ } public void Dispose() diff --git a/WebSharpRSS/Pages/List.razor b/WebSharpRSS/Pages/List.razor index 29a6413..1456eda 100644 --- a/WebSharpRSS/Pages/List.razor +++ b/WebSharpRSS/Pages/List.razor @@ -53,7 +53,6 @@ { var fItems = await _rssService.GetFeedItemsAsync(Fid); items = fItems.Select(x => FeedItemData.FromModel(x)).OrderBy(x => x.PublishingDate).Reverse().ToHashSet(); - _isLoading = false; } else if (Gid != null) { diff --git a/WebSharpRSS/sharp_rss.sqlite b/WebSharpRSS/sharp_rss.sqlite index dadc057f041003b65d6c6d84d4842c0f75bfab90..40e24467041733edf12b9f6ab19ad3319cbc3403 100644 GIT binary patch delta 138 zcmZo@@N8)CoFL6;H&Mo!(Qadcia)E826HImbVVT^mFBhn?Q8uRftU%1nSq#P`&xh2 zZOV*F+fx=ZOE7XpDR1Ur>;RIS)9+p5*516y#GbqTLp>`HvjH(X5OV-AClGT1F-VRF UhC{5puhnD<5D%<