diff options
-rw-r--r-- | examples/classic_gravitation/examples.toml (renamed from examples/classic_gravitation/metadata.toml) | 4 | ||||
-rw-r--r-- | examples/classic_gravitation/model.modelica | 1 | ||||
-rw-r--r-- | examples/hodgkin_huxley/model.modelica | 1 | ||||
-rw-r--r-- | examples/lotka_volterra/examples.toml (renamed from examples/lotka_volterra/metadata.toml) | 4 | ||||
-rw-r--r-- | examples/van_der_pol/examples.toml (renamed from examples/van_der_pol/metadata.toml) | 0 | ||||
-rw-r--r-- | src/bin/mt-webface.rs | 5 | ||||
-rw-r--r-- | src/lib.rs | 28 | ||||
-rw-r--r-- | tests/lib.rs | 14 |
8 files changed, 4 insertions, 53 deletions
diff --git a/examples/classic_gravitation/metadata.toml b/examples/classic_gravitation/examples.toml index 9f43ae7..516b16c 100644 --- a/examples/classic_gravitation/metadata.toml +++ b/examples/classic_gravitation/examples.toml @@ -1,8 +1,4 @@ -[model] -name-en = "Classic Gravitation" -description-en = "Newtonian" - [examples] [examples.earth_surface] diff --git a/examples/classic_gravitation/model.modelica b/examples/classic_gravitation/model.modelica index e0f7b60..7d5d327 100644 --- a/examples/classic_gravitation/model.modelica +++ b/examples/classic_gravitation/model.modelica @@ -1,4 +1,5 @@ model ClassicGravitation + "Newtonian" parameter Real G=6.674e-11 "Gravitational Constant"; Real m1(unit="kilogram") "mass #1"; Real m2(unit="kilogram") "mass #2"; diff --git a/examples/hodgkin_huxley/model.modelica b/examples/hodgkin_huxley/model.modelica index 9153799..532bdac 100644 --- a/examples/hodgkin_huxley/model.modelica +++ b/examples/hodgkin_huxley/model.modelica @@ -1,4 +1,5 @@ model HodgkinHuxley + "Predator-Prey Model" parameter Real G_Na =120 "conductance"; parameter Real G_K =36 "conductance"; parameter Real G_lk =0.3 "conductance"; diff --git a/examples/lotka_volterra/metadata.toml b/examples/lotka_volterra/examples.toml index 9753537..0f5fb85 100644 --- a/examples/lotka_volterra/metadata.toml +++ b/examples/lotka_volterra/examples.toml @@ -1,8 +1,4 @@ -[model] -name-en = "Lotka–Volterra equations" -description-en = "Predator-Prey Model" - [examples] [examples.mathworld] diff --git a/examples/van_der_pol/metadata.toml b/examples/van_der_pol/examples.toml index e69de29..e69de29 100644 --- a/examples/van_der_pol/metadata.toml +++ b/examples/van_der_pol/examples.toml diff --git a/src/bin/mt-webface.rs b/src/bin/mt-webface.rs index b5b4fe0..3b280e2 100644 --- a/src/bin/mt-webface.rs +++ b/src/bin/mt-webface.rs @@ -44,9 +44,8 @@ fn model_view(r: &mut Request) -> PencilResult { Ok(me) => { let mut context = BTreeMap::new(); context.insert("model_slug".to_string(), model_slug.to_string()); - context.insert("model_name".to_string(), me.metadata.name_en); - context.insert("model_description".to_string(), me.metadata.description_en.unwrap_or("".to_string())); - //context.insert("metadata".to_string(), me.metadata); + context.insert("model_name".to_string(), me.ast.name.clone()); + context.insert("model_description".to_string(), me.ast.description.clone().unwrap_or("".to_string())); context.insert("markdown_html".to_string(), markdown::to_html(&me.markdown)); context.insert("markdown".to_string(), me.markdown); context.insert("modelica".to_string(), format!("{:?}", me.ast)); @@ -15,12 +15,6 @@ use std::io::Read; use std::fs::File; #[derive(Debug, PartialEq)] -pub struct ModelMetadata { - pub name_en: String, - pub description_en: Option<String>, -} - -#[derive(Debug, PartialEq)] pub enum ModelVarType { Independent, Dependent, @@ -42,22 +36,9 @@ pub struct ModelVar { #[derive(Debug, PartialEq)] pub struct ModelEntry { pub ast: modelica_parser::ModelicaModel, - pub metadata: ModelMetadata, pub markdown: String, } -pub fn parse_metadata(raw: String) -> Result<ModelMetadata, String> { - let root = toml::Parser::new(&raw).parse().unwrap(); - let model = root.get("model") - .expect("missing 'model' section") - .as_table() - .unwrap(); - Ok(ModelMetadata { - name_en: model.get("name-en").unwrap().as_str().unwrap().to_string(), - description_en: model.get("description-en").map(|x| x.as_str().unwrap().to_string()), - }) -} - pub fn load_model_entry(p: &Path) -> Result<ModelEntry, String> { debug!("Attempting to load model from: {:?}", p); @@ -69,14 +50,6 @@ pub fn load_model_entry(p: &Path) -> Result<ModelEntry, String> { try!(modelica_parser::parse_model(&s).map_err(|e| format!("{:?}", e))) }; - let metadata = { - let mut s = String::new(); - try!(File::open(p.join("metadata.toml")) - .and_then(|mut f| f.read_to_string(&mut s)) - .map_err(|e| e.to_string())); - parse_metadata(s).unwrap() - }; - let markdown = { let mut s = String::new(); try!(File::open(p.join("page.md")) @@ -87,7 +60,6 @@ pub fn load_model_entry(p: &Path) -> Result<ModelEntry, String> { Ok(ModelEntry { ast: ast, - metadata: metadata, markdown: markdown, }) } diff --git a/tests/lib.rs b/tests/lib.rs index de19f5b..8899e0b 100644 --- a/tests/lib.rs +++ b/tests/lib.rs @@ -9,20 +9,6 @@ use modelica_parser::*; #[test] -fn test_parse_metadata() { - let raw = -r#" -[model] -name-en = "Bogus Dummy Model" -"#.to_string(); - assert_eq!(parse_metadata(raw).unwrap(), - ModelMetadata { - name_en: "Bogus Dummy Model".to_string(), - description_en: None, - }); -} - -#[test] fn test_load_model_entry() { load_model_entry(Path::new("./examples/classic_gravitation/")).unwrap(); } |