(cls, *args, **kwargs)
| 218 | __name = '' |
| 219 | |
| 220 | def __new__(cls, *args, **kwargs): |
| 221 | inst = SuperQObject.__new__(cls) |
| 222 | name = kwargs.pop('name', None) |
| 223 | |
| 224 | inst._executor = None |
| 225 | inst._lock = threading.RLock() |
| 226 | inst.__unfinished_tasks = 0 |
| 227 | inst.timing = RunningStats() |
| 228 | |
| 229 | if hasattr(inst, 'name') and inst.name: |
| 230 | pass |
| 231 | elif name: |
| 232 | inst.name = name |
| 233 | else: |
| 234 | inst.name = '{}{:d}'.format(cls.__name__, _REGISTERED[cls.__name__]) |
| 235 | _REGISTERED[cls.__name__] += 1 |
| 236 | |
| 237 | inst.log_extra = {'lantz_driver': cls.__name__, |
| 238 | 'lantz_name': inst.name} |
| 239 | |
| 240 | for feat_name, feat in cls._lantz_features.items(): |
| 241 | |
| 242 | for attr_name, attr_value in feat.modifiers[MISSING][MISSING].items(): |
| 243 | if not isinstance(attr_value, Self): |
| 244 | continue |
| 245 | getattr(inst, attr_value.item + '_changed').connect(_set(inst, feat_name, attr_name)) |
| 246 | if attr_value.default is MISSING: |
| 247 | feat.get_processors[MISSING][MISSING] = (_raise_must_change(attr_value.item, feat_name, 'get'), ) |
| 248 | feat.set_processors[MISSING][MISSING] = (_raise_must_change(attr_value.item, feat_name, 'set'), ) |
| 249 | else: |
| 250 | feat.modifiers[MISSING][MISSING][attr_name] = attr_value.default |
| 251 | feat.rebuild(build_doc=False, store=True) |
| 252 | |
| 253 | inst.log_info('Created ' + inst.name) |
| 254 | return inst |
| 255 | |
| 256 | @property |
| 257 | def name(self): |
no test coverage detected