def __new__(mcs, name, bases, dct): set_fields(dct, bases, name='_pclass_fields') store_invariants(dct, bases, '_pclass_invariants', '__invariant__') dct['__slots__'] = ('_pclass_frozen',) + tuple(key for key in dct['_pclass_fields']) # There must only be one __weakref__ entry in the inheritance hierarchy, # lets put it on the top level class. if _is_pclass(bases): dct['__slots__'] += ('__weakref__',) return super(PClassMeta, mcs).__new__(mcs, name, bases, dct)
def __new__(mcs, name, bases, dct): set_fields(dct, bases, name='_precord_fields') store_invariants(dct, bases, '_precord_invariants', '__invariant__') dct['_precord_mandatory_fields'] = \ set(name for name, field in dct['_precord_fields'].items() if field.mandatory) dct['_precord_initial_values'] = \ dict((k, field.initial) for k, field in dct['_precord_fields'].items() if field.initial is not PFIELD_NO_INITIAL) dct['__slots__'] = () return super(_PRecordMeta, mcs).__new__(mcs, name, bases, dct)
def __new__(mcs, name, bases, dct): set_fields(dct, bases, name="_precord_fields") store_invariants(dct, bases, "_precord_invariants", "__invariant__") dct["_precord_mandatory_fields"] = set( name for name, field in dct["_precord_fields"].items() if field.mandatory ) dct["_precord_initial_values"] = dict( (k, field.initial) for k, field in dct["_precord_fields"].items() if field.initial is not PFIELD_NO_INITIAL ) dct["__slots__"] = () return super(_PRecordMeta, mcs).__new__(mcs, name, bases, dct)