# -*- coding: utf-8 -*- # Copyright (c) 2019 Ansible Project # Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) from __future__ import annotations from ansible.module_utils.six import string_types _global_warnings = [] _global_deprecations = [] def warn(warning): if isinstance(warning, string_types): _global_warnings.append(warning) else: raise TypeError("warn requires a string not a %s" % type(warning)) def deprecate(msg, version=None, date=None, collection_name=None): if isinstance(msg, string_types): # For compatibility, we accept that neither version nor date is set, # and treat that the same as if version would haven been set if date is not None: _global_deprecations.append({'msg': msg, 'date': date, 'collection_name': collection_name}) else: _global_deprecations.append({'msg': msg, 'version': version, 'collection_name': collection_name}) else: raise TypeError("deprecate requires a string not a %s" % type(msg)) def get_warning_messages(): """Return a tuple of warning messages accumulated over this run""" return tuple(_global_warnings) def get_deprecation_messages(): """Return a tuple of deprecations accumulated over this run""" return tuple(_global_deprecations)