From a1e9d84df57438e0cde9466fd7b918dd76ce2fb3 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Tue, 9 Sep 2025 22:33:47 +0200 Subject: [PATCH 1/3] fix: readYAMLmodel if broken over multiple lines --- io/readYAMLmodel.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/readYAMLmodel.m b/io/readYAMLmodel.m index ac3f256a..4ae305e4 100755 --- a/io/readYAMLmodel.m +++ b/io/readYAMLmodel.m @@ -45,7 +45,7 @@ % leading spaces to avoid metaData to be concatenated. newLine=regexp(line_raw,'^ {6,}([\w\(\)].*)','tokenExtents'); brokenLine=find(~cellfun('isempty',newLine)); -for i=1:numel(brokenLine) +for i=flip(1:numel(brokenLine)) extraLine = char(line_raw(brokenLine(i))); extraLine = extraLine(newLine{brokenLine(i)}{1}(1):end); line_raw{brokenLine(i)-1} = strjoin({line_raw{brokenLine(i)-1},extraLine},' '); From 22d11c5d85d36af358a914e994ebef1dc36b9985 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Tue, 9 Sep 2025 22:34:50 +0200 Subject: [PATCH 2/3] fix: readYAMLmodel if empty string is '' --- io/readYAMLmodel.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/readYAMLmodel.m b/io/readYAMLmodel.m index 4ae305e4..4dbd5b16 100755 --- a/io/readYAMLmodel.m +++ b/io/readYAMLmodel.m @@ -58,7 +58,7 @@ line_value = regexprep(line_raw, '.*:$',''); line_value = regexprep(line_value, '[^":]+: "?(.+)"?$','$1'); line_value = regexprep(line_value, '(")|(^ {4,}- )',''); - +line_value(strcmp(line_value,'''''')) = {''}; line_value(strcmp(line_value,line_raw)) = {''}; modelFields = {'id',char();... From 2938df6f882e3b2d3011fe01c99b36910c01bf69 Mon Sep 17 00:00:00 2001 From: Eduard Kerkhoven Date: Tue, 9 Sep 2025 22:35:06 +0200 Subject: [PATCH 3/3] chore: updateDocumentation --- doc/io/readYAMLmodel.html | 6 +++--- io/readYAMLmodel.m | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/io/readYAMLmodel.html b/doc/io/readYAMLmodel.html index 3a96f8c3..e8c684be 100644 --- a/doc/io/readYAMLmodel.html +++ b/doc/io/readYAMLmodel.html @@ -102,7 +102,7 @@

SOURCE CODE ^% leading spaces to avoid metaData to be concatenated. 0046 newLine=regexp(line_raw,'^ {6,}([\w\(\)].*)','tokenExtents'); 0047 brokenLine=find(~cellfun('isempty',newLine)); -0048 for i=1:numel(brokenLine) +0048 for i=flip(1:numel(brokenLine)) 0049 extraLine = char(line_raw(brokenLine(i))); 0050 extraLine = extraLine(newLine{brokenLine(i)}{1}(1):end); 0051 line_raw{brokenLine(i)-1} = strjoin({line_raw{brokenLine(i)-1},extraLine},' '); @@ -115,7 +115,7 @@

SOURCE CODE ^'.*:$',''); 0059 line_value = regexprep(line_value, '[^":]+: "?(.+)"?$','$1'); 0060 line_value = regexprep(line_value, '(")|(^ {4,}- )',''); -0061 +0061 line_value(strcmp(line_value,'''''')) = {''}; 0062 line_value(strcmp(line_value,line_raw)) = {''}; 0063 0064 modelFields = {'id',char();... @@ -197,7 +197,7 @@

SOURCE CODE ^for i=1:numel(line_key) 0146 tline_raw = line_raw{i}; diff --git a/io/readYAMLmodel.m b/io/readYAMLmodel.m index 4dbd5b16..bc93d78c 100755 --- a/io/readYAMLmodel.m +++ b/io/readYAMLmodel.m @@ -140,7 +140,7 @@ geneMiriams=cell(100000,3); genMirNo=1; subSystems=cell(100000,2); subSysNo=1; eccodes=cell(100000,2); ecCodeNo=1; -equations=cell(100000,3); equatiNo=1; +equations=cell(100000,3); equatiNo=1; for i=1:numel(line_key) tline_raw = line_raw{i};