added basic start page setup; began rewrite of parser

This commit is contained in:
schnulller
2022-06-14 00:31:52 +02:00
parent 6be85d495b
commit 9e53de8be3
61 changed files with 532745 additions and 661 deletions

View File

@@ -1,70 +1,70 @@
using System.Collections.Generic;
using HaDocument.Interfaces;
// using System.Collections.Generic;
// using HaDocument.Interfaces;
namespace HaDocument.Models
{
public class IntermediateLibrary
{
public Dictionary<string, Tradition> Traditions;
public Dictionary<string, Person> Persons;
public Dictionary<string, Meta> Metas;
public Dictionary<string, Marginal> Marginals;
public Dictionary<string, Location> Locations;
public Dictionary<string, Letter> Letters;
public Dictionary<string, Person> HandPersons;
public Dictionary<string, Editreason> Editreasons;
public Dictionary<string, Comment> Comments;
public Dictionary<string, List<Backlink>> Backlinks;
public Dictionary<string, List<Hand>> Hands;
// namespace HaDocument.Models
// {
// public class IntermediateLibrary
// {
// public Dictionary<string, Tradition> Traditions;
// public Dictionary<string, Person> Persons;
// public Dictionary<string, Meta> Metas;
// public Dictionary<string, Marginal> Marginals;
// public Dictionary<string, Location> Locations;
// public Dictionary<string, Letter> Letters;
// public Dictionary<string, Person> HandPersons;
// public Dictionary<string, Editreason> Editreasons;
// public Dictionary<string, Comment> Comments;
// public Dictionary<string, List<Backlink>> Backlinks;
// public Dictionary<string, List<Hand>> Hands;
// Helper Library for precalculationg the Structure of the Document:
public Dictionary<string, Dictionary<string, HashSet<string>>> LetterPageLines;
// // Helper Library for precalculationg the Structure of the Document:
// public Dictionary<string, Dictionary<string, HashSet<string>>> LetterPageLines;
public Library GetLibrary(IHaDocumentOptions options)
{
var Structure = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
foreach (var letter in LetterPageLines)
{
if (Metas.ContainsKey(letter.Key) &&
Metas[letter.Key].ZH != null)
{
if (!Structure.ContainsKey(Metas[letter.Key].ZH.Volume))
{
Structure.Add(Metas[letter.Key].ZH.Volume, new Dictionary<string, Dictionary<string, string>>());
}
foreach (var page in letter.Value)
{
if (!Structure[Metas[letter.Key].ZH.Volume].ContainsKey(page.Key))
{
Structure[Metas[letter.Key].ZH.Volume].Add(page.Key, new Dictionary<string, string>());
}
foreach (var line in page.Value)
{
if (!Structure[Metas[letter.Key].ZH.Volume][page.Key].ContainsKey(line))
{
Structure[Metas[letter.Key].ZH.Volume][page.Key].Add(line, letter.Key);
}
}
}
}
// public Library GetLibrary(IHaDocumentOptions options)
// {
// var Structure = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
// foreach (var letter in LetterPageLines)
// {
// if (Metas.ContainsKey(letter.Key) &&
// Metas[letter.Key].ZH != null)
// {
// if (!Structure.ContainsKey(Metas[letter.Key].ZH.Volume))
// {
// Structure.Add(Metas[letter.Key].ZH.Volume, new Dictionary<string, Dictionary<string, string>>());
// }
// foreach (var page in letter.Value)
// {
// if (!Structure[Metas[letter.Key].ZH.Volume].ContainsKey(page.Key))
// {
// Structure[Metas[letter.Key].ZH.Volume].Add(page.Key, new Dictionary<string, string>());
// }
// foreach (var line in page.Value)
// {
// if (!Structure[Metas[letter.Key].ZH.Volume][page.Key].ContainsKey(line))
// {
// Structure[Metas[letter.Key].ZH.Volume][page.Key].Add(line, letter.Key);
// }
// }
// }
// }
}
// }
return new Library(
Traditions,
Persons,
Metas,
Marginals,
Locations,
Letters,
HandPersons,
Editreasons,
Comments,
Backlinks,
Hands,
Structure,
options
);
}
}
}
// return new Library(
// Traditions,
// Persons,
// Metas,
// Marginals,
// Locations,
// Letters,
// HandPersons,
// Editreasons,
// Comments,
// Backlinks,
// Hands,
// Structure,
// options
// );
// }
// }
// }