public RecueilExchange ReadFile(string path) { using StreamReader streamReader = new StreamReader(path); string textContent = streamReader.ReadToEnd(); streamReader.Close(); List <string> textContentSplited = textContent.Split("* * *").ToList(); _logger.LogInformation($"Nombre de commentaire PaS trouvé : {textContentSplited.Count}"); RecueilExchange recueils = new RecueilExchange(); Dictionary <int, Recueil> recueilsAnnee = new Dictionary <int, Recueil>(); foreach (string texte in textContentSplited) { if (!string.IsNullOrWhiteSpace(texte)) { Commentaire commentaire = ImportCommentaire(texte); if (commentaire.IsValid) { if (recueilsAnnee.TryGetValue(commentaire.Date.Year, out Recueil recueil)) { recueil.CommentairesId.Add(commentaire.Id); } else { recueilsAnnee.Add(commentaire.Date.Year, new Recueil { Id = Guid.NewGuid().ToString(), Annee = commentaire.Date.Year, Titre = $"Plaire au Seigneur {commentaire.Date.Year}" }); } recueils.Commentaires.Add(commentaire); } else { _logger.LogError($"commentaire incomplet dans {commentaire.Titre}"); } } } recueils.Recueils.AddRange(recueilsAnnee.Values); return(recueils); }
private static void RunOptions(CommandLineOptions opts) { RecueilExchange recueils = _bibleOnlineImporter.ReadFile(opts.InputFile); _mySwordCommentariesExport.Save(recueils.Commentaires, opts.Output); _myBibleCommentariesExport.Save(recueils.Commentaires, opts.Output); _osisCommentariesExport.Save(recueils.Commentaires, opts.Output); using StreamWriter file = new StreamWriter(@"output.html"); foreach (var commentaire in recueils.Commentaires) { file.WriteLine(_commentaireHtmlFormater.ToString(commentaire)); } Console.WriteLine(FiggleFonts.Swan.Render("Success !"), Color.Green); }