소스 검색

Accept spaces in sequence name

jrobinAV 1 년 전
부모
커밋
f038ed7391
3개의 변경된 파일11개의 추가작업 그리고 10개의 파일을 삭제
  1. 2 2
      taipy/config/common/_validate_id.py
  2. 2 1
      taipy/core/sequence/sequence.py
  3. 7 7
      tests/core/scenario/test_scenario.py

+ 2 - 2
taipy/config/common/_validate_id.py

@@ -19,9 +19,9 @@ __INVALID_TAIPY_ID_TERMS = ["CYCLE", "SCENARIO", "SEQUENCE", "TASK", "DATANODE"]
 def _validate_id(name: str):
     for invalid_taipy_id_term in __INVALID_TAIPY_ID_TERMS:
         if invalid_taipy_id_term in name:
-            raise InvalidConfigurationId(f"{name} is not a valid identifier. {invalid_taipy_id_term} is restricted.")
+            raise InvalidConfigurationId(f"'{name}' is not a valid identifier. '{invalid_taipy_id_term}' is restricted.")
 
     if name.isidentifier() and not keyword.iskeyword(name):
         return name
 
-    raise InvalidConfigurationId(f"{name} is not a valid identifier.")
+    raise InvalidConfigurationId(f"'{name}' is not a valid identifier.")

+ 2 - 1
taipy/core/sequence/sequence.py

@@ -74,7 +74,8 @@ class Sequence(_Entity, Submittable, _Labeled):
 
     @staticmethod
     def _new_id(sequence_name: str, scenario_id) -> SequenceId:
-        return SequenceId(Sequence._SEPARATOR.join([Sequence._ID_PREFIX, _validate_id(sequence_name), scenario_id]))
+        seq_id = sequence_name.replace(" ", "_")
+        return SequenceId(Sequence._SEPARATOR.join([Sequence._ID_PREFIX, _validate_id(seq_id), scenario_id]))
 
     def __hash__(self):
         return hash(self.id)

+ 7 - 7
tests/core/scenario/test_scenario.py

@@ -413,23 +413,23 @@ def test_add_rename_and_remove_sequences():
     scenario.remove_sequences(["seq_1"])
     assert scenario.sequences == {"seq_2": sequence_2}
 
-    scenario.add_sequences({"seq_1": [task_1], "seq_3": [task_1, task_5, task_3]})
-    assert scenario.sequences == {"seq_2": sequence_2, "seq_1": sequence_1, "seq_3": sequence_3}
+    scenario.add_sequences({"seq_1": [task_1], "seq 3": [task_1, task_5, task_3]})
+    assert scenario.sequences == {"seq_2": sequence_2, "seq_1": sequence_1, "seq 3": sequence_3}
 
-    scenario.remove_sequences(["seq_2", "seq_3"])
+    scenario.remove_sequences(["seq_2", "seq 3"])
     assert scenario.sequences == {"seq_1": sequence_1}
 
     scenario.add_sequence("seq_2", [task_1, task_2])
     assert scenario.sequences == {"seq_1": sequence_1, "seq_2": sequence_2}
 
-    scenario.add_sequence("seq_3", [task_1.id, task_5.id, task_3.id])
-    assert scenario.sequences == {"seq_1": sequence_1, "seq_2": sequence_2, "seq_3": sequence_3}
+    scenario.add_sequence("seq 3", [task_1.id, task_5.id, task_3.id])
+    assert scenario.sequences == {"seq_1": sequence_1, "seq_2": sequence_2, "seq 3": sequence_3}
 
     scenario.remove_sequence("seq_1")
-    assert scenario.sequences == {"seq_2": sequence_2, "seq_3": sequence_3}
+    assert scenario.sequences == {"seq_2": sequence_2, "seq 3": sequence_3}
 
     scenario.rename_sequence("seq_2", "new_seq_2")
-    assert scenario.sequences == {"new_seq_2": new_seq_2, "seq_3": sequence_3}
+    assert scenario.sequences == {"new_seq_2": new_seq_2, "seq 3": sequence_3}
 
 
 def test_update_sequence(data_node):