Enhance event occurrence parsing with new location patterns and improved issue handling

This commit updates the LocationParsingConfiguration to include additional location patterns such as "Exhibit Hall *", "Mtg. Room *", and "Online". The EventOccurrenceParser has been enhanced to better handle parsing issues, including skipping comment and continuation lines, and cleaning up location text. New methods for analyzing location parsing failures and categorizing issues have been added to improve reporting. Additionally, the UI has been updated to support larger input sizes for event occurrence text, ensuring a smoother user experience during data import.
This commit is contained in:
2026-01-08 08:08:36 -05:00
parent c937192496
commit 5fdd5fadba
5 changed files with 572 additions and 67 deletions
@@ -33,16 +33,7 @@
</MudButton>
</MudStack>
<MudStack Spacing="3">
<MudTextField
T="string"
Label="Event Occurrence Text"
@bind-Value="_inputText"
Variant="Variant.Outlined"
Lines="15"
multiline="true"
Placeholder="Paste event occurrence text here..."
HelperText="Paste the event schedule text in the format expected by the parser" />
<MudStack Row="true" Spacing="2">
<MudButton
Variant="Variant.Filled"
@@ -59,6 +50,17 @@
Clear
</MudButton>
</MudStack>
<MudTextField
T="string"
Label="Event Occurrence Text"
@bind-Value="_inputText"
Variant="Variant.Outlined"
Lines="15"
AutoGrow="true"
Placeholder="Paste event occurrence text here..."
HelperText="Paste the event schedule text in the format expected by the parser" />
<!-- @bind-Value:event="oninput" -->
</MudStack>
</MudPaper>
</MudItem>
+10 -1
View File
@@ -1,5 +1,6 @@
using Data;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.SignalR;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.EntityFrameworkCore;
using MudBlazor.Services;
@@ -121,8 +122,16 @@ if (builder.Environment.IsProduction())
// Add services to the container.
builder.Services.AddControllersWithViews();
// Configure SignalR HubOptions to support large text inputs (e.g., pasted event occurrence files)
// Default limit is around 32KB, increase to 1MB to support large pasted text files
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();
.AddInteractiveServerComponents()
.AddHubOptions(options =>
{
// Increase maximum message size to 1MB to support large pasted text files
// The test file is ~430 lines, which is well within this limit
options.MaximumReceiveMessageSize = 1024 * 1024; // 1MB
});
builder.Services.AddMudServices();
builder.Services.AddVisNetwork();