From f461fedae789fb3afd4307656a3996680d2901f2 Mon Sep 17 00:00:00 2001 From: Erika Dsouza Date: Mon, 5 Feb 2018 15:48:15 -0500 Subject: [PATCH 1/3] Deprecate document conversion --- watson_developer_cloud/document_conversion_v1.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/watson_developer_cloud/document_conversion_v1.py b/watson_developer_cloud/document_conversion_v1.py index 0e6a92fea..37cf9797d 100644 --- a/watson_developer_cloud/document_conversion_v1.py +++ b/watson_developer_cloud/document_conversion_v1.py @@ -16,10 +16,19 @@ The v1 Document Conversion service (https://www.ibm.com/watson/developercloud/document-conversion.html) """ +import warnings from .watson_service import WatsonService import os import json +def deprecated(func): + def deprecated_func(*args, **kwargs): + warnings.warn("{} retired in October 2017. To continue using document conversion capabilities, please use Watson Discovery.".format(func.__name__), + category=DeprecationWarning, + stacklevel=2) + warnings.simplefilter('default', DeprecationWarning) + return func(*args, **kwargs) + return deprecated_func class DocumentConversionV1(WatsonService): DEFAULT_URL = 'https://gateway.watsonplatform.net/document-conversion/api' @@ -28,10 +37,12 @@ class DocumentConversionV1(WatsonService): NORMALIZED_TEXT = 'normalized_text' latest_version = '2016-02-10' + @deprecated def __init__(self, version, url=DEFAULT_URL, **kwargs): WatsonService.__init__(self, 'document_conversion', url, **kwargs) self.version = version + @deprecated def convert_document(self, document, config, media_type=None): params = {'version': self.version} filename = os.path.basename(document.name) @@ -45,7 +56,7 @@ def convert_document(self, document, config, media_type=None): return self.request(method='POST', url='/v1/convert_document', files=files, params=params, accept_json=accept_json) - + @deprecated def index_document(self, config, document=None, metadata=None, media_type=None): if document is None and metadata is None: From 8dd85a39fb5c8aa33ea69849ee4881de8b6b57f9 Mon Sep 17 00:00:00 2001 From: Erika Dsouza Date: Mon, 5 Feb 2018 16:30:38 -0500 Subject: [PATCH 2/3] Move deprecated decorator to utils --- .../document_conversion_v1.py | 17 ++++------------- watson_developer_cloud/utils.py | 12 ++++++++++++ 2 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 watson_developer_cloud/utils.py diff --git a/watson_developer_cloud/document_conversion_v1.py b/watson_developer_cloud/document_conversion_v1.py index 37cf9797d..6f36691ce 100644 --- a/watson_developer_cloud/document_conversion_v1.py +++ b/watson_developer_cloud/document_conversion_v1.py @@ -16,20 +16,11 @@ The v1 Document Conversion service (https://www.ibm.com/watson/developercloud/document-conversion.html) """ -import warnings +from .utils import deprecated from .watson_service import WatsonService import os import json -def deprecated(func): - def deprecated_func(*args, **kwargs): - warnings.warn("{} retired in October 2017. To continue using document conversion capabilities, please use Watson Discovery.".format(func.__name__), - category=DeprecationWarning, - stacklevel=2) - warnings.simplefilter('default', DeprecationWarning) - return func(*args, **kwargs) - return deprecated_func - class DocumentConversionV1(WatsonService): DEFAULT_URL = 'https://gateway.watsonplatform.net/document-conversion/api' ANSWER_UNITS = 'answer_units' @@ -37,12 +28,12 @@ class DocumentConversionV1(WatsonService): NORMALIZED_TEXT = 'normalized_text' latest_version = '2016-02-10' - @deprecated + @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") def __init__(self, version, url=DEFAULT_URL, **kwargs): WatsonService.__init__(self, 'document_conversion', url, **kwargs) self.version = version - @deprecated + @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") def convert_document(self, document, config, media_type=None): params = {'version': self.version} filename = os.path.basename(document.name) @@ -56,7 +47,7 @@ def convert_document(self, document, config, media_type=None): return self.request(method='POST', url='/v1/convert_document', files=files, params=params, accept_json=accept_json) - @deprecated + @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") def index_document(self, config, document=None, metadata=None, media_type=None): if document is None and metadata is None: diff --git a/watson_developer_cloud/utils.py b/watson_developer_cloud/utils.py new file mode 100644 index 000000000..f7abf8d51 --- /dev/null +++ b/watson_developer_cloud/utils.py @@ -0,0 +1,12 @@ +import warnings + +def deprecated(message): + def deprecated_decorator(func): + def deprecated_func(*args, **kwargs): + warnings.warn("{} is a deprecated function. {}".format(func.__name__, message), + category=DeprecationWarning, + stacklevel=2) + warnings.simplefilter('default', DeprecationWarning) + return func(*args, **kwargs) + return deprecated_func + return deprecated_decorator \ No newline at end of file From d38c940d2bb61eccfae1658e9b75a3d3db741bec Mon Sep 17 00:00:00 2001 From: Erika Dsouza Date: Mon, 5 Feb 2018 17:18:43 -0500 Subject: [PATCH 3/3] Better deprecation message --- watson_developer_cloud/document_conversion_v1.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/watson_developer_cloud/document_conversion_v1.py b/watson_developer_cloud/document_conversion_v1.py index 6f36691ce..bbf1714e6 100644 --- a/watson_developer_cloud/document_conversion_v1.py +++ b/watson_developer_cloud/document_conversion_v1.py @@ -20,6 +20,7 @@ from .watson_service import WatsonService import os import json +DEPRECATION_MESSAGE = "Since Document Conversion Service was retired in October 2017, we have continued to improve document conversion capabilities within Watson Discovery. If you are a Document Conversion user, get started with Discovery today. Refer to the migration guide: https://console.bluemix.net/docs/services/discovery/migrate-dcs-rr.html" class DocumentConversionV1(WatsonService): DEFAULT_URL = 'https://gateway.watsonplatform.net/document-conversion/api' @@ -28,12 +29,12 @@ class DocumentConversionV1(WatsonService): NORMALIZED_TEXT = 'normalized_text' latest_version = '2016-02-10' - @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") + @deprecated(DEPRECATION_MESSAGE) def __init__(self, version, url=DEFAULT_URL, **kwargs): WatsonService.__init__(self, 'document_conversion', url, **kwargs) self.version = version - @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") + @deprecated(DEPRECATION_MESSAGE) def convert_document(self, document, config, media_type=None): params = {'version': self.version} filename = os.path.basename(document.name) @@ -47,7 +48,7 @@ def convert_document(self, document, config, media_type=None): return self.request(method='POST', url='/v1/convert_document', files=files, params=params, accept_json=accept_json) - @deprecated("To continue using document conversion capabilities, please use Watson Discovery.") + @deprecated(DEPRECATION_MESSAGE) def index_document(self, config, document=None, metadata=None, media_type=None): if document is None and metadata is None: