From 1cbed050b8cfd0812728be67e139dc6d120aa2b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Walczak?= Date: Fri, 4 Aug 2017 10:09:03 +0100 Subject: [PATCH] Allow custom Meta attributes in subclasses of Interface --- graphene/types/interface.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/graphene/types/interface.py b/graphene/types/interface.py index f0980b6c..08e5bac5 100644 --- a/graphene/types/interface.py +++ b/graphene/types/interface.py @@ -16,12 +16,19 @@ class InterfaceMeta(AbstractTypeMeta): if not is_base_type(bases, InterfaceMeta): return type.__new__(cls, name, bases, attrs) - options = Options( - attrs.pop('Meta', None), + _meta = attrs.pop('_meta', None) + defaults = dict( name=name, description=trim_docstring(attrs.get('__doc__')), local_fields=None, ) + if not _meta: + options = Options( + attrs.pop('Meta', None), + **defaults + ) + else: + options = _meta.extend_with_defaults(defaults) options.base_fields = get_base_fields(bases, _as=Field)