Source code for mucho.comparison.comparator.entity.meta

from collections import OrderedDict

from mucho.comparison.comparator import DimensionComparator


[docs]class EntityComparatorMeta(type): def __new__(mcs, name, bases, attrs): """ Adds a 'comparator' attribute to the created class, which is a dict with its DimensionComparator attributes. """ instance = super().__new__(mcs, name, bases, attrs) comparators = OrderedDict() for attr, value in attrs.items(): if isinstance(value, DimensionComparator): comparators[attr] = value instance._comparators = comparators return instance