Merge pull request #9438 from kkthxbye-code/fix-9420

Fixes #9420: Allow script inheritance
This commit is contained in:
Jeremy Stretch 2022-05-31 09:12:49 -04:00 committed by GitHub
commit 6c0b4c66c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -306,9 +306,16 @@ class BaseScript:
@classmethod
def _get_vars(cls):
vars = {}
for name, attr in cls.__dict__.items():
if name not in vars and issubclass(attr.__class__, ScriptVariable):
vars[name] = attr
# Iterate all base classes looking for ScriptVariables
for base_class in inspect.getmro(cls):
# When object is reached there's no reason to continue
if base_class is object:
break
for name, attr in base_class.__dict__.items():
if name not in vars and issubclass(attr.__class__, ScriptVariable):
vars[name] = attr
# Order variables according to field_order
field_order = getattr(cls.Meta, 'field_order', None)