Skip to content

Commit

Permalink
Cleanup and prepare deprecation messages
Browse files Browse the repository at this point in the history
  • Loading branch information
adferrand committed Aug 12, 2023
1 parent fb5d7f9 commit 4e5e910
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 8 deletions.
30 changes: 26 additions & 4 deletions src/lexicon/__init__.py
@@ -1,4 +1,26 @@
"""
lexicon - a DNS provider agnostic api to manipulate records.
"""
__author__ = "Jason Kulatunga"
import sys
import warnings
from types import ModuleType

from lexicon._private import cli as _cli
from lexicon._private import discovery as _discovery
from lexicon._private import parser as _parser


class DeprecatedModule(ModuleType):
def __init__(self, module: ModuleType, name: str):
super().__init__(name)
self._module = module

def __getattr__(self, item):
warnings.warn(
f"Module {self.__name__} is deprecated and will be removed in Lexicon 4>=",
DeprecationWarning,
stacklevel=2,
)
return getattr(self._module, item)


sys.modules["lexicon.cli"] = DeprecatedModule(_cli, "lexicon.cli")
sys.modules["lexicon.parser"] = DeprecatedModule(_parser, "lexicon.parser")
sys.modules["lexicon.discovery"] = DeprecatedModule(_discovery, "lexicon.discovery")
1 change: 0 additions & 1 deletion src/lexicon/_private/cli.py
Expand Up @@ -6,7 +6,6 @@
import sys
import warnings
from typing import Dict, List, Optional, Union
import warnings

from lexicon._private.parser import generate_cli_main_parser
from lexicon.client import Client
Expand Down
2 changes: 0 additions & 2 deletions src/lexicon/_private/providers/__init__.py
@@ -1,2 +0,0 @@
"""General configuration of lexicon._private.providers package"""
__author__ = "Jason Kulatunga"
4 changes: 3 additions & 1 deletion tests/conftest.py
Expand Up @@ -114,7 +114,9 @@ def _request(self, action="GET", url="/", data=None, query_params=None):
original_import = importlib.import_module

with mock.patch("lexicon._private.discovery.pkgutil.iter_modules") as mock_iter:
with mock.patch("lexicon._private.discovery.importlib.import_module") as mock_import:
with mock.patch(
"lexicon._private.discovery.importlib.import_module"
) as mock_import:

def return_iter(path):
"""
Expand Down

0 comments on commit 4e5e910

Please sign in to comment.