ReForma 0.27__tar.gz → 0.29__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {reforma-0.27 → reforma-0.29}/PKG-INFO +1 -1
- {reforma-0.27 → reforma-0.29}/ReForma.egg-info/PKG-INFO +1 -1
- {reforma-0.27 → reforma-0.29}/pyproject.toml +1 -1
- {reforma-0.27 → reforma-0.29}/reforma/client.py +5 -5
- {reforma-0.27 → reforma-0.29}/reforma/jar_bridge.py +6 -3
- {reforma-0.27 → reforma-0.29}/MANIFEST.in +0 -0
- {reforma-0.27 → reforma-0.29}/README.md +0 -0
- {reforma-0.27 → reforma-0.29}/ReForma.egg-info/SOURCES.txt +0 -0
- {reforma-0.27 → reforma-0.29}/ReForma.egg-info/dependency_links.txt +0 -0
- {reforma-0.27 → reforma-0.29}/ReForma.egg-info/requires.txt +0 -0
- {reforma-0.27 → reforma-0.29}/ReForma.egg-info/top_level.txt +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/__init__.py +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/bin/RePATool.jar +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/bin/js/cytoscape-dagre.js +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/bin/js/cytoscape.min.js +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/bin/js/dagre.js +0 -0
- {reforma-0.27 → reforma-0.29}/reforma/model.py +0 -0
- {reforma-0.27 → reforma-0.29}/setup.cfg +0 -0
- {reforma-0.27 → reforma-0.29}/tests/test_reforma.py +0 -0
|
@@ -869,15 +869,16 @@ class ReForma:
|
|
|
869
869
|
enabled: list[Transition] = []
|
|
870
870
|
variables: dict[str, int] = {}
|
|
871
871
|
|
|
872
|
-
import re
|
|
872
|
+
import re
|
|
873
873
|
|
|
874
874
|
for line in lines:
|
|
875
875
|
if line.startswith("Estado Atual:"):
|
|
876
|
-
|
|
877
|
-
current_states = [s.strip() for s in
|
|
876
|
+
st_parts = line.split(":", 1)[1].strip()
|
|
877
|
+
current_states = [s.strip() for s in st_parts.split(",")]
|
|
878
878
|
|
|
879
879
|
elif line.startswith("Variaveis:"):
|
|
880
|
-
|
|
880
|
+
var_parts = line.split(":", 1)[1].strip()
|
|
881
|
+
matches = re.finditer(r"([a-zA-Z0-9_]+)\s*=\s*(?:VInt\(\s*([^,)]+)|VFloat\(\s*([^,)]+)|VBool\(\s*([^,)]+)|([^,]+))", var_parts)
|
|
881
882
|
|
|
882
883
|
for m in matches:
|
|
883
884
|
k = m.group(1)
|
|
@@ -912,7 +913,6 @@ class ReForma:
|
|
|
912
913
|
raw={},
|
|
913
914
|
)
|
|
914
915
|
|
|
915
|
-
|
|
916
916
|
def _get_local_js(filename: str) -> str:
|
|
917
917
|
"""Reads the local JS file to be injected into HTML."""
|
|
918
918
|
base_dir = os.path.dirname(__file__)
|
|
@@ -99,13 +99,15 @@ class JarBridge:
|
|
|
99
99
|
Run: java -jar <jar> <args...>
|
|
100
100
|
Returns stdout. Raises JarError on non-zero exit.
|
|
101
101
|
"""
|
|
102
|
-
|
|
102
|
+
# Forçamos o Java a usar UTF-8 no Windows
|
|
103
|
+
cmd = [self.java_bin, "-Dfile.encoding=UTF-8", "-jar", self.jar_path, *args]
|
|
103
104
|
result = subprocess.run(
|
|
104
105
|
cmd,
|
|
105
106
|
input=stdin_data,
|
|
106
107
|
capture_output=True,
|
|
107
108
|
text=True,
|
|
108
109
|
encoding="utf-8",
|
|
110
|
+
errors="replace"
|
|
109
111
|
)
|
|
110
112
|
if result.returncode != 0:
|
|
111
113
|
raise JarError(
|
|
@@ -179,12 +181,13 @@ class JarBridge:
|
|
|
179
181
|
Reads and returns the content of this output file.
|
|
180
182
|
JAR progress/logs go to stderr — ignored here.
|
|
181
183
|
"""
|
|
182
|
-
cmd = [self.java_bin, "-jar", self.jar_path, *args]
|
|
184
|
+
cmd = [self.java_bin, "-Dfile.encoding=UTF-8", "-jar", self.jar_path, *args]
|
|
183
185
|
result = subprocess.run(
|
|
184
186
|
cmd,
|
|
185
187
|
capture_output=True,
|
|
186
188
|
text=True,
|
|
187
189
|
encoding="utf-8",
|
|
190
|
+
errors="replace"
|
|
188
191
|
)
|
|
189
192
|
if result.returncode != 0:
|
|
190
193
|
raise JarError(
|
|
@@ -196,7 +199,7 @@ class JarBridge:
|
|
|
196
199
|
f"JAR did not generate the expected output file: {out_path}\n"
|
|
197
200
|
f"stderr: {result.stderr.strip()}"
|
|
198
201
|
)
|
|
199
|
-
with open(out_path, "r", encoding="utf-8") as f:
|
|
202
|
+
with open(out_path, "r", encoding="utf-8", errors="replace") as f:
|
|
200
203
|
return f.read()
|
|
201
204
|
|
|
202
205
|
def merge_models(self, sourceA: str, sourceB: str, op_type: str, agg: str) -> str:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|