Compare commits

..

8 Commits

Author SHA1 Message Date
Lauri Koskenniemi
2966922c61 Output size defined in config 2025-12-05 09:24:51 +02:00
Lauri Koskenniemi
92a8675c41 Add output formats to puudot config
The output format(s) are now defined in the puudot config under
output key as a list.
2025-12-04 21:12:34 +02:00
0e5a2868b0 Introduce verbose mode and generalize output formats
Added program specific configurations in config.yaml under puudot
and added key for verbose mode. Currently verbose mode prints
'dot' information when running the program.

Refactored puudot.py and graph.py in order to allow easier
addition of output formats.
2025-12-03 20:43:05 +02:00
e5d146cbe1 Sync config.yaml 2025-11-21 16:17:10 +02:00
ab8417646f Data moved until TÄHÄN ASTI SIIRRETTY 2025-09-15 21:40:34 +03:00
c432ec2af3 Disabled Docker network and fixed blocks data 2025-09-15 20:37:52 +03:00
ae76ebc003 Move code from image to volume
Created execution script for the container image and moved code
copy from Dockerfile to volume in compose.

Now code changes don't require image rebuild.
2025-09-15 20:27:18 +03:00
adb5502cb8 Finished generation 8 in data
Continue to generation 9...
2025-09-14 21:03:57 +03:00
10 changed files with 5707 additions and 1766 deletions

View File

@ -1,5 +1,6 @@
FROM alpine FROM alpine
RUN apk add --no-cache \ RUN apk add --no-cache \
yq \
python3 \ python3 \
py3-yaml \ py3-yaml \
graphviz graphviz
@ -7,4 +8,4 @@ RUN apk add --no-cache \
COPY run.sh /run.sh COPY run.sh /run.sh
RUN chmod +x /run.sh RUN chmod +x /run.sh
CMD ["./run.sh"] CMD ["/run.sh"]

View File

@ -8,8 +8,6 @@ import uuid
# - also see: https://stackoverflow.com/questions/53862417/how-to-set-head-and-tail-position-in-nodes-graphviz # - also see: https://stackoverflow.com/questions/53862417/how-to-set-head-and-tail-position-in-nodes-graphviz
# Solve layering of clusters # Solve layering of clusters
# - https://observablehq.com/@gordonsmith/church # - https://observablehq.com/@gordonsmith/church
# https://candide-guevara.github.io/cs_related/2019/09/10/graphviz-examples.html
# https://forum.graphviz.org/t/set-nodes-from-left-to-right-and-other-from-top-to-bottom-on-the-same-rank/1860
@ -42,21 +40,9 @@ def make_link_line(link, config):
return line + "\n" return line + "\n"
def make_block_line(block, config): def make_block_line(block, config):
configs = [] line = f"subgraph cluster_{block['id']} {{\n{config["subgraph"]}\nlabel=\"{block['label']}\"\n"
if block['hidden']: for node in block["texts"]:
configs.append(config["subgraph"]["hidden"])
else:
configs.append(config["subgraph"]["block"])
config_line = "\n".join(configs)
line = f"subgraph cluster_{block['id']} {{\n{config_line}\nlabel=\"{block['label']}\"\n"
for node in block["nodes"]:
line += f"{node}\n" line += f"{node}\n"
#if block['hidden']:
#line += "{rank=same\nedge [constraint=false]\n"
#line += f"{block['nodes'][0]} -- {block['nodes'][1]}\n"
#line += "}"
return line + "}\n\n" return line + "}\n\n"
@ -90,6 +76,7 @@ class Graph:
def __init__(self): def __init__(self):
self.config = {} self.config = {}
self.layers = {}
self.blocks = [] self.blocks = []
self.nodes = [] self.nodes = []
self.links = [] self.links = []
@ -102,15 +89,12 @@ class Graph:
dot = config.get("dot", {}) dot = config.get("dot", {})
if dot != {}: if dot != {}:
dot["graph"] = dot.get("graph", "") dot["graph"] = dot.get("graph", "")
dot["subgraph"] = dot.get("subgraph", {}) dot["subgraph"] = dot.get("subgraph", "")
dot["subgraph"]["block"] = dot["subgraph"].get("block", "")
dot["subgraph"]["hidden"] = dot["subgraph"].get("hidden", "")
dot["node"] = dot.get("node", {}) dot["node"] = dot.get("node", {})
dot["node"]["text"] = dot["node"].get("text", "") dot["node"]["text"] = dot["node"].get("text", "")
dot["node"]["hidden"] = dot["node"].get("hidden", "") dot["node"]["hidden"] = dot["node"].get("hidden", "")
dot["edge"] = dot.get("edge", {}) dot["edge"] = dot.get("edge", {})
dot["edge"]["default"] = dot["edge"].get("default", "") dot["edge"]["default"] = dot["edge"].get("default", "")
dot["edge"]["middle"] = dot["edge"].get("middle", "")
dot["edge"]["hidden"] = dot["edge"].get("hidden", "") dot["edge"]["hidden"] = dot["edge"].get("hidden", "")
self.config = dot self.config = dot
@ -124,10 +108,10 @@ class Graph:
new_block = { new_block = {
"id": block_id, "id": block_id,
"label": block.get("label", ""), "label": block.get("label", ""),
"nodes": [], "texts": []
"hidden": False
} }
#prev_node_id = ""
texts_in_block = block.get("texts", []) texts_in_block = block.get("texts", [])
for i, text in enumerate(texts_in_block): for i, text in enumerate(texts_in_block):
node_id = get_id() node_id = get_id()
@ -136,28 +120,22 @@ class Graph:
if i == math.ceil(len(texts_in_block) / 2) - 1: if i == math.ceil(len(texts_in_block) / 2) - 1:
for link in block.get("links", []): for link in block.get("links", []):
if link in linker: if link in linker:
"""link_node1 = get_id()
link_node2 = get_id()
self.nodes.append({"id": link_node1, "text": "", "hidden": True})
self.nodes.append({"id": link_node2, "text": "", "hidden": True})
link_block_id = get_id()
self.blocks.append({"id": link_block_id, "label": "", "nodes": [link_node1, link_node2], "hidden": True})
self.links.append({"from": linker[link], "to": link_node1, "head": "", "hidden": False})
#self.links.append({"from": link_node1, "to": link_node2, "head": "", "hidden": False})
self.links.append({"from": link_node2, "to": node_id, "head": block_id, "hidden": False})"""
self.links.append({"from": linker[link], "to": node_id, "head": block_id, "hidden": False}) self.links.append({"from": linker[link], "to": node_id, "head": block_id, "hidden": False})
del linker[link] del linker[link]
self.nodes.append({"id": node_id, "text": text.get("text", ""), "hidden": False}) self.nodes.append({"id": node_id, "text": text.get("text", ""), "hidden": False})
new_block["nodes"].append(node_id) # Chain nodes in block
#if prev_node_id:
# self.links.append({"from": prev_node_id, "to": node_id, "head": "", "hidden": True})
new_block["texts"].append(node_id)
for link in text.get("links", []): for link in text.get("links", []):
linker[link] = node_id linker[link] = node_id
#prev_node_id = node_id
self.blocks.append(new_block) self.blocks.append(new_block)
def build_dot(self): def build_dot(self):
@ -167,12 +145,12 @@ class Graph:
self.dot_file += add_links(self.links, self.config) self.dot_file += add_links(self.links, self.config)
self.dot_file += make_footer() self.dot_file += make_footer()
def make_dot(self, format="svg", dot_file="dot.gv", svg_file="graph.svg"): def make_dot(self, dot_file, out_file, format):
if self.dot_file != "": if self.dot_file != "":
with open(dot_file, "w") as f: with open(dot_file, "w") as f:
f.write(self.dot_file) f.write(self.dot_file)
if format == "svg": if format:
os.system(f"dot -T{format} {dot_file} -o {svg_file}") os.system(f"dot -T{format} {dot_file} -o {out_file}")

View File

@ -10,6 +10,7 @@ def main():
# Get all YAML files in the data directory # Get all YAML files in the data directory
yaml_files = [f for f in os.listdir(DATA_DIR) if f.endswith(('.yaml', '.yml'))] yaml_files = [f for f in os.listdir(DATA_DIR) if f.endswith(('.yaml', '.yml'))]
config = load_config(CONFIG_FILE) config = load_config(CONFIG_FILE)
puudot_config = config.get('puudot', {})
for yaml_file in yaml_files: for yaml_file in yaml_files:
print(f"Processing {yaml_file}...") print(f"Processing {yaml_file}...")
@ -22,8 +23,13 @@ def main():
# Use the base name of the YAML file (without extension) as the output name # Use the base name of the YAML file (without extension) as the output name
base_name = os.path.splitext(yaml_file)[0] base_name = os.path.splitext(yaml_file)[0]
dot_file = os.path.join(DATA_DIR, f"{base_name}.gv") dot_file = os.path.join(DATA_DIR, f"{base_name}.gv")
svg_file = os.path.join(DATA_DIR, f"{base_name}.svg")
graph.make_dot("svg", dot_file, svg_file) if puudot_config.get('verbose') == True:
print(f"Output formats: {puudot_config.get('output')}")
for format in puudot_config.get('output'):
out_file = os.path.join(DATA_DIR, f"{base_name}.{format}")
graph.make_dot(dot_file, out_file, format)
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -1,17 +1,25 @@
puudot:
verbose: false
output:
- pdf
- svg
dot: dot:
graph: | graph: |
graph [splines=true, nodesep=0.25, ranksep="1 equally"]
//graph [splines=ortho, nodesep=0.2, ranksep="0.5 equally"] //graph [splines=ortho, nodesep=0.2, ranksep="0.5 equally"]
graph [splines=polyline, nodesep=0.2, ranksep="0.5 equally"]
//graph [splines=curved, nodesep=0.2, ranksep="0.5 equally"]
//graph [splines=true, nodesep=0.2, ranksep="0.5 equally"]
//graph [splines=line, nodesep=0.2, ranksep="0.5 equally"]
//node [color=white] //node [color=white]
//edge [headport=n, tailport=s] //edge [headport=n, tailport=s]
compound=true compound=true
center=true center=true
subgraph: fontname="Helvetica"
block: | charset="UTF-8"
labeljust=l bgcolor="white"
hidden: | size="100,11.693!"
//rank=same subgraph: |
//style=invis labeljust=l
node: node:
text: | text: |
shape=plaintext shape=plaintext
@ -22,7 +30,7 @@ dot:
height=0 height=0
edge: edge:
default: | default: |
//headport=n headport=n
//tailport=s tailport=s
hidden: | hidden: |
style=invis style=invis

File diff suppressed because it is too large Load Diff

BIN
data/styrman-blocks.pdf Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 253 KiB

View File

@ -1224,4 +1224,956 @@ blocks:
k.17.03.1985 Elimäki k.17.03.1985 Elimäki
links: [63] links: [63]
- layer: 8 - layer: 8
label: TODO... label: 8. sukupolvi, Valde Rudolf Kivisen lapset
links: [35a]
texts:
- text: |
Aili Kaarina
Kivinen
s.31.12.1926
Ondonga-Amomaa
k.xx.xx.xxxx
pso 28.06.1952
Urho Kalervo
Poikolainen
s.23.05.1925
asumusero 1972
avioero 1977
links: [64]
- text: |
Anja Maria
Kivinen
s.10.10.1928
Ondonga-Ambomaa
k.
- text: |
Irja Elisabet
Kivinen
s.10.10.1928
Ondonga-Ambomaa
k.
pso 23.6.1950
Raimo Armas
Anttonen
s.01.11.1927 Sortavala
k.
muuttivat 13.10.1995 Lahteen
links: [65]
- text: |
Hannu Kalevi
Kivinen
s.31.3.1941 Lahti
k.muutti 01.07.1965
muutti 01.07.1965
naimattomana Helsinkiin
Johanneksen srk
- layer: 8
label: 8. sukupolvi, Elsa Maria Höystin lapset
links: [36]
texts:
- text: |
Risto Juhani
Kokkola
s.04.12.1943 Kotka
k.
pso 09.06.1968
Sirkka-Liisa Anitta
Ketonen
s.01.02.1942 Tampere
k.
Notaari
muutti 18.08.1971
Helsingin Alppilan srk:sta
Kotkaan, muuttivat
24.02.1972 Etelä-Espoon srk
links: [67]
- text: |
Erkki Olavi
Kokkola
s.18.09.1945 Kotka
k.
Valt.yo
1pso 31.05.1970
Mirja Marjatta Mäki
s.12.01.1948 Turku
k.16.06.1970 Turku
2pso 18.05.1973
Riitta Hilkka Anneli
Warma
s.25.08.1948 Haapasaari
muuttivat 07.06.1974
Kotkasta Turkuun
- layer: 8
label: 8. sukupolvi, Elsa Aallotar Höystin ja Paavo Mikkolan lapset
links: [37]
texts:
- text: |
Harri Henrik
Mikkola
s.13.06.1937 Elimäki
pso 06.12.1959
Seija Sinikka Perkiö
Mikkola
s.13.10.1932 - Mikkeli
- text: |
Arja Aallotar
Mikkola
s.17.11.1940 - Elimäki
- layer: 8
label: 8. sukupolvi, Veikko Valio Sorsan lapsi
links: [38]
texts:
- text: |
Pekko Sorsa
s.xx.xx.1970
- layer: 8
label: 8. sukupolvi, Pekka ja Raija Höystin lapset
links: [39]
texts:
- text: |
Timo Jukka
Höysti
s.21.11.1955 Elimäki
k.
pso 02.07.1977
Seija Mirjami Koivula
s.09.10.1957 - Elimäki
links: [68]
- text: |
Tuija Marianne
Höysti
s.24.11.1956 Elimäki
k.
pso 17.02.1979
Pentti Tapio Arola
s.15.03.1954 -
links: [69]
- text: |
Ilkka Pekka
Höysti
s.15.08.1965 Elimäki
k.
pso 15.08.1987
Anne Irmeli Ahola
s.16.03.1958 -
links: [70]
- layer: 8
label: 8. sukupolvi, Sakari Höysti lapset
links: [40]
texts:
- text: |
Mikael Antero
s.28.01.1968 Liljendahl
k.
- text: |
Johan Martti
s.07.10.1979 Liljendal
k.
- text: |
Lasse Walter
s.24.01.1973 Liljendal
k.
- layer: 8
label: 8. sukupolvi, Tyyni Seija-Liisa Kivisen ja Alpo Kuninkaan lapset
links: [41]
texts:
- text: |
Kauko Kaarle Kalevi
Kuningas
s.13.04.1948 Ruotsinpyhtää
k.
pso 06.07.1974
Anitta Inga Katariina
Uusnäkki
s.18.10.1947 Elimäki
k.
links: [71]
- text: |
Heli-Liisa Marketta
Kuningas
s.01.05.1949 Ruotsinpyhtää
k.
pso 16.06.1975
Markku Aarni Johannes
Paaso
s.14.11.1949 Kuivaniemi
k.
links: [72]
- text: |
Mervi Kaarina Hannele
Kuningas
Mervi Kaarina Hannele
Kuningas
s.11.10.1953 Ruotsinpyhtää
k.
pso 14.08.1976
Mauritz Olavi
Mehtiö
s.06.03.1952 Lapinjärvi
k.
links: [73]
- layer: 8
label: 8. sukupolvi, Anna-Liisa Styrman ja Timo Laherron lapset
links: [42]
texts:
- text: |
Jukka Sakari
Laherto
s.26.09.1957 Kouvola
k.
07.07.2007
Marja Tuoresmäki
s.03.11.1963 Elimäki
k.
links: [74]
- text: |
Virva Anita
Laherto
s.30.01.1961- Kouvola
k.
pso
Peter Nils Johan
Rasmussen
s.08.02.1956
Ero 2022
- layer: 8
label: 8. sukupolvi, Seija Marjatta Varavan lapsi
links: [43]
texts:
- text: |
Niina Maarit
Tähtinen-Heimo
s.20.03.1963 Helsinki
k.
pso 19.05.1990
Heikki Jukka-Pekka
Heimo
s.22.09.1963 Hämeenlinna
k.
links: [75]
- layer: 8
label: 8. sukupolvi, Aila Sisko Varavan lapset
links: [44]
texts:
- text: |
Tuomas Aarne Juhani
Pitkänen
s.18.09.1970 Kouvola
k.14.06.1991 varusmiehenä
Taipalsaaren onnettomuu-
dessa
- text: |
Eero Atti Oskari
Pitkänen
s.24.07.1975 Kouvola
k.
pso
Johanna Marita
Ranta
s.15.12.1976
k.
links: [76]
- layer: 8
label: 8. sukupolvi, Jouko Penttilän lapsi
links: [45]
texts:
- text: |
Merja Päivikki
Penttilä
s.27.12.1958 Elimäki
k.
- layer: 8
label: 8.sukupolvi, Leena Penttilän lapset
links: [46]
texts:
- text: |
Ari Matti
Rinta-Pukkila
s.14.02.1968
k.09.07.1992
Kuhmoinen,
auto-onnettomuus
- text: |
Juha-Pekka
Rinta-Pukkila
s.30.06.1970 Espoo
k.
- layer: 8
label: 8. sukupolvi, Seppo Styrmanin lapset
links: [47]
texts:
- text: |
Monica Cecilia
Styrman
s.25.01.1961 Elimäki
k.
- text: |
Menita Kristiina
Styrman
s.06.09.1962 Elimäki
k.
pso 10.7.1989
Ari Veikko Olavi
Vierula
s.18.05.1961
ero
- text: |
Minna Katariina
Styrman - Vesala
s.18.05.1965 Elimäki
k.
pso 10.06.1995
Juha Reijo Petteri
Vesala
s.05.06.1965 Elimäki
k.
- layer: 8
label: 8. sukupolvi, Sirpa Styrmanin lapset
links: [48]
texts:
- text: |
Mika Petteri
Rydman
s.23.04.1965 Helsinki
k.
- text: |
Riikka Anneli
Rydman
s.10.06.1966 Helsinki
k.
- text: |
Igor Michel Robert
Styrman
s.15.09.1974 -
Marbella, Espanja
k.
- text: |
Avril Emil
Styrman
s.13.02.1976 -
Marbella, Espanja
k.
- layer: 8
label: 8. sukupolvi, Silju Styrmanin lapset
links: [49]
texts:
- text: |
Mirella Maisa Margareeta
Riitala
s.16.02.1973 Iitti
k.
- text: |
Merita Kristiina
Riitala
s.07.02.1977- Iitti
k.
- text: |
Niko Jukka Richard
Riitala
s.25.07.1987 Iitti
k.
- layer: 8
label: 8. sukupolvi, Erkki Koskenniemen lapset
links: [50]
texts:
- text: |
Juha Kullervo
Koskenniemi
s.01.05.1957 Elimäki
k.
pso 26.06.1966
Taru Tellervo Reunanen
s.26.09.1963 Pertteli
k.
links: [77]
- text: |
Eero Matti Juhani
Koskenniemi
s.02.12.1960 Elimäki
k.
pso 13.06.2020
Ilona Siltanen
s.22.07.1964 Turku
k.
- layer: 8
label: 8. sukupolvi, Pentti Koskenniemen lapset
links: [51]
texts:
- text: |
Tiina Johanna
Koskenniemi
s.17.02.1961 - Elimäki
k.
pso 27.07.1985
Tero Tapani
Mäkinen
s.01.10.1958 Nokia
k.
links: [78]
- text: |
Jaana Katriina
Koskenniemi
s.07.01.1963 Elimäki
k.
1 pso 06.08.1988
Esa Saarela
s.22.02.1960
2 pso 16.02.2012
Erkki Häggman
s.25.02.1962 Porvoo
k.
links: [79]
- text: |
Kari Pekka
Koskenniemi
s.06.04.1965 Elimäki
k.
pso 06.06.199
Johanna Mäkelä
s.03.04.1969 Elimäki
k.
links: [80]
- layer: 8
label: 8. sukupolvi, Heikki Tuomalan lapsi
links: [52]
texts:
- text: |
Pia Hannele
Tuomala
s.30.12.1963 Kotka
k.
- layer: 8
label: 8. sukupolvi, Rauno Tuomalan lapset
links: [53]
texts:
- text: |
Tomi Olavi
Tuomala
s.08.03.1967
k.
- text: |
Tuomas Jouko Olavi
Tuomala
s.22.01.1987
k.
- layer: 8
label: 8. sukupolvi, Antti Jokisen lapset
links: [54]
texts:
- text: |
Sanna Maaria
Jokinen
s.30.01.1971
k.
pso xx.06.1992
Pertti Kalevi
Jääskeläinen
s.
k.
- text: |
Tapio Juhani
Jokinen
s.20.04.1975
k.
- layer: 8
label: 8. sukupolvi, Maija-Liisa Jokisen lapset
links: [55]
texts:
- text: |
Katjaana
Jokinen
s.25.09.1969 Kouvola
k.
pso
Kari Olavi
Ylhäinen
s.08.04.1965
k.
links: [12301]
- text: |
Tanja
Jokinen
s.01.03.1974 Helsinki
k.
Pso 12.9.2000
Esa Juhani
Määttänen
s.24.10.1970 Helsinki
k.
- layer: 8
label: 8. sukupolvi, Kaisa Jokisen lapset
links: [56]
texts:
- text: |
Salla Katriina
Koponen
s.23.04.1974
Orimattila
k.
avo pso
Marko Tapio
Haajanen
s.26.12.1976
k.
- text: |
Sami Olavi
Koponen
s.25.12.1980
Orimattila
k.
pso 07.07.2018
Susanna
Kallioniemi-
Koponen
s.20.04.1980
Orimattila
- layer: 8
label: 8. sukupolvi, Mikko Jokisen lapset
links: [57]
texts:
- text: |
Miika Petteri
Jokinen
s.29.01.1980 Elimäki
k.
- text: |
Markku Tapani
Jokinen
s.04.04.1983 Elimäki
k.
- text: |
Jami-Matti
Jokinen
s.11.08.1994 Elimäki
k.
- layer: 8
label: 8. sukupolvi, Jukka Jokisen lapset
links: [58]
texts:
- text: |
Päivi Johanna
Jokinen
s.03.10.1982 Elimäki
k.
avo pso
Miika Markus
Hokkanen
s.28.3.1982 Heinola
k.
- text: |
Piia Hannele
Jokinen
s.14.10.1984 Elimäki
k.
- layer: 8
label: 8. sukupolvi, Eeva Jokisen lapset
links: [60]
texts:
- text: |
Jussi Kalevi
Virtanen
s.24.02.1980 Elimäki
k.
Pso 02.08.2008
Heidi Johanna
Komulainen
s.11.08.1979 Lahti
k.
- text: |
Ville Juhani
Virtanen
s.12.03.1984 Elimäki
k.
pso 29.6.2012
Maiju Ilona Elisabet
Laaksonen
s.28.10.1983 Lapinjärvi
k.
- layer: 8
label: sukupolvi 8, Erkki Pakkala lapset
links: [61]
texts:
- text: |
Leila Tuulikki
Pakkala
s.25.01.1932
k.xx.xx.xxxx
pso 27.08.1961
Pentti Johannes
Hellsten
s.20.07.1933
k.xx.xx.xxxx
- text: |
Asko Kimmo Tapani
Pakkala
s.03.02.1936
pso 15.11.1959
Heli Terttu Inkeri
Puhakka
s.27.09.1939
k.xx.xx.xxxx
- text: |
Panu Elias
Pakkala
s.30.11.1942
pso 09.10.1966
Else HelyMarita
Sinisalo
s.23.07.1944
k.xx.xx.xxxx
- layer: 8
label: 8. sukupolvi, Martta Pakkalan lapset
links: [62]
texts:
- text: |
Kurt Helle
Aarnenpoika
Ari
s.27.12.1926 Elimäki
muutti 12.08.1953
Helsinki, Töölö
pso 15.10.1948
Else Irene Kyllikki
Hugontytär Danska
s.02.09.1926 Ruotsin-
pyhtää, muutti 26.08.
1952 Helsinki, Töölö srk.
- text: |
Kaj Evald
Ari
s.30.04.1928 Elimäki
k.14.02.1962 Loviisa
pso 03.11.1951
Terttu Anni Helena
E Leila inarintytär Lehto
s.30.09.1932 Elimäki
k.xx.xx.xxxx
- layer: 8
label: 8. sukupolvi, Katri Pakkalan lapset
links: [63]
texts:
- text: |
Rauno Kalevi
Koivisto
s.08.02.1932 Elimäki
k.xx.xx.xxxx
- text: |
Mirja Liisi
Koivisto
s.25.10.1933 Elimäki
k.xx.xx.xxxx
pso xx.xx.xxxx
Rune Erik
Åkman
- text: |
Anne Kaarina
Koivisto
s.13.05.1944 Elimäki
k.xx.xx.xxxx
pso 26.02.1967
Karl-Erik Ingemar
Kinbrat
- text: |
Eija Aulikki
Koivisto
s.05.06.1947 Elimäki
k.xx.xx.xxxx
pso 02.11.1974
Lasse Hietsalo
s.11.08.1946 Elimäki
links: [100]
- layer: 9
label: 9. sukupolvi, Aili Kivisen lapset
links: [64]
texts:
- text: |
Mikko Kalervo
Poikolainen
s.15.02.1955
k.
Pso 13.06.19xx
Päivi Maaria
Salmenkivi
s.16.06.1957
- text: |
Juha Urho
Poikolainen
s.11.05.1957
k.
pso
Kirsi-Marja
Hytönen
s.04.10.1957
- text: |
Ilkka Tapani
Poikolainen
s.10.04.1965
- layer: 9
label: 9. sukupolvi, Irja Kivisen lapset
links: [65]
texts:
- text: |
Risto Raimo Juhani
Anttonen
s.13.12.1955 Helsinki
k.
- text: |
Kari Kauko Sakari
Anttonen
s.19.03.1959 Helsinki
k.23.03.1959 Helsinki
- layer: 9
label: 9. sukupolvi, Risto Kokkolan lapsi
links: [67]
texts:
- text: |
Heidi Maria Kokkola
s.20.02.1971-Kotka
(Lontoo, Englanti)
- layer: 9
label: 9. sukupolvi, Timo Höystin lapset
links: [68]
texts:
- text: |
Sonja Katariina
Höysti
s.31.05.1978 Elimäki
- text: |
Kai Markus
Höysti
s.12.12.1981 Elimäki
- layer: 9
label: 9. sukupolvi, Tuija Höystin lapset
links: [69]
texts:
- text: |
Janne Tapio
Arola
s.01.12.1980 -
- text: |
Elina Marianne
Arola
s.10.06.1982
- layer: 9
label: 9. sukupolvi, Ilkka Höystin lapsi
links: [70]
texts:
- text: |
Nita Marianne
Höysti
s.02.05.1989
- layer: 9
label: 9. sukupolvi, Kauko Kuninkaan lapset
links: [71]
texts:
- text: |
Johanna Marjaana
Kuningas
s.10.12.1975 Ruotsinpyhtää
k.
- text: |
Ilkka Herman
Kuningas
s.14.04.1979 Ruotsinpyhtää
k.
- layer: 9
label: 9. sukupolvi, Heli-Liisa Kuninkaan lapset
links: [72]
texts:
- text: |
Isto Aleksi
Paaso
s.28.04.1976 Muhos
k.
- text: |
Anna Elise
Paaso
s.22.09.1982 -
k.
- layer: 9
label: 9. sukupolvi, Mervi Kuninkaan lapsi
links: [73]
texts:
- text: |
Teemu Topias
Mehtiö
s.09.12.1980
Haninge, Ruotsi
k.
- text: |
Tuomas Henrik
Mehtiö
s.21.06.1983
Haninge, Ruotsi
k.
- layer: 9
label: 9. sukupolvi, Jukka Laherron lapset
links: [74]
texts:
- text: |
Pinja Katariina
Laherto
s.06.10.1995 -
Elimäki
k.
- text: |
Petra Anniina
Laherto
s.09.12.1997
Elimäki
k.
- layer: 9
label: 9. sukupolvi, Niina Tähtisen lapset
links: [75]
texts:
- text: |
Juhani-Heikki Santeri
Heimo
s.17.04.1992
k.
pso
Elisa Juvonen
s.03.08.1995
- text: |
Roosa Johanna
Heimo
s.04.05.2001
k.
- layer: 9
label: 9. sukupolvi, Eero Pitkäsen lapset
links: [76]
texts:
- text: |
Elias Tuomas Oskari
Pitkänen
s.13.11.2004 Kouvola
k.
- text: |
Akseli Jaakko Juhani
Pitkänen
s.23.06.2006 Kouvola
k.
- text: |
Elisa Aune Johanna
Pitkänen
s.03.08.2008 Kouvola
k.
- layer: 9
label: 9. sukupolvi, Juha Koskenniemen lapset
links: [77]
texts:
- text: |
Kaisa Maria
Koskenniemi
s.04.10.1996 Porvoo
k.
- text: |
Lauri Johannes
Koskenniemi
s.12.10.1998 Sipoo
k.
- layer: 9
label: 9. sukupolvi, Tiina Koskenniemen lapset
links: [78]
texts:
- text: |
Tuomas Ilmari
Mäkinen
s.21.09.1991 Helsinki
k.
- text: |
Arttu Tapio
Mäkinen
s.21.05.1993 - Helsinki
k.
- layer: 9
label: 9. sukupolvi, Jaana Koskenniemen lapset
links: [79]
texts:
- text: |
Olli Aleksanteri
Saarela
s.12.08.1989 Helsinki
k.
pso
Kira Aimo
s.13.07.1988 -
k.
- text: |
Anna Sofia
Saarela
s.22.04.1991 Helsinki
k.
avo pso
Antti Kortesmaa
s.18.06.1992
k.
- layer: 9
label: 9. sukupolvi, Kari Koskenniemen lapset
links: [80]
texts:
- text: |
Ilona Aleksandra
Koskenniemi
s.25.10.1992 Elimäki
k.
avo pso
Sami Moisio
s. Elimäki
k.
- text: |
Petteri Eerik
Koskenniemi
s.31.07.1994 Elimäki
k.
avo pso
Eliisa Koskinen
s. Loppi
k.
- text: |
Konsta Olavi
Koskenniemi
s.23.03.2006 Elimäki
k.
- layer: 9
label: DONE until TÄHÄN ASTI SIIRRETTY
### next layer queue
- layer: 9
label: 9. sukupolvi, Katjaana Jokisen lapsi
links: [12301]
texts:
- text: |
Linda Kristiina
Jokinen
s. 19.06.1991
k.
pso
Toni Henrik Kristian
Oksanen
s.19.12.1989 Hollola
k.
links: [12302]
- layer: 10
label: 10. sukupolvi, Linda Jokisen lapset
links: [12302]
texts:
- text: |
Neo Aaron Mikael
Oksanen
s.29.10.2016 Lahti
k.
- text: |
Joel Elias Aleksender
Oksanen
s.01.12.2018 Lahti
k.
- text: |
Noa Arthur Benjamin
Oksanen
s.13.05.2023 Lahti

View File

@ -9,3 +9,4 @@ services:
- ./code:/code - ./code:/code
- ./data:/data - ./data:/data
- ./config.yaml:/config.yaml - ./config.yaml:/config.yaml
network_mode: none

12
run.sh Executable file → Normal file
View File

@ -6,5 +6,17 @@ if [ ! -f "/code/puudot.py" ]; then
exit 1 exit 1
fi fi
# Check if config.yaml exists
if [ ! -f "/config.yaml" ]; then
echo "Error: config.yaml not found in /config directory!"
exit 1
fi
verbose=$(yq eval '.puudot.verbose' /config.yaml)
if [ "$verbose" = true ]; then
echo $(dot -v)
fi
# Run the script # Run the script
python3 /code/puudot.py python3 /code/puudot.py