Skip to content

Commit 9e4c359

Browse files
committed
Refactored several methods to streamline db access and error handling
1 parent 15ed971 commit 9e4c359

17 files changed

+594
-436
lines changed

Directory.Packages.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0-preview.5.25277.114" />
2424
<PackageVersion Include="Polly" Version="8.6.1" />
2525
<PackageVersion Include="PuppeteerSharp" Version="20.1.3" />
26+
<PackageVersion Include="puppeteersharp.dom" Version="5.0.43" />
2627
<PackageVersion Include="System.Text.Json" Version="10.0.0-preview.5.25277.114" />
2728
</ItemGroup>
2829
</Project>

Forms/MainForm.Designer.cs

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Forms/MainForm.cs

Lines changed: 34 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88

99

10-
using MediaRecycler.Model;
1110
using MediaRecycler.Modules;
1211
using MediaRecycler.Modules.Interfaces;
1312
using MediaRecycler.Modules.Loggers;
@@ -105,8 +104,11 @@ private void AppendToMainViewer(object? sender, string text)
105104
/// </remarks>
106105
/// <param name="sender">The source of the event, typically the download button.</param>
107106
/// <param name="e">An <see cref="EventArgs" /> object containing event data.</param>
108-
private async void btn_download_Click(object sender, EventArgs e)
107+
private async void btn_queue_Click(object sender, EventArgs e)
109108
{
109+
110+
111+
110112
_downloadManager = new UrlDownloader(_aggregator);
111113

112114
// --- Subscribe to Events ---
@@ -144,7 +146,6 @@ private async void btn_download_Click(object sender, EventArgs e)
144146
}
145147
catch (Exception ex)
146148
{
147-
await _downloadManager.SaveQueueAsync();
148149
Program.Logger?.LogError(ex, "Error running download process.");
149150
AppendToMainViewer(this, $"Error running download: {ex.Message}");
150151
SetStatusLabelText(this, "Download failed.");
@@ -163,9 +164,35 @@ private async void btn_download_Click(object sender, EventArgs e)
163164

164165

165166

166-
private async void btn_QueueVids_Click(object sender, EventArgs e)
167+
private async void btn_Process_Click(object sender, EventArgs e)
168+
{
169+
170+
171+
IBlogScraper? scraper = new BlogScraper(_aggregator);
172+
_scraper = scraper;
173+
174+
if (_scraper is IBlogScraper bscraper)
175+
{
176+
try
177+
{
178+
await bscraper.ExtractTargetLinksAsync();
179+
}
180+
catch (Exception)
181+
{
182+
183+
184+
}
185+
}
186+
187+
}
188+
189+
190+
191+
192+
193+
private async void btn_download_Click(object sender, EventArgs e)
167194
{
168-
btn_QueVideos.Enabled = false;
195+
btn_Process.Enabled = false;
169196
try
170197
{
171198
_aggregator.Publish(new StatusMessage("Queuing videos..."));
@@ -198,7 +225,7 @@ private async void btn_QueueVids_Click(object sender, EventArgs e)
198225
SetStatusLabelText(null, "Video Queue finished.");
199226
}
200227

201-
btn_QueVideos.Enabled = true;
228+
btn_Process.Enabled = true;
202229
}
203230

204231

@@ -505,7 +532,7 @@ private async Task ToggleButtonsAsync(object sender, bool isEnabled)
505532
{
506533
switch (button.Name)
507534
{
508-
case nameof(btn_QueVideos):
535+
case nameof(btn_Process):
509536
button.Enabled = isEnabled;
510537

511538
if (_scraper != null) await _scraper.CancelAsync();
@@ -549,51 +576,6 @@ private void btn_Testing_Click(object sender, EventArgs e)
549576

550577

551578

552-
private void GetCollectedLinksFromFiles()
553-
{
554-
//string directory = AppDomain.CurrentDomain.BaseDirectory;
555-
//string[] txtFiles = Directory.GetFiles(directory, "*.txt", SearchOption.TopDirectoryOnly);
556-
var allLines = new List<string>();
557-
558-
var lnks = File.ReadAllLines(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CollectedUrls.txt"));
559-
560-
561-
562-
using var db = new MRContext();
563-
564-
565-
foreach (string url in lnks)
566-
{
567-
var d = db.PostPages.ToList();
568-
tb_pages.Text = d.Count.ToString();
569-
570-
try
571-
{
572-
var id = url.Split("/").Last();
573-
try
574-
{
575-
if (!DataLayer.InsertPostPageUrlToDb(id, url))
576-
{
577-
578-
}
579-
}
580-
catch (Exception ex)
581-
{
582-
_aggregator?.Publish(new StatusMessage($"Error reading file '{url}': {ex.Message}"));
583-
continue;
584-
}
585-
586-
}
587-
catch (Exception)
588-
{
589-
continue;
590-
}
591-
tb_pages.Text = lnks.Length.ToString();
592-
}
593-
594-
595-
}
596-
597579

598580

599581

MediaRecycler.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" />
6666
<PackageReference Include="Polly" />
6767
<PackageReference Include="PuppeteerSharp" />
68+
<PackageReference Include="puppeteersharp.dom" />
6869
</ItemGroup>
6970
<ItemGroup>
7071
<Compile Update="Model\DataSet1.Designer.cs">

0 commit comments

Comments
 (0)