* update rtn to 025 * Implement movie / show type parsing * switch to RTN in collectors * ensure env for pythonnet is loaded, and that requirements copy for qbit * version bump
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
namespace QBitCollector.Features.Worker;
|
|
|
|
public class WriteQbitMetadataConsumer(IRankTorrentName rankTorrentName, IDataStorage dataStorage, ILogger<WriteQbitMetadataConsumer> logger) : IConsumer<WriteQbitMetadata>
|
|
{
|
|
public async Task Consume(ConsumeContext<WriteQbitMetadata> context)
|
|
{
|
|
var request = context.Message;
|
|
|
|
var torrentFiles = QbitMetaToTorrentMeta.MapMetadataToFilesCollection(
|
|
rankTorrentName, request.Torrent, request.ImdbId, request.Metadata.Metadata, logger);
|
|
|
|
if (!torrentFiles.Any())
|
|
{
|
|
await context.Publish(new QbitMetadataWritten(request.Metadata, false));
|
|
return;
|
|
}
|
|
|
|
await dataStorage.InsertFiles(torrentFiles);
|
|
|
|
var subtitles = await QbitMetaToTorrentMeta.MapMetadataToSubtitlesCollection(
|
|
dataStorage, request.Torrent.InfoHash, request.Metadata.Metadata, logger);
|
|
|
|
if (subtitles.Any())
|
|
{
|
|
await dataStorage.InsertSubtitles(subtitles);
|
|
}
|
|
|
|
await context.Publish(new QbitMetadataWritten(request.Metadata, true));
|
|
}
|
|
} |