public async Task ExecuteServiceAsync(string subtitleFile, CancellationToken stoppingToken)
        {
            try
            {
                _logger.LogInformation($"Processing {subtitleFile}");

                await ConfirmFileTransferCompleteAsync(subtitleFile);

                string fileContent = GetFileContents(subtitleFile);

                SubtitleInputDto subtitleInputDto =
                    new SubtitleInputDto(fileContent, Path.GetFileName(subtitleFile));

                if (subtitleInputDto.IsValidSrtSubtitleFile() == false)
                {
                    _logger.LogError($"{subtitleFile} is not in a valid format");
                    return;
                }

                SubtitleOutputDto transcriptOutput = CleanSubtitle(subtitleInputDto);

                SaveSubtitleFile(transcriptOutput, _uploadDirectory);
                ArchiveSubtitleFile(subtitleFile, _uploadDirectory);

                _logger.LogInformation($"Finished processing {subtitleFile}");
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.InnerException, ex.Message);
            }
        }
Example #2
0
        public async Task <IActionResult> CleanSubtitle(SubtitleInputDto inputDto)
        {
            if (inputDto.IsValidSrtSubtitleFile() == false)
            {
                return(BadRequest("Input is not in a valid format"));
            }

            var subtitle = await Task.Run(() => _subtitleService.CleanSubtitle(inputDto));

            return(Ok(subtitle));
        }