From 2a86f7d82fc9af349e28c2e6b51b5d831d832c41 Mon Sep 17 00:00:00 2001 From: ANtlord Date: Tue, 21 Jan 2020 21:21:43 +0200 Subject: [PATCH] Django-plugin related code is removed from stdlib-plugin. --- jedi/plugins/django.py | 13 +++++++++++++ jedi/plugins/registry.py | 3 ++- jedi/plugins/stdlib.py | 9 --------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/jedi/plugins/django.py b/jedi/plugins/django.py index e5f839c6..cacb9e75 100644 --- a/jedi/plugins/django.py +++ b/jedi/plugins/django.py @@ -80,3 +80,16 @@ def _infer_field(cls, field): return DjangoModelField(value, field).name raise Exception('Should be handled') + + +def get_metaclass_filters(func): + def wrapper(cls, metaclasses): + for metaclass in metaclasses: + if metaclass.py__name__() == 'ModelBase' \ + and metaclass.get_root_context().py__name__() == 'django.db.models.base': + django_dict_filter = new_dict_filter(cls) + if django_dict_filter is not None: + return django_dict_filter + + return func(cls, metaclasses) + return wrapper diff --git a/jedi/plugins/registry.py b/jedi/plugins/registry.py index 23913244..66d653ce 100644 --- a/jedi/plugins/registry.py +++ b/jedi/plugins/registry.py @@ -4,7 +4,8 @@ This is not a plugin, this is just the place were plugins are registered. from jedi.plugins import stdlib from jedi.plugins import flask +from jedi.plugins import django from jedi.plugins import plugin_manager -plugin_manager.register(stdlib, flask) +plugin_manager.register(stdlib, flask, django) diff --git a/jedi/plugins/stdlib.py b/jedi/plugins/stdlib.py index a97cc4e9..88684efd 100644 --- a/jedi/plugins/stdlib.py +++ b/jedi/plugins/stdlib.py @@ -35,8 +35,6 @@ from jedi.inference.filters import AttributeOverwrite, publish_method, \ ParserTreeFilter, DictFilter from jedi.inference.signature import AbstractSignature, SignatureWrapper -from . import django - # Copied from Python 3.6's stdlib. _NAMEDTUPLE_CLASS_TEMPLATE = """\ @@ -792,13 +790,6 @@ def get_metaclass_filters(func): return [DictFilter({ name.string_name: EnumInstance(cls, name).name for name in filter_.values() })] - - if metaclass.py__name__() == 'ModelBase' \ - and metaclass.get_root_context().py__name__() == 'django.db.models.base': - django_dict_filter = django.new_dict_filter(cls) - if django_dict_filter is not None: - return django_dict_filter - return func(cls, metaclasses) return wrapper