diff --git a/SAS/TMSS/client/lib/tmss_http_rest_client.py b/SAS/TMSS/client/lib/tmss_http_rest_client.py index f7d3fee1f76251001eb29337d4952f7ad8517511..e533b72380b62110293611f3eb360638b4d45ea8 100644 --- a/SAS/TMSS/client/lib/tmss_http_rest_client.py +++ b/SAS/TMSS/client/lib/tmss_http_rest_client.py @@ -106,7 +106,8 @@ class TMSSsession(object): def get_subtask_parset(self, subtask_id) -> str: '''get the lofar parameterset (as text) for the given subtask''' - result = self.session.get(url='%s/subtask/%s/parset' % (self.base_url, subtask_id)) + result = self.session.get(url=self.get_full_url_for_path('/subtask/%s/parset' % (subtask_id,)), + headers={'Accept': 'text/plain'}) if result.status_code >= 200 and result.status_code < 300: return result.content.decode('utf-8') raise Exception("Could not get parameterset for subtask %s.\nResponse: %s" % (subtask_id, result)) @@ -241,7 +242,7 @@ class TMSSsession(object): def specify_observation_task(self, task_id: int) -> requests.Response: """specify observation for the given draft task by just doing a REST API call """ - result = self.session.get(url='%s/api/task/%s/specify_observation' % (self.base_url, task_id)) + result = self.session.get(url=self.get_full_url_for_path('/task/%s/specify_observation' % (task_id,))) if result.status_code >= 200 and result.status_code < 300: return result.content.decode('utf-8') raise Exception("Could not specify observation for task %s.\nResponse: %s" % (task_id, result)) @@ -259,7 +260,7 @@ class TMSSsession(object): def get_setting(self, setting_name: str) -> {}: """get the value of a TMSS setting. returns the setting value upon success, or raises.""" - response = self.session.get(url='%s/setting/%s/' % (self.base_url, setting_name), + response = self.session.get(url=self.get_full_url_for_path('/setting/%s/' % (setting_name,)), params={'format': 'json'}) if response.status_code >= 200 and response.status_code < 300: @@ -271,7 +272,7 @@ class TMSSsession(object): def set_setting(self, setting_name: str, setting_value: bool) -> {}: """set a value for a TMSS setting. returns the setting value upon success, or raises.""" - response = self.session.patch(url='%s/setting/%s/' % (self.base_url, setting_name), + response = self.session.patch(url=self.get_full_url_for_path('/setting/%s/' % (setting_name,)), json={'value': setting_value}) if response.status_code >= 200 and response.status_code < 300: @@ -291,7 +292,7 @@ class TMSSsession(object): json_data['template'] = json.loads(template) if isinstance(template, str) else template json_data.update(**kwargs) - response = self.session.post(url='%s/%s/' % (self.base_url, template_path), json=json_data) + response = self.session.post(url=self.get_full_url_for_path(template_path), json=json_data) if response.status_code == 201: logger.info("created new template: %s", json.loads(response.text)['url']) else: @@ -304,7 +305,7 @@ class TMSSsession(object): new_feedback = feedback else: new_feedback = "%s\n%s" % (existing_feedback, feedback) - response = self.session.patch(url='%s/subtask/%s/' % (self.base_url, subtask_id), + response = self.session.patch(url=self.get_full_url_for_path('/subtask/%s/' % (subtask_id,)), json={'raw_feedback': new_feedback}, params={'format': 'json'}) @@ -318,7 +319,7 @@ class TMSSsession(object): def process_subtask_feedback_and_set_finished(self, subtask_id: int) -> {}: '''process the raw_feedback of a given subtask and set the subtask to finished on succes. Return the subtask with its new state, or raise an error''' - response = self.session.post(url='%s/subtask/%s/process_feedback_and_set_finished' % (self.base_url, subtask_id), + response = self.session.post(url=self.get_full_url_for_path('/subtask/%s/process_feedback_and_set_finished' % (subtask_id,)), params={'format': 'json'}) if response.status_code >= 200 and response.status_code < 300: