mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-07 04:34:29 +08:00
lint fixes
This commit is contained in:
@@ -1,23 +1,26 @@
|
|||||||
import os
|
import os
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from typing import Any, Dict, Iterator, List, Optional, TYPE_CHECKING, Tuple, Type
|
from typing import (
|
||||||
|
TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Tuple, Type,
|
||||||
|
)
|
||||||
|
|
||||||
|
from django.contrib.postgres.fields import ArrayField
|
||||||
from django.core.exceptions import FieldError
|
from django.core.exceptions import FieldError
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
|
from django.db.models.fields import CharField, Field
|
||||||
from django.db.models.fields.related import ForeignKey, RelatedField
|
from django.db.models.fields.related import ForeignKey, RelatedField
|
||||||
from django.db.models.fields.reverse_related import ForeignObjectRel
|
from django.db.models.fields.reverse_related import ForeignObjectRel
|
||||||
from django.db.models.sql.query import Query
|
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
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
|
||||||
from django.contrib.postgres.fields import ArrayField
|
|
||||||
from django.db.models.fields import CharField, Field
|
|
||||||
from mypy_django_plugin.lib import helpers
|
from mypy_django_plugin.lib import helpers
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from django.apps.registry import Apps
|
from django.apps.registry import Apps # noqa: F401
|
||||||
from django.conf import LazySettings
|
from django.conf import LazySettings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import Any, Dict, List, Optional, Set, Union, TYPE_CHECKING
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Union
|
||||||
|
|
||||||
from mypy import checker
|
from mypy import checker
|
||||||
from mypy.checker import TypeChecker
|
from mypy.checker import TypeChecker
|
||||||
from mypy.mro import calculate_mro
|
from mypy.mro import calculate_mro
|
||||||
from mypy.nodes import Block, ClassDef, Expression, GDEF, MDEF, MypyFile, NameExpr, StrExpr, SymbolNode, SymbolTable, \
|
from mypy.nodes import (
|
||||||
SymbolTableNode, TypeInfo, Var, MemberExpr
|
GDEF, MDEF, Block, ClassDef, Expression, MemberExpr, MypyFile, NameExpr, StrExpr, SymbolNode, SymbolTable,
|
||||||
|
SymbolTableNode, TypeInfo, Var,
|
||||||
|
)
|
||||||
from mypy.plugin import CheckerPluginInterface, FunctionContext, MethodContext
|
from mypy.plugin import CheckerPluginInterface, FunctionContext, MethodContext
|
||||||
from mypy.types import AnyType, Instance, NoneTyp, TupleType, Type as MypyType, TypeOfAny, TypedDictType, UnionType
|
from mypy.types import AnyType, Instance, NoneTyp, TupleType
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypedDictType, TypeOfAny, UnionType
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
|
|||||||
@@ -6,12 +6,16 @@ import toml
|
|||||||
from django.db.models.fields.related import RelatedField
|
from django.db.models.fields.related import RelatedField
|
||||||
from mypy.nodes import MypyFile, TypeInfo
|
from mypy.nodes import MypyFile, TypeInfo
|
||||||
from mypy.options import Options
|
from mypy.options import Options
|
||||||
from mypy.plugin import AttributeContext, ClassDefContext, FunctionContext, MethodContext, Plugin
|
from mypy.plugin import (
|
||||||
|
AttributeContext, ClassDefContext, FunctionContext, MethodContext, Plugin,
|
||||||
|
)
|
||||||
from mypy.types import Type as MypyType
|
from mypy.types import Type as MypyType
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import fullnames, helpers
|
from mypy_django_plugin.lib import fullnames, helpers
|
||||||
from mypy_django_plugin.transformers import fields, forms, init_create, querysets, settings, meta, request
|
from mypy_django_plugin.transformers import (
|
||||||
|
fields, forms, init_create, meta, querysets, request, settings,
|
||||||
|
)
|
||||||
from mypy_django_plugin.transformers.models import process_model_class
|
from mypy_django_plugin.transformers.models import process_model_class
|
||||||
|
|
||||||
|
|
||||||
@@ -109,7 +113,8 @@ class NewSemanalDjangoPlugin(Plugin):
|
|||||||
|
|
||||||
# for `get_user_model()`
|
# for `get_user_model()`
|
||||||
if self.django_context.settings:
|
if self.django_context.settings:
|
||||||
if (file.fullname() == 'django.contrib.auth') or (file.fullname() in {'django.http', 'django.http.request'}):
|
if (file.fullname() == 'django.contrib.auth'
|
||||||
|
or file.fullname() in {'django.http', 'django.http.request'}):
|
||||||
auth_user_model_name = self.django_context.settings.AUTH_USER_MODEL
|
auth_user_model_name = self.django_context.settings.AUTH_USER_MODEL
|
||||||
try:
|
try:
|
||||||
auth_user_module = self.django_context.apps_registry.get_model(auth_user_model_name).__module__
|
auth_user_module = self.django_context.apps_registry.get_model(auth_user_model_name).__module__
|
||||||
@@ -208,7 +213,6 @@ class NewSemanalDjangoPlugin(Plugin):
|
|||||||
if info and info.has_base(fullnames.HTTPREQUEST_CLASS_FULLNAME) and attr_name == 'user':
|
if info and info.has_base(fullnames.HTTPREQUEST_CLASS_FULLNAME) and attr_name == 'user':
|
||||||
return partial(request.set_auth_user_model_as_type_for_request_user, django_context=self.django_context)
|
return partial(request.set_auth_user_model_as_type_for_request_user, django_context=self.django_context)
|
||||||
|
|
||||||
|
|
||||||
# def get_type_analyze_hook(self, fullname: str
|
# def get_type_analyze_hook(self, fullname: str
|
||||||
# ( ):
|
# ( ):
|
||||||
# info = self._get_typeinfo_or_none(fullname)
|
# info = self._get_typeinfo_or_none(fullname)
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ from typing import Optional, Tuple, cast
|
|||||||
|
|
||||||
from mypy.nodes import MypyFile, TypeInfo
|
from mypy.nodes import MypyFile, TypeInfo
|
||||||
from mypy.plugin import FunctionContext
|
from mypy.plugin import FunctionContext
|
||||||
from mypy.types import AnyType, CallableType, Instance, Type as MypyType, TypeOfAny
|
from mypy.types import AnyType, CallableType, Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypeOfAny
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import fullnames, helpers
|
from mypy_django_plugin.lib import fullnames, helpers
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from mypy.plugin import ClassDefContext, MethodContext
|
from mypy.plugin import ClassDefContext, MethodContext
|
||||||
from mypy.types import CallableType, Instance, NoneTyp, Type as MypyType, TypeType
|
from mypy.types import CallableType, Instance, NoneTyp
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypeType
|
||||||
|
|
||||||
from mypy_django_plugin.lib import helpers
|
from mypy_django_plugin.lib import helpers
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,14 @@ from typing import List, Tuple, Type, Union
|
|||||||
|
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
from mypy.plugin import FunctionContext, MethodContext
|
from mypy.plugin import FunctionContext, MethodContext
|
||||||
from mypy.types import Instance, Type as MypyType
|
from mypy.types import Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
|
|
||||||
|
|
||||||
def get_actual_types(ctx: Union[MethodContext, FunctionContext], expected_keys: List[str]) -> List[Tuple[str, MypyType]]:
|
def get_actual_types(ctx: Union[MethodContext, FunctionContext],
|
||||||
|
expected_keys: List[str]) -> List[Tuple[str, MypyType]]:
|
||||||
actual_types = []
|
actual_types = []
|
||||||
# positionals
|
# positionals
|
||||||
for pos, (actual_name, actual_type) in enumerate(zip(ctx.arg_names[0], ctx.arg_types[0])):
|
for pos, (actual_name, actual_type) in enumerate(zip(ctx.arg_names[0], ctx.arg_types[0])):
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
from django.core.exceptions import FieldDoesNotExist
|
from django.core.exceptions import FieldDoesNotExist
|
||||||
from mypy.plugin import MethodContext
|
from mypy.plugin import MethodContext
|
||||||
from mypy.types import AnyType, Type as MypyType, TypeOfAny, Instance
|
from mypy.types import AnyType, Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypeOfAny
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import fullnames, helpers
|
from mypy_django_plugin.lib import fullnames, helpers
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ from collections import OrderedDict
|
|||||||
from typing import Type, cast
|
from typing import Type, cast
|
||||||
|
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
|
from django.db.models.fields import DateField, DateTimeField
|
||||||
from django.db.models.fields.related import ForeignKey
|
from django.db.models.fields.related import ForeignKey
|
||||||
from django.db.models.fields.reverse_related import ManyToManyRel, ManyToOneRel, OneToOneRel
|
from django.db.models.fields.reverse_related import (
|
||||||
|
ManyToManyRel, ManyToOneRel, OneToOneRel,
|
||||||
|
)
|
||||||
from mypy.newsemanal.semanal import NewSemanticAnalyzer
|
from mypy.newsemanal.semanal import NewSemanticAnalyzer
|
||||||
from mypy.nodes import ARG_STAR2, Argument, MDEF, SymbolTableNode, TypeInfo, Var
|
from mypy.nodes import (
|
||||||
|
ARG_STAR2, MDEF, Argument, SymbolTableNode, TypeInfo, Var,
|
||||||
|
)
|
||||||
from mypy.plugin import ClassDefContext
|
from mypy.plugin import ClassDefContext
|
||||||
from mypy.plugins import common
|
from mypy.plugins import common
|
||||||
from mypy.types import AnyType, Instance, TypeOfAny
|
from mypy.types import AnyType, Instance, TypeOfAny
|
||||||
|
|
||||||
from django.db.models.fields import DateField, DateTimeField
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import fullnames, helpers
|
from mypy_django_plugin.lib import fullnames, helpers
|
||||||
from mypy_django_plugin.transformers import fields
|
from mypy_django_plugin.transformers import fields
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import List, Optional, Sequence, Tuple, Type, Union, cast
|
from typing import List, Optional, Sequence, Tuple, Type, Union
|
||||||
|
|
||||||
from django.core.exceptions import FieldError
|
from django.core.exceptions import FieldError
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
from mypy.checker import TypeChecker
|
|
||||||
from mypy.nodes import Expression, NameExpr
|
from mypy.nodes import Expression, NameExpr
|
||||||
from mypy.plugin import AnalyzeTypeContext, FunctionContext, MethodContext
|
from mypy.plugin import AnalyzeTypeContext, FunctionContext, MethodContext
|
||||||
from mypy.types import AnyType, Instance, Type as MypyType, TypeOfAny
|
from mypy.types import AnyType, Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypeOfAny
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import fullnames, helpers
|
from mypy_django_plugin.lib import fullnames, helpers
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from mypy.plugin import AttributeContext
|
from mypy.plugin import AttributeContext
|
||||||
from mypy.types import Instance, Type as MypyType
|
from mypy.types import Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import helpers
|
from mypy_django_plugin.lib import helpers
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
from mypy.nodes import TypeInfo, MemberExpr
|
from mypy.nodes import MemberExpr, TypeInfo
|
||||||
from mypy.plugin import FunctionContext, AttributeContext
|
from mypy.plugin import AttributeContext, FunctionContext
|
||||||
from mypy.types import Type as MypyType, TypeType, Instance
|
from mypy.types import Instance
|
||||||
|
from mypy.types import Type as MypyType
|
||||||
|
from mypy.types import TypeType
|
||||||
|
|
||||||
from mypy_django_plugin.django.context import DjangoContext
|
from mypy_django_plugin.django.context import DjangoContext
|
||||||
from mypy_django_plugin.lib import helpers
|
from mypy_django_plugin.lib import helpers
|
||||||
@@ -42,4 +44,3 @@ def get_type_of_settings_attribute(ctx: AttributeContext, django_context: Django
|
|||||||
return ctx.default_attr_type
|
return ctx.default_attr_type
|
||||||
|
|
||||||
return Instance(value_info, [])
|
return Instance(value_info, [])
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# noinspection PyUnresolvedReferences
|
# noinspection PyUnresolvedReferences
|
||||||
from pytest_mypy.collect import File, YamlTestFile, pytest_addoption
|
from pytest_mypy.collect import ( # noqa: F401
|
||||||
|
File, YamlTestFile, pytest_addoption,
|
||||||
|
)
|
||||||
from pytest_mypy.item import YamlTestItem
|
from pytest_mypy.item import YamlTestItem
|
||||||
|
|
||||||
|
|
||||||
@@ -38,5 +40,3 @@ class NewSemanalDjangoTestItem(YamlTestItem):
|
|||||||
|
|
||||||
mysettings_file = File(path='mysettings.py', content=settings_contents)
|
mysettings_file = File(path='mysettings.py', content=settings_contents)
|
||||||
self.files.append(mysettings_file)
|
self.files.append(mysettings_file)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,16 @@
|
|||||||
import sys
|
|
||||||
|
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
# with open('README.md', 'r') as f:
|
|
||||||
# readme = f.read()
|
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
# 'pytest-mypy-plugins',
|
'pytest-mypy-plugins',
|
||||||
# 'mypy',
|
|
||||||
# 'decorator',
|
|
||||||
# 'capturer'
|
|
||||||
]
|
]
|
||||||
# if sys.version_info[:2] < (3, 7):
|
|
||||||
# # dataclasses port for 3.6
|
|
||||||
# dependencies += ['dataclasses']
|
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='pytest-django-stubs-newsemanal',
|
name='pytest-django-stubs-newsemanal',
|
||||||
version='0.4.0',
|
version='0.4.0',
|
||||||
# description='pytest plugin for writing tests for mypy plugins',
|
|
||||||
# long_description=readme,
|
|
||||||
# long_description_content_type='text/markdown',
|
|
||||||
license='MIT',
|
license='MIT',
|
||||||
url="https://github.com/mkurnikov/pytest-mypy-plugins",
|
url="https://github.com/mkurnikov/pytest-mypy-plugins",
|
||||||
author="Maksim Kurnikov",
|
author="Maksim Kurnikov",
|
||||||
author_email="maxim.kurnikov@gmail.com",
|
author_email="maxim.kurnikov@gmail.com",
|
||||||
# packages=['pytest_plugin'],
|
|
||||||
# the following makes a plugin available to pytest
|
# the following makes a plugin available to pytest
|
||||||
entry_points={
|
entry_points={
|
||||||
'pytest11': [
|
'pytest11': [
|
||||||
|
|||||||
Reference in New Issue
Block a user