Skip to content

ModelicaSystem - rewrite set*() functions #314

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

syntron
Copy link
Contributor

@syntron syntron commented Jun 25, 2025

The set function uses (list of) strings as 'key=value' pairs - this can be converted to the usage of dictionaries

This PR does the modification for all set*() methods in ModelicaSystem including setInputs()

If this PR is included PR #307 can be closed as invalid; the method isParameterChangeable() is also modified here

@syntron syntron force-pushed the ModelicaSystem_rewrite_set_functions branch 2 times, most recently from 326d644 to 817f20d Compare July 2, 2025 20:01
@syntron syntron force-pushed the ModelicaSystem_rewrite_set_functions branch 3 times, most recently from d9f992a to 844140c Compare July 9, 2025 18:35
syntron added 16 commits July 11, 2025 18:39
…ents

* fix some type hint issues in setInput()
* prepare for definition via dictionary replacing 'a=b' and '[a=b, c=d]' style
* rename from setMethodHelper()
* use _prepare_inputdata()
* cleanup code to align with new input as dict[str, str]

* setInput() is a special case
* replace eval() with ast.literal_eval() as a saver version
* use _prepare_input_data()
* simplify code
This method is used to set input values. It can be called with a sequence of input name and assigning
corresponding values as arguments as show in the example below. Compared to other set*() methods this is a
special case as value could be a list of tuples - these are converted to a string in _prepare_input_data()
and restored here via ast.literal_eval().
@syntron syntron force-pushed the ModelicaSystem_rewrite_set_functions branch from 844140c to d78fafd Compare July 11, 2025 16:43
@syntron syntron force-pushed the ModelicaSystem_rewrite_set_functions branch from d78fafd to 4fa05f1 Compare July 11, 2025 17:02
@syntron syntron force-pushed the ModelicaSystem_rewrite_set_functions branch 2 times, most recently from 0593439 to 30cb70e Compare August 5, 2025 16:27
…able

* if this happens, the result would be unexpected
* fail early, fail hard to indicate this to the user
* simplify code
@adeas31 adeas31 merged commit 6732bd7 into OpenModelica:master Aug 15, 2025
5 checks passed
@syntron syntron deleted the ModelicaSystem_rewrite_set_functions branch August 15, 2025 18:48
syntron added a commit to syntron/OMPython that referenced this pull request Aug 16, 2025
@adeas31 adeas31 added this to the 4.0.0 milestone Aug 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants