protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                var srtTranscripts = _transcriptService.GetTranscriptList(FileExtension.Srt);

                foreach (var srtTranscript in srtTranscripts)
                {
                    _logger.LogInformation($"TranscriptWorker: Processing {srtTranscript}");
                    var fileContent = _textFileService.GetFileContents(srtTranscript);

                    var transcriptOutput = _transcriptService.CleanTranscript(new TranscriptInputDto
                    {
                        Input = fileContent,
                        // VideoTitle = srtTranscript.Replace(TranscriptExt.Srt, string.Empty)
                        VideoTitle = Path.GetFileName(srtTranscript)
                    });

                    if (transcriptOutput != null)
                    {
                        _textFileService.DeleteFile(srtTranscript);
                    }

                    _logger.LogInformation($"TranscriptWorker: Finished processing {srtTranscript}");
                }

                await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
            }
        }
예제 #2
0
        public ActionResult <TranscriptOutputDto> CleanTranscript(TranscriptInputDto inputDto)
        {
            if (_transcriptService.IsValidTranscript(inputDto) == false)
            {
                string invalidMsg = "Input is not in a valid format";
                _logger.LogError(invalidMsg);
                return(BadRequest(invalidMsg));
            }

            return(_transcriptService.CleanTranscript(inputDto));
        }