From 24f738b212197064cf9d2aed8a2fbe21d025e8cc Mon Sep 17 00:00:00 2001 From: Mike Kistler Date: Fri, 6 Oct 2017 19:25:16 -0500 Subject: [PATCH] Update user agent string to include OS and Python version info --- .../watson_developer_cloud_service.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/watson_developer_cloud/watson_developer_cloud_service.py b/watson_developer_cloud/watson_developer_cloud_service.py index 4e741df35..ac3bb2cf2 100755 --- a/watson_developer_cloud/watson_developer_cloud_service.py +++ b/watson_developer_cloud/watson_developer_cloud_service.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. import json as json_import +import platform import os import requests import sys @@ -103,6 +104,12 @@ def __init__(self, vcap_services_name, url, username=None, password=None, self.password = None self.default_headers = None + user_agent_string = 'watson-apis-python-sdk-' + __version__ # SDK version + user_agent_string += ' ' + platform.system() # OS + user_agent_string += ' ' + platform.release() # OS version + user_agent_string += ' ' + platform.python_version() # Python version + self.user_agent_header = {'user-agent': user_agent_string} + if x_watson_learning_opt_out: self.default_headers = {'x-watson-learning-opt-out': 'true'} @@ -273,8 +280,7 @@ def request(self, method, url, accept_json=False, headers=None, input_headers = _remove_null_values(headers) if headers else {} - headers = CaseInsensitiveDict( - {'user-agent': 'watson-developer-cloud-python-' + __version__}) + headers = CaseInsensitiveDict(self.user_agent_header) if self.default_headers is not None: headers.update(self.default_headers) if accept_json: