コード例 #1
0
        private async Task CountWords(int episodeId, SrStoredEpisode storedEpisode, SrStoredSummarizedEpisode summarizedEpisode)
        {
            _logger.LogInformation($"Counting words for episode {episodeId}...");

            var transcription = summarizedEpisode.Transcription ?? string.Empty;
            var wordCount     = GetWordsCount(transcription, _words);

            var wordCountEpisode = new SrStoredWordCountEpisode
            {
                EpisodeId = episodeId,

                EpisodeAudioUrl               = summarizedEpisode.OriginalAudioUrl,
                EpisodeAudioLocale            = summarizedEpisode.AudioLocale,
                EpisodeAudioDurationInSeconds = GetEpisodeDuration(storedEpisode.Episode),

                EpisodeTitle          = summarizedEpisode.Title,
                EpisodeUrl            = summarizedEpisode.Url,
                EpisodePublishDateUtc = summarizedEpisode.PublishDateUtc,

                ProgramId   = summarizedEpisode.ProgramId,
                ProgramName = summarizedEpisode.ProgramName,

                EpisodeAudioTranscription = GetMaxLengthForTableStorage(transcription),

                WordCount = wordCount
            };

            await _wordCountStorage.StoreWordCounterEpisode(episodeId, wordCountEpisode);

            _logger.LogInformation($"Counted words on episode {episodeId}...");
        }
コード例 #2
0
        private async Task Summarize(int episodeId, SrStoredEpisode storedEpisode, SrStoredEpisodeTranscription storedEpisodeTranscription, SrStoredEnrichedEpisode storedEnrichedEpisode, SrStoredEpisodeSpeech episodeSpeech)
        {
            _logger.LogInformation($"Summarizing episode {episodeId}...");

            var summarizedEpisode = new SrStoredSummarizedEpisode
            {
                EpisodeId = episodeId,

                OriginalAudioUrl = storedEpisode.OriginalAudioUrl,

                AudioUrl    = storedEpisode.AudioUrl,
                AudioLocale = storedEpisode.AudioLocale,

                Title          = storedEpisode.Episode.Title,
                Description    = storedEpisode.Episode.Description,
                Url            = storedEpisode.Episode.Url,
                PublishDateUtc = storedEpisode.Episode.PublishDateUtc,
                ImageUrl       = storedEpisode.Episode.ImageUrl,
                ProgramId      = storedEpisode.Episode.Program.Id,
                ProgramName    = storedEpisode.Episode.Program.Name,

                Transcription = storedEpisodeTranscription.CombinedDisplayResult,

                Title_Original         = storedEnrichedEpisode.Title_Original,
                Description_Original   = storedEnrichedEpisode.Description_Original,
                Transcription_Original = storedEnrichedEpisode.Transcription_Original,

                Title_EN         = storedEnrichedEpisode.Title_EN,
                Description_EN   = storedEnrichedEpisode.Description_EN,
                Transcription_EN = storedEnrichedEpisode.Transcription_EN,
                SpeechUrl_EN     = episodeSpeech.SpeechUrl_EN,

                Title_SV         = storedEnrichedEpisode.Title_SV,
                Description_SV   = storedEnrichedEpisode.Description_SV,
                Transcription_SV = storedEnrichedEpisode.Transcription_SV,
                SpeechUrl_SV     = episodeSpeech.SpeechUrl_SV
            };

            await _summaryStorage.StoreSummarizedEpisode(episodeId, summarizedEpisode);

            _logger.LogInformation($"Summarized episode {episodeId}...");
        }