From 3a6de0f515b55319cef29b8c4c72006bcd5d3376 Mon Sep 17 00:00:00 2001 From: abaucher <achille.baucher@inria.fr> Date: Mon, 31 Jan 2022 15:47:21 +0100 Subject: [PATCH] Added funs for parsing and in init --- pydynamo/__init__.py | 7 +++---- pydynamo/core/parse_system.py | 9 +++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pydynamo/__init__.py b/pydynamo/__init__.py index b6305475..530db54f 100644 --- a/pydynamo/__init__.py +++ b/pydynamo/__init__.py @@ -2,8 +2,7 @@ __version__ = "0.1" -from pydynamo.core import parse_system -from pydynamo.core.parse_system import new_cst_politic +from pydynamo.core.parse_system import new_cst_politic, new_system, system_from_lines, system_from_fun, system_from_file # import pydynamo.core.system from pydynamo.core.plot_system import plot_system, show_pyvis, plot_tabhl # import pydynamo.core.dynamo_converter @@ -13,12 +12,12 @@ from .world2 import w2_code, w2_defs, scales_w2 def get_w3(): - w3 = parse_system.system_from_lines(w3_code) + w3 = system_from_lines(w3_code) w3.add_comments(w3_defs) return w3 def get_w2(): - w2 = parse_system.system_from_lines(w2_code) + w2 = system_from_lines(w2_code) w2.add_comments(w2_defs) return w2 diff --git a/pydynamo/core/parse_system.py b/pydynamo/core/parse_system.py index d238fc60..f03918ca 100644 --- a/pydynamo/core/parse_system.py +++ b/pydynamo/core/parse_system.py @@ -149,3 +149,12 @@ def change_var_to_cst(s, var): # new_raw_line = re.sub(f'(?<!\w){var}(?!\w)', f'{var}.k', args['raw_line']) # args['raw_line'] = new_raw_line # args['line'] = new_line + +def new_system(raw): + """returns a new System object from the data included in raw""" + if callable(raw): + return system_from_fun(raw) + elif isinstance(raw, list): + return system_from_lines(raw) + elif isinstance(raw, str): + return system_from_file(raw) -- GitLab