mirror of
https://github.com/alexhopeoconnor/bom-local-service.git
synced 2026-10-04 03:28:11 +10:00
Fix frame deduplication and chronological ordering in time series endpoint
- Fix scraping to wait for display label to change after step forward, preventing duplicate minutesAgo values within same folder - Add hashset-based deduplication by AbsoluteObservationTime across cache folders - Filter frames that are too close together (< 4 minutes apart) - Preserve original folder structure while pruning filtered frames - Sort folders by earliest frame time to maintain chronological order - Add validation to detect folder overlaps that could cause out-of-order frames
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
namespace BomLocalService.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Information about a cache folder containing cached data for a location.
|
||||
/// Each cache folder represents one capture session and can contain multiple data types.
|
||||
/// </summary>
|
||||
public class CacheFolder
|
||||
{
|
||||
/// <summary>
|
||||
/// The folder name (e.g., "Pomona_QLD_20251207_000906").
|
||||
/// </summary>
|
||||
public string FolderName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// The UTC timestamp when this cache folder was created (extracted from folder name).
|
||||
/// </summary>
|
||||
public DateTime CacheTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The observation time from the metadata (when the weather data was captured by BOM).
|
||||
/// </summary>
|
||||
public DateTime ObservationTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// List of data types available in this cache folder.
|
||||
/// </summary>
|
||||
public List<CachedDataType> AvailableDataTypes { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Whether this cache folder is complete and ready to use.
|
||||
/// </summary>
|
||||
public bool IsComplete { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user