diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a9bd7c0fa..b94e61cb9 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -29,37 +29,9 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -152,64 +124,65 @@
- {
- "keyToString": {
- "ASKED_ADD_EXTERNAL_FILES": "true",
- "Git.Branch.Popup.ShowAllRemotes": "true",
- "MATLAB_INTERPRETER": "/usr/local/MATLAB/R2018a/bin/matlab",
- "Python tests.Nosetests for test_load_save_load.test_load_save_load.executor": "Debug",
- "Python tests.Nosetests for test_power_flow.test_zip.executor": "Debug",
- "Python tests.Nosetests for test_ptdf.test_compensated_ptdf.executor": "Run",
- "Python tests.Nosetests for test_topology_processor.test_topology_rts.executor": "Debug",
- "Python tests.Nosetests for tests.test_ac_opf.executor": "Run",
- "Python tests.Nosetests for tests.test_ac_opf.test_ieee14.executor": "Run",
- "Python tests.Nosetests for tests.test_ac_opf.test_pegase89.executor": "Debug",
- "Python tests.Nosetests for tests.test_continuation_power_flow.executor": "Run",
- "Python tests.Nosetests for tests.test_continuation_power_flow.test_cpf.executor": "Debug",
- "Python tests.Nosetests for tests.test_hydro.executor": "Run",
- "Python tests.Nosetests for tests.test_latin_hypercube.test_lhs.executor": "Run",
- "Python tests.Nosetests for tests.test_load_save_load.executor": "Run",
- "Python tests.Nosetests for tests.test_opf_time_series.test_opf_ts.executor": "Run",
- "Python tests.Nosetests for tests.test_topology_processor.executor": "Run",
- "Python tests.Nosetests for tests.test_topology_processor.test_topology_rts.executor": "Run",
- "Python tests.Nosetests in admittance_matrix_test.py.executor": "Run",
- "Python tests.Nosetests in deep_copy_test.py.executor": "Run",
- "Python tests.Nosetests in test_ac_opf.py.executor": "Run",
- "Python tests.Nosetests in test_ptdf.py.executor": "Run",
- "Python tests.Nosetests in test_topology_processor.py.executor": "Run",
- "Python tests.Nosetests in tests.executor": "Run",
- "Python.AnalysisDialogue.executor": "Run",
- "Python.ExecuteGridCal.executor": "Run",
- "Python.ac_opf_derivatives_bound_slacks.executor": "Debug",
- "Python.acopf_run.executor": "Run",
- "Python.case10.executor": "Run",
- "Python.cgmes_rdfs_graph.executor": "Run",
- "Python.generate_property_gatters_and_setters.executor": "Run",
- "Python.make.executor": "Run",
- "Python.make_wheels.executor": "Run",
- "Python.new_circuit_objects.executor": "Run",
- "Python.power_flow_research_sinj.executor": "Run",
- "Python.pymoo_example.executor": "Debug",
- "Python.short_circuit_run.executor": "Run",
- "Python.test_continuation_power_flow.executor": "Debug",
- "Python.update_gui_file (1).executor": "Run",
- "Python.update_gui_file.executor": "Run",
- "Python.upload_to_pypi.executor": "Run",
- "RunOnceActivity.OpenProjectViewOnStart": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "WebServerToolWindowFactoryState": "false",
- "git-widget-placeholder": "205__ACOPF",
- "last_opened_file_path": "/home/santi/Documentos/Git/GitHub/GridCal/src/trunk",
- "node.js.detected.package.eslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "run.code.analysis.last.selected.profile": "aDefault",
- "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
- "two.files.diff.last.used.file": "C:/WorkProjects/PycharmProjects/GridCal/src/trunk/cgmes_py_generator/cgmes_v2_4_15/cgmes_enums.py",
- "vue.rearranger.settings.migration": "true"
+
+}]]>
@@ -520,6 +493,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -583,7 +579,7 @@
-
+
@@ -596,24 +592,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -690,19 +669,19 @@
+
-
-
+
+
+
-
-
@@ -1408,7 +1387,7 @@
-
+
1656059954202
@@ -1753,7 +1732,7 @@
1698766404661
-
+
@@ -1799,8 +1778,6 @@
-
-
@@ -1824,7 +1801,9 @@
-
+
+
+
@@ -2232,13 +2211,13 @@
file://$PROJECT_DIR$/src/GridCalEngine/Devices/profile.py
- 384
+ 382
file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
- 209
+ 250
@@ -2248,12 +2227,12 @@
file://$PROJECT_DIR$/src/GridCalEngine/IO/gridcal/pack_unpack.py
- 1001
+ 1005
file://$PROJECT_DIR$/src/GridCalEngine/IO/gridcal/pack_unpack.py
- 1002
+ 1006
@@ -2273,12 +2252,12 @@
file://$PROJECT_DIR$/src/GridCalEngine/IO/gridcal/pack_unpack.py
- 1087
+ 1091
file://$PROJECT_DIR$/src/GridCalEngine/IO/gridcal/pack_unpack.py
- 827
+ 831
@@ -2292,28 +2271,83 @@
-
- file://$PROJECT_DIR$/src/GridCalEngine/Devices/profile.py
- 420
-
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
+ 38
+
-
- file://$PROJECT_DIR$/src/GridCalEngine/Devices/profile.py
- 414
-
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
+ 36
+
-
- file://$PROJECT_DIR$/src/GridCalEngine/Devices/profile.py
- 416
-
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
+ 40
+
-
- file://$PROJECT_DIR$/src/GridCalEngine/Devices/profile.py
- 418
-
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
+ 42
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Devices/sparse_array.py
+ 86
+
+
+
+ file://$PROJECT_DIR$/src/GridCal/Gui/Main/SubClasses/Model/objects.py
+ 907
+
+
+
+ file://$PROJECT_DIR$/src/GridCal/Gui/Main/SubClasses/Model/objects.py
+ 910
+
+
+
+ file://$PROJECT_DIR$/src/GridCal/Gui/Main/SubClasses/Model/objects.py
+ 914
+
+
+
+ file://$PROJECT_DIR$/src/GridCal/Gui/Main/SubClasses/Model/objects.py
+ 911
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/timeseries_filtering.py
+ 144
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/filtering.py
+ 387
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/filtering.py
+ 376
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/filtering.py
+ 378
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/filtering.py
+ 356
+
+
+
+ file://$PROJECT_DIR$/src/GridCalEngine/Utils/Filtering/filtering.py
+ 362
+
@@ -2388,7 +2422,7 @@
-
+
@@ -2469,7 +2503,7 @@
-
+
@@ -2477,7 +2511,7 @@
-
+
@@ -2570,8 +2604,8 @@
-
+
diff --git a/src/GridCalEngine/Utils/Filtering/filtering.py b/src/GridCalEngine/Utils/Filtering/filtering.py
index 2cbefcd0c..7694073ff 100644
--- a/src/GridCalEngine/Utils/Filtering/filtering.py
+++ b/src/GridCalEngine/Utils/Filtering/filtering.py
@@ -341,7 +341,7 @@ def parse_single(token: str) -> Union[Filter, None]:
:param token: Token
:return: Filter or None if the token is not valid
"""
- elms = re.split(r'([<>=!]=?|in|starts|ends|like|notlike)', token)
+ elms = re.split(r'(?<=\s)([<>=!]=?|in|starts|ends|like|notlike)(?=\s)', token)
if len(elms) == 3: