mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-07 20:54:29 +08:00
remove runtime dependency on pytest-mypy-plugins
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
from contextlib import contextmanager
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, Dict, Iterator, List, Optional, TYPE_CHECKING, Tuple, Type
|
from typing import Any, Dict, Iterator, List, Optional, TYPE_CHECKING, Tuple, Type
|
||||||
|
|
||||||
@@ -11,7 +12,6 @@ from django.db.models.sql.query import Query
|
|||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from mypy.checker import TypeChecker
|
from mypy.checker import TypeChecker
|
||||||
from mypy.types import Instance, Type as MypyType
|
from mypy.types import Instance, Type as MypyType
|
||||||
from pytest_mypy.utils import temp_environ
|
|
||||||
|
|
||||||
from django.contrib.postgres.fields import ArrayField
|
from django.contrib.postgres.fields import ArrayField
|
||||||
from django.db.models.fields import CharField, Field
|
from django.db.models.fields import CharField, Field
|
||||||
@@ -28,6 +28,17 @@ class DjangoPluginConfig:
|
|||||||
ignore_missing_model_attributes: bool = False
|
ignore_missing_model_attributes: bool = False
|
||||||
|
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def temp_environ():
|
||||||
|
"""Allow the ability to set os.environ temporarily"""
|
||||||
|
environ = dict(os.environ)
|
||||||
|
try:
|
||||||
|
yield
|
||||||
|
finally:
|
||||||
|
os.environ.clear()
|
||||||
|
os.environ.update(environ)
|
||||||
|
|
||||||
|
|
||||||
def initialize_django(settings_module: str) -> Tuple['Apps', 'LazySettings']:
|
def initialize_django(settings_module: str) -> Tuple['Apps', 'LazySettings']:
|
||||||
with temp_environ():
|
with temp_environ():
|
||||||
os.environ['DJANGO_SETTINGS_MODULE'] = settings_module
|
os.environ['DJANGO_SETTINGS_MODULE'] = settings_module
|
||||||
|
|||||||
Reference in New Issue
Block a user