Fix #224 add paths in mypy's mypy_path option or MYPYPATH env var for import discovery (#498)

This commit is contained in:
Daniel Hillier
2020-10-23 09:06:49 +11:00
committed by GitHub
parent 9d4d06f8b3
commit 92eb068a04
2 changed files with 33 additions and 0 deletions

View File

@@ -1,8 +1,10 @@
import configparser
import sys
from functools import partial
from typing import Callable, Dict, List, NoReturn, Optional, Tuple, cast
from django.db.models.fields.related import RelatedField
from mypy.modulefinder import mypy_path
from mypy.nodes import MypyFile, TypeInfo
from mypy.options import Options
from mypy.plugin import (
@@ -91,6 +93,10 @@ class NewSemanalDjangoPlugin(Plugin):
def __init__(self, options: Options) -> None:
super().__init__(options)
django_settings_module = extract_django_settings_module(options.config_file)
# Add paths from MYPYPATH env var
sys.path.extend(mypy_path())
# Add paths from mypy_path config option
sys.path.extend(options.mypy_path)
self.django_context = DjangoContext(django_settings_module)
def _get_current_queryset_bases(self) -> Dict[str, int]: