diff options
| author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-02-24 16:42:48 +0900 |
|---|---|---|
| committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-03-03 02:54:54 +0900 |
| commit | 50ffe5b7c2e58b80ac379d8a1d300d12e5bf471f (patch) | |
| tree | b425af2833b94f8c4f581232db8c145f15b3a706 /sphinx/deprecation.py | |
| parent | 80176cdc7666738e5f5ebbef493a96399ec82e15 (diff) | |
| download | sphinx-git-50ffe5b7c2e58b80ac379d8a1d300d12e5bf471f.tar.gz | |
refactor: Move versionlabels to sphinx.directives.other
Diffstat (limited to 'sphinx/deprecation.py')
| -rw-r--r-- | sphinx/deprecation.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/sphinx/deprecation.py b/sphinx/deprecation.py index cd6e1ae2a..905d19a07 100644 --- a/sphinx/deprecation.py +++ b/sphinx/deprecation.py @@ -9,6 +9,8 @@ :license: BSD, see LICENSE for details. """ +import warnings + class RemovedInSphinx18Warning(DeprecationWarning): pass @@ -27,3 +29,38 @@ class RemovedInSphinx30Warning(PendingDeprecationWarning): RemovedInNextVersionWarning = RemovedInSphinx18Warning + + +class DeprecatedDict(dict): + """A deprecated dict which warns on each access.""" + + def __init__(self, data, message, warning): + # type: (Dict, str, DeprecationWarning) -> None + self.message = message + self.warning = warning + super(DeprecatedDict, self).__init__(data) + + def __setitem__(self, key, value): + # type: (unicode, Any) -> None + warnings.warn(self.message, self.warning) + super(DeprecatedDict, self).__setitem__(key, value) + + def setdefault(self, key, default=None): + # type: (unicode, Any) -> None + warnings.warn(self.message, self.warning) + return super(DeprecatedDict, self).setdefault(key, default) + + def __getitem__(self, key): + # type: (unicode, Any) -> None + warnings.warn(self.message, self.warning) + return super(DeprecatedDict, self).__getitem__(key) + + def get(self, key, default=None): + # type: (unicode, Any) -> None + warnings.warn(self.message, self.warning) + return super(DeprecatedDict, self).get(key, default) + + def update(self, other=None): # type: ignore + # type: (Dict) -> None + warnings.warn(self.message, self.warning) + super(DeprecatedDict, self).update(other) |
