From d8b53fee5818b20de08cab455bc4bdb3dc79432f Mon Sep 17 00:00:00 2001 From: dbeltran Date: Tue, 10 Oct 2023 14:38:04 +0200 Subject: [PATCH 1/4] fix doc --- docs/source/installation/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/installation/index.rst b/docs/source/installation/index.rst index b89b88c2e..eeda649e6 100644 --- a/docs/source/installation/index.rst +++ b/docs/source/installation/index.rst @@ -176,7 +176,7 @@ There are two methods of configuring the Autosubmit main paths. * Manually generate an ``autosubmitrc`` file in ``/etc/autosubmitrc``, suited for a workgroup or production environment that wants to use Autosubmit in a shared database in a manner that multiple users can share and view others' experiments. -.. important:: `.autosubmitrc` user level and user level precedes system configuration. `$HOME/.autosubmitrc > /etc/autosubmitrc` +.. important:: `.autosubmitrc` user level precedes system configuration. `$HOME/.autosubmitrc > /etc/autosubmitrc` Quick Installation - Non-shared database (user level) ------------------------------------------------------ -- GitLab From 197125de5de0c2962c35184e5ec2d049d322a3cd Mon Sep 17 00:00:00 2001 From: dbeltran Date: Mon, 23 Oct 2023 16:26:11 +0200 Subject: [PATCH 2/4] Fix an issue with filters --- autosubmit/job/job_list.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/autosubmit/job/job_list.py b/autosubmit/job/job_list.py index 043e97f4f..af80e2158 100644 --- a/autosubmit/job/job_list.py +++ b/autosubmit/job/job_list.py @@ -628,17 +628,16 @@ class JobList(object): status = relationship.pop("STATUS", relationships.get("STATUS", None)) from_step = relationship.pop("FROM_STEP", relationships.get("FROM_STEP", None)) for filter_range, filter_data in relationship.items(): - selected_filter = JobList._parse_filters_to_check(filter_range,values_list,level_to_check) - # check each value individually as 1 != 13 so in keyword is not enough - if value_to_check: + selected_filter = JobList._parse_filters_to_check(filter_range, values_list, level_to_check) + if filter_range.casefold() in ["ALL".casefold(),"NATURAL".casefold(),"NONE".casefold()] or not value_to_check: + included = True + else: included = False for value in selected_filter: - if str(value_to_check).casefold() == str(value).casefold(): + if str(value).strip(" ").casefold() == str(value_to_check).strip(" ").casefold(): included = True break - else: - inclued = True - if filter_range.casefold() in ["ALL".casefold(),"NATURAL".casefold()] or included: + if included: if not filter_data.get("STATUS", None): filter_data["STATUS"] = status if not filter_data.get("FROM_STEP", None): -- GitLab From 606e03980f97c605d9568c50bd81c7ac151ff04b Mon Sep 17 00:00:00 2001 From: dbeltran Date: Tue, 24 Oct 2023 09:19:41 +0200 Subject: [PATCH 3/4] added test --- test/unit/test_dependencies.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/unit/test_dependencies.py b/test/unit/test_dependencies.py index ab8b4e357..f2b0b58fa 100644 --- a/test/unit/test_dependencies.py +++ b/test/unit/test_dependencies.py @@ -562,5 +562,29 @@ class TestJobList(unittest.TestCase): result = self.JobList._valid_parent(self.mock_job, member_list, date_list, chunk_list, is_a_natural_relation, filter_,child) self.assertEqual(result, True) + def test_check_relationship(self): + relationships = {'MEMBERS_FROM': {'TestMember, TestMember2,TestMember3 ': {'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}}} + level_to_check = "MEMBERS_FROM" + value_to_check = "TestMember" + result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] + self.assertEqual(result, expected_output) + value_to_check = "TestMember2" + result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] + self.assertEqual(result, expected_output) + value_to_check = "TestMember3" + result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] + self.assertEqual(result, expected_output) + value_to_check = "TestMember " + result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] + self.assertEqual(result, expected_output) + value_to_check = " TestMember" + result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] + self.assertEqual(result, expected_output) + if __name__ == '__main__': unittest.main() -- GitLab From d1fcf704309d32f50e35e28d13ac592a0ae6d5ce Mon Sep 17 00:00:00 2001 From: dbeltran Date: Tue, 24 Oct 2023 09:22:12 +0200 Subject: [PATCH 4/4] pep warning fix --- test/unit/test_dependencies.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/unit/test_dependencies.py b/test/unit/test_dependencies.py index f2b0b58fa..e787f4e51 100644 --- a/test/unit/test_dependencies.py +++ b/test/unit/test_dependencies.py @@ -566,19 +566,19 @@ class TestJobList(unittest.TestCase): relationships = {'MEMBERS_FROM': {'TestMember, TestMember2,TestMember3 ': {'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}}} level_to_check = "MEMBERS_FROM" value_to_check = "TestMember" - result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + result = self.JobList._check_relationship(relationships, level_to_check, value_to_check) expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] self.assertEqual(result, expected_output) value_to_check = "TestMember2" - result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + result = self.JobList._check_relationship(relationships, level_to_check, value_to_check) expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] self.assertEqual(result, expected_output) value_to_check = "TestMember3" - result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + result = self.JobList._check_relationship(relationships, level_to_check, value_to_check) expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] self.assertEqual(result, expected_output) value_to_check = "TestMember " - result = self.JobList._check_relationship(relationships,level_to_check,value_to_check ) + result = self.JobList._check_relationship(relationships, level_to_check, value_to_check) expected_output = [{'CHUNKS_TO': 'None', 'DATES_TO': 'None', 'FROM_STEP': None, 'MEMBERS_TO': 'None', 'STATUS': None}] self.assertEqual(result, expected_output) value_to_check = " TestMember" -- GitLab