public void IgnoresCuratorComment() { using var ms = new MemoryStream(Encoding.UTF8.GetBytes(TestResources.GameWithCuratorComment)); var gameStream = new PgnGameStream(ms); var games = gameStream.ParseRemainingGames(); Assert.Equal(2, games.Count); }
/// <summary> /// Processes the job. /// </summary> /// <param name="job">The job to process.</param> /// <returns>An awaitable task.</returns> public async Task ProcessAsync(ProcessJob job) { var util = new TransferUtility(job.S3); string tmpPath = Path.GetTempFileName(); await util.DownloadAsync(new TransferUtilityDownloadRequest() { BucketName = job.SourceBucketName, Key = job.SourceKey, FilePath = tmpPath, }); using var stream = File.OpenRead(tmpPath); using var pgnGameStream = new PgnGameStream(stream); while (!pgnGameStream.EndOfStream) { var nextGame = pgnGameStream.ParseNextGame(); var(game, rows) = Flattener.FlattenPgnGame(nextGame, job.DatasetId); } }