@
Phase 1: Modul-System formalisiert (IModule + ModuleRegistry) - Core/Modules/IModule.cs: Vertrag (Key, DisplayName, Description, Version, RegisterServices, InitializeAsync, GetWorkers, CreateWindow) - Core/Modules/ModuleRegistry.cs - CongressTradingModule auf IModule umgestellt (instanzbasiert, Platzhalter-Fenster) - Program.cs iteriert ueber IModule[] + Registry; Form1 initialisiert Module ueber Registry - Testbarkeit: WorkerBase DB-Log-Seam (virtuell); CapitolTradesScraper.ParseTradesFromHtml extrahiert (offline gegen ct_raw.html testbar) - Tests: ModuleRegistry, CongressTradingModule, WorkerBase, CapitolTradesScraper -> 15/15 gruen Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> @
This commit is contained in:
@@ -143,6 +143,16 @@ public class CapitolTradesScraper
|
||||
var url = $"{BaseUrl}/trades?pageSize=96&page={page}";
|
||||
var html = await _http.GetStringAsync(url, ct);
|
||||
|
||||
return ParseTradesFromHtml(html, page);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reine Parse-Logik: extrahiert Trades aus dem HTML (RSC-Stream) einer Trades-Seite.
|
||||
/// Kein Netzwerkzugriff – dadurch offline gegen gespeicherte Fixtures testbar.
|
||||
/// </summary>
|
||||
public (List<CongressTrade> Trades, HashSet<string> MemberBioIds)
|
||||
ParseTradesFromHtml(string html, int page = 1)
|
||||
{
|
||||
var trades = new List<CongressTrade>();
|
||||
var memberIds = new HashSet<string>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user