From cd79c7838f2eb702c71960e92bba3fef808965eb Mon Sep 17 00:00:00 2001 From: PrasadhNanjundan Date: Fri, 16 May 2025 13:21:30 +0530 Subject: [PATCH 1/5] sdk method for Add file and directory --- msa_sdk/repository.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/msa_sdk/repository.py b/msa_sdk/repository.py index 5480b83..930c3ba 100644 --- a/msa_sdk/repository.py +++ b/msa_sdk/repository.py @@ -5,6 +5,8 @@ from msa_sdk.msa_api import MSA_API +import json + class Repository(MSA_API): """Class Repository.""" @@ -411,3 +413,44 @@ def get_file(self, file_uri): self.path = "{}/file?{}".format(self.api_path, url_encoded) self._call_get() return json.loads(self.content) + + def add_file(self, file_uri, content): + """ + Add file content. + + Parameters + ---------- + file_uri: String + File path in repository + content: String + File content + + Returns + ------- + None + + """ + self.action = 'Add file content' + url_encoded = urlencode({'uri': file_uri}) + self.path = "{}/file?{}".format(self.api_path, url_encoded) + content_dict = {'content': content} + self._call_post(content_dict) + + def add_directory(self, uri): + """ + Add directory. + + Parameters + ---------- + uri: String + Directory path in repository + + Returns + ------- + None + + """ + self.action = 'Add directory' + url_encoded = urlencode({'uri': uri}) + self.path = "{}/directory?{}".format(self.api_path, url_encoded) + self._call_post() \ No newline at end of file From 37892f5e5b3eb68ef41c6796d1341a36fe10f1d2 Mon Sep 17 00:00:00 2001 From: PrasadhNanjundan Date: Fri, 16 May 2025 17:20:25 +0530 Subject: [PATCH 2/5] CCLA-848: import json on file level --- msa_sdk/repository.py | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/msa_sdk/repository.py b/msa_sdk/repository.py index 930c3ba..c131fae 100644 --- a/msa_sdk/repository.py +++ b/msa_sdk/repository.py @@ -6,6 +6,7 @@ from msa_sdk.msa_api import MSA_API import json +import re class Repository(MSA_API): @@ -57,7 +58,6 @@ def get_microservice_variables(self, file_uri): Dictionary wich contains microservice variables definition """ - import json self.action = 'Get variables for microservice' url_encoded = urlencode({'uri': file_uri}) self.path = "{}/resource/variables?{}".format( @@ -65,13 +65,13 @@ def get_microservice_variables(self, file_uri): self._call_get() return json.loads(self.content) - def post_repository_variables(self, respository_uri): + def post_repository_variables(self, repository_uri): """ Get repository variables. Parameters ---------- - repository: String + repository_uri: String File path repository variables Returns @@ -80,7 +80,7 @@ def post_repository_variables(self, respository_uri): """ self.action = 'Post repository variables' - url_encoded = urlencode({'repository': respository_uri}) + url_encoded = urlencode({'repository': repository_uri}) self.path = "{}/variables?{}".format(self.api_path_v2, url_encoded) self._call_post() @@ -101,7 +101,6 @@ def get_microservice_details(self, file_uri): Dictionary wich contains microservice details """ - import json self.action = 'Get details for microservice' url_encoded = urlencode({'uri': file_uri}) @@ -117,9 +116,6 @@ def put_microservice_details(self, microservice_details): Parameters ---------- - file_uri: String - File path to microservice in repository - microservice_details: json JSON body of microservices detail @@ -180,7 +176,7 @@ def get_microservice_path_by_name(self, microservice_name: str, Parameters ---------- microservice_name: Name of microservice - depoloyment_settings_id: Deployment settings id + deployment_settings_id: Deployment settings id Returns ------- @@ -188,9 +184,6 @@ def get_microservice_path_by_name(self, microservice_name: str, Microservice file path or None """ - import json - import re - self.action = 'Get deployment settings' self.path = "/conf-profile/v2/{}".format(deployment_settings_id) @@ -232,14 +225,13 @@ def detach_microserviceis_from_configuration_profile( Parameters ---------- - depoloyment_settings_id: Deployment settings id + deployment_settings_id: Deployment settings id ms_list: List of microservice's URI to detach Returns ------- None """ - import json self.action = 'Detach microservice from deployment settings' self.path = "/conf-profile/v2/detach/{}/repository/files".format( deployment_settings_id) @@ -259,7 +251,6 @@ def get_workflow_definition(self, file_uri: str) -> dict: Variables and their default values """ - import json url_encoded = urlencode({'uri': file_uri}) self.action = 'Get workflow definition' self.path = "/repository/v2/resource/workflow?{}".format(url_encoded) @@ -282,7 +273,6 @@ def change_workflow_definition( None """ - import json url_encoded = urlencode({'uri': file_uri}) self.action = 'Change workflow definition' self.path = "/repository/v2/resource/workflow?{}".format(url_encoded) @@ -353,10 +343,10 @@ def create_workflow_definition( ] } ] - } + } ''' workflow_definition_dict = json.loads(workflow_definition) #convert string into dict - + Returns ------- None if no error, else it return the error @@ -368,11 +358,11 @@ def create_workflow_definition( for process_details in workflow_definition_dict['process']: if not process_details['tasks']: process_details['tasks'] = list() - - self._call_post(workflow_definition_dict) + + self._call_post(workflow_definition_dict) return None - def delete_workflow_definition(self, file_uri: str) -> dict: + def delete_workflow_definition(self, file_uri: str) -> None: """ Delete Workflow resource. @@ -407,7 +397,6 @@ def get_file(self, file_uri): Dictionary wich contains file content """ - import json self.action = 'Get file content' url_encoded = urlencode({'uri': file_uri}) self.path = "{}/file?{}".format(self.api_path, url_encoded) From 46db2857e6ffc3f2e48258043d4ca32ec5b1c560 Mon Sep 17 00:00:00 2001 From: PrasadhNanjundan Date: Fri, 16 May 2025 17:45:18 +0530 Subject: [PATCH 3/5] CCLA-848: import json on file level --- msa_sdk/repository.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msa_sdk/repository.py b/msa_sdk/repository.py index c131fae..53f20c7 100644 --- a/msa_sdk/repository.py +++ b/msa_sdk/repository.py @@ -1,12 +1,12 @@ """Module Repository.""" - +import json +import re from urllib.parse import urlencode from msa_sdk.msa_api import MSA_API -import json -import re + class Repository(MSA_API): From 7b9d1b64b567cc915090e9097407822fdbaf3149 Mon Sep 17 00:00:00 2001 From: PrasadhNanjundan Date: Fri, 16 May 2025 17:51:49 +0530 Subject: [PATCH 4/5] CCLA-848: import json on file level --- msa_sdk/repository.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/msa_sdk/repository.py b/msa_sdk/repository.py index 53f20c7..0999b6a 100644 --- a/msa_sdk/repository.py +++ b/msa_sdk/repository.py @@ -7,8 +7,6 @@ from msa_sdk.msa_api import MSA_API - - class Repository(MSA_API): """Class Repository.""" From 8ea0d381e00f4231460d0a7d5952404da93a9de7 Mon Sep 17 00:00:00 2001 From: PrasadhNanjundan Date: Fri, 23 May 2025 17:43:45 +0530 Subject: [PATCH 5/5] sdk method for sync me async and get status --- msa_sdk/order.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/msa_sdk/order.py b/msa_sdk/order.py index 80c643a..0f6fe48 100644 --- a/msa_sdk/order.py +++ b/msa_sdk/order.py @@ -97,6 +97,39 @@ def command_synchronize(self, timeout: int) -> None: self._call_post(timeout=timeout) + def command_synchronize_async(self) -> None: + """ + + Command synchronize Async. + + Returns + ------- + None + + """ + self.action = 'Command synchronize' + self.path = '{}/synchronize/{}?isAsync=true&importWithSameAndUpperRank=true'.format(self.api_path, + self.device_id) + + self._call_post() + + def get_synchronize_status(self): + """ + + Get synchronize Status. + + Returns + -------- + Dict() with synchronize status + + """ + self.action = 'Get synchronize Status' + self.path = '{}/synchronize/status?deviceId={}'.format(self.api_path, + self.device_id) + + self._call_get() + return json.loads(self.content) + def command_synchronizeOneOrMoreObjectsFromDevice(self, mservice_uris: list, timeout: int) -> None: