mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
refactor(archival): ♻ only fetch most primary url for each list segment
This commit is contained in:
parent
25c726b9a2
commit
6581ba3eee
1 changed files with 8 additions and 4 deletions
|
|
@ -43,7 +43,11 @@ public async Task<Unit> Handle(Command request, CancellationToken cancellationTo
|
|||
_logger.LogDebug("Archiving list {ListId}", request.ListId);
|
||||
|
||||
var listDetails = await _directory.GetListDetailsAsync(request.ListId, cancellationToken);
|
||||
var segments = listDetails.ViewUrls?.GroupBy(u => u.SegmentNumber).ToList();
|
||||
var segments = listDetails.ViewUrls?
|
||||
.GroupBy(u => u.SegmentNumber)
|
||||
.Select(g => g.OrderBy(u => u.Primariness))
|
||||
.First()
|
||||
.ToList();
|
||||
|
||||
if (segments != null)
|
||||
{
|
||||
|
|
@ -53,14 +57,14 @@ public async Task<Unit> Handle(Command request, CancellationToken cancellationTo
|
|||
Stream? contents = default; // TODO: fetch list file stream
|
||||
var path = Path.Combine(
|
||||
listDetails.Id.ToString(CultureInfo.InvariantCulture),
|
||||
segment.Key.ToString(CultureInfo.InvariantCulture));
|
||||
_logger.LogDebug("Archiving segment {SegmentNumber} of list {ListId}", segment.Key, request.ListId);
|
||||
segment.SegmentNumber.ToString(CultureInfo.InvariantCulture));
|
||||
_logger.LogDebug("Archiving segment {SegmentNumber} of list {ListId}", segment.SegmentNumber, request.ListId);
|
||||
archiveTasks.Add(_archiver.ArchiveFileAsync(contents, path, cancellationToken));
|
||||
}
|
||||
|
||||
await Task.WhenAll(archiveTasks);
|
||||
_archiver.Commit();
|
||||
_logger.LogDebug("Archived segments {@SegmentNumbers} of list {ListId}", segments.Select(s => s.Key), request.ListId);
|
||||
_logger.LogDebug("Archived segments {@SegmentNumbers} of list {ListId}", segments.Select(s => s.SegmentNumber), request.ListId);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue