Override does not change the order of inherited accessibles.
except when explicitely mentioned with reorder=True improved test_modules for unique accessibles, as this was related with Accessible.ctr Change-Id: I61877de9300bb0297c88a6c44bb265c634937856 Reviewed-on: https://forge.frm2.tum.de/review/19693 Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
@ -214,10 +214,10 @@ class Module(object):
|
||||
|
||||
def early_init(self):
|
||||
# may be overriden in derived classes to init stuff
|
||||
self.log.debug('empty early_init()')
|
||||
self.log.debug('empty %s.early_init()' % self.__class__.__name__)
|
||||
|
||||
def init_module(self):
|
||||
self.log.debug('empty init_module()')
|
||||
self.log.debug('empty %s.init_module()' % self.__class__.__name__)
|
||||
|
||||
def start_module(self, started_callback):
|
||||
'''runs after init of all modules
|
||||
@ -226,7 +226,7 @@ class Module(object):
|
||||
or, if not implmemented, immediately
|
||||
'''
|
||||
|
||||
self.log.debug('empty start_module()')
|
||||
self.log.debug('empty %s.start_module()' % self.__class__.__name__)
|
||||
started_callback(self)
|
||||
|
||||
|
||||
|
@ -48,7 +48,6 @@ class Accessible(CountedObj):
|
||||
def copy(self):
|
||||
# return a copy of ourselfs
|
||||
props = self.__dict__.copy()
|
||||
props.pop('ctr')
|
||||
return type(self)(**props)
|
||||
|
||||
def exported_properties(self):
|
||||
@ -155,10 +154,12 @@ class Override(CountedObj):
|
||||
"""Stores the overrides to be applied to a Parameter
|
||||
|
||||
note: overrides are applied by the metaclass during class creating
|
||||
reorder= True: use position of Override instead of inherited for the order
|
||||
"""
|
||||
def __init__(self, description="", **kwds):
|
||||
def __init__(self, description="", reorder=False, **kwds):
|
||||
super(Override, self).__init__()
|
||||
self.kwds = kwds
|
||||
self.reorder = reorder
|
||||
# allow to override description without keyword
|
||||
if description:
|
||||
self.kwds['description'] = description
|
||||
@ -177,7 +178,8 @@ class Override(CountedObj):
|
||||
raise ProgrammingError( "%s is not a valid %s property" %
|
||||
(key, type(obj).__name__))
|
||||
props.update(self.kwds)
|
||||
props['ctr'] = self.ctr
|
||||
if self.reorder:
|
||||
props['ctr'] = self.ctr
|
||||
return type(obj)(**props)
|
||||
else:
|
||||
raise ProgrammingError(
|
||||
|
Reference in New Issue
Block a user