adds a bit of logging when creating missing albums
PiwigoDirectorySync/pipeline/head This commit looks good Details

This commit is contained in:
Philipp Häfelfinger 2023-10-03 22:15:14 +02:00
parent f924c2a7d7
commit 662df35f6a
1 changed files with 16 additions and 10 deletions

View File

@ -53,20 +53,26 @@ internal class AlbumSynchronizer : IAlbumSynchronizer
private async Task AddMissingAlbumsToServerAsync(IPiwigoClient piwigoClient, ServerEntity piwigoServer, CancellationToken ct)
{
var albumsToCreate = await _persistenceContext.PiwigoAlbums.Where(a => a.ServerAlbumId == null && a.ServerId == piwigoServer.Id)
.OrderBy(a => a.Path)
.Select(a => a.Id)
.ToListAsync(ct);
var albumsToCreate = await _persistenceContext.PiwigoAlbums.Where(a => a.ServerAlbumId == null && a.ServerId == piwigoServer.Id).OrderBy(a => a.Path).ToListAsync(ct);
foreach (var albumId in albumsToCreate)
foreach (var albumEntity in albumsToCreate)
{
var albumEntity = await _persistenceContext.PiwigoAlbums.GetByIdAsync(albumId, ct);
var piwigoParentId = albumEntity.ParentId.HasValue ? (await _persistenceContext.PiwigoAlbums.GetByIdAsync(albumEntity.ParentId.Value, ct)).ServerAlbumId : null;
try
{
var piwigoParentId = albumEntity.ParentId.HasValue ? (await _persistenceContext.PiwigoAlbums.GetByIdAsync(albumEntity.ParentId.Value, ct)).ServerAlbumId : null;
_logger.Information("Creating album {AlbumName} ({AlbumPath}) on piwigo server {PiwigoServerName} ({PiwigoServerId})", albumEntity.Name, albumEntity.Path,
piwigoServer.Name, piwigoServer.Id);
albumEntity.ServerAlbumId = await piwigoClient.Album.AddAsync(albumEntity.Name, piwigoParentId, visible: true, position: AlbumPosition.First,
status: AlbumStatus.Public, cancellationToken: ct);
albumEntity.ServerAlbumId = await piwigoClient.Album.AddAsync(albumEntity.Name, piwigoParentId, visible: true, position: AlbumPosition.First,
status: AlbumStatus.Public, cancellationToken: ct);
await _persistenceContext.SaveChangesAsync(ct);
await _persistenceContext.SaveChangesAsync(ct);
}
catch (OperationCanceledException)
{
_logger.Debug("Cancel adding missing albums to server {PiwigoServerName} ({PiwigoServerId})", piwigoServer.Name, piwigoServer.Id);
return;
}
}
}