Skip to content

Commit

Permalink
Simplify deprecated_method a bit (#233)
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffwecan committed Jul 27, 2018
1 parent 68b3379 commit 1332cfb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 13 deletions.
12 changes: 7 additions & 5 deletions hvac/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"""

import functools
import inspect
import warnings
from textwrap import dedent

Expand Down Expand Up @@ -44,14 +45,12 @@ def raise_for_error(status_code, message=None, errors=None):
raise exceptions.UnexpectedError(message)


def deprecated_method(to_be_removed_in_version, new_call_path=None, new_method=None):
def deprecated_method(to_be_removed_in_version, new_method=None):
"""This is a decorator which can be used to mark methods as deprecated. It will result in a warning being emitted
when the function is used.
:param to_be_removed_in_version: Version of this module the decorated method will be removed in.
:type to_be_removed_in_version: str
:param new_call_path: Example call to replace deprecated usage.
:type new_call_path: str
:param new_method: Method intended to replace the decorated method. This method's docstrings are included in the
decorated method's docstring.
:type new_method: function
Expand All @@ -63,8 +62,11 @@ def decorator(method):
old_func=method.__name__,
version=to_be_removed_in_version,
)
if new_call_path:
message += " Please use `{}` moving forward.".format(new_call_path)
if new_method:
message += " Please use the '{method_name}' method on the '{module_name}' class moving forward.".format(
method_name=new_method.__name__,
module_name=inspect.getmodule(new_method).__name__
)

@functools.wraps(method)
def new_func(*args, **kwargs):
Expand Down
40 changes: 32 additions & 8 deletions hvac/v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2638,35 +2638,59 @@ def transit_verify_signed_data(self, name, input_data, algorithm=None, signature

return self._adapter.post(url, json=params).json()

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.close', new_method=adapters.Request.close)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.close,
)
def close(self):
return self._adapter.close()

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.get', new_method=adapters.Request.get)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.get,
)
def _get(self, *args, **kwargs):
return self._adapter.get(*args, **kwargs)

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.post', new_method=adapters.Request.post)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.post,
)
def _post(self, *args, **kwargs):
return self._adapter.post(*args, **kwargs)

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.put', new_method=adapters.Request.put)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.put,
)
def _put(self, *args, **kwargs):
return self._adapter.put(*args, **kwargs)

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.delete', new_method=adapters.Request.delete)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.delete,
)
def _delete(self, *args, **kwargs):
return self._adapter.delete(*args, **kwargs)

@staticmethod
@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.urljoin', new_method=adapters.Request.urljoin)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.urljoin,
)
def urljoin(*args):
return adapters.Request.urljoin(*args)

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='_adapter.request', new_method=adapters.Request.request)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=adapters.Request.request,
)
def __request(self, *args, **kwargs):
return self._adapter.request(*args, **kwargs)

@utils.deprecated_method(to_be_removed_in_version='0.8.0', new_call_path='hvac.utils.raise_for_error', new_method=utils.raise_for_error)
@utils.deprecated_method(
to_be_removed_in_version='0.8.0',
new_method=utils.raise_for_error,
)
def __raise_error(self, *args, **kwargs):
utils.raise_for_error(*args, **kwargs)

0 comments on commit 1332cfb

Please sign in to comment.