MCPcopy Create free account
hub / github.com/LabPy/lantz / rebuild

Method rebuild

lantz/feat.py:130–166  ·  view source on GitHub ↗
(self, instance=MISSING, key=MISSING, build_doc=False, modifiers=None, store=False)

Source from the content-addressed store, hash-verified

128 self.rebuild(build_doc=True, store=True)
129
130 def rebuild(self, instance=MISSING, key=MISSING, build_doc=False, modifiers=None, store=False):
131 if not modifiers:
132 modifiers = _dget(self.modifiers, instance, key)
133
134 values = modifiers['values']
135 units = modifiers['units']
136 limits = modifiers['limits']
137 processors = modifiers['processors']
138
139 get_processors = []
140 set_processors = []
141 if units:
142 get_processors.append(ToQuantityProcessor(units))
143 set_processors.append(FromQuantityProcessor(units))
144 if values:
145 get_processors.append(ReverseMapProcessor(values))
146 set_processors.append(MapProcessor(values))
147 if limits:
148 if isinstance(limits[0], (list, tuple)):
149 set_processors.append(RangeProcessor(limits))
150 else:
151 set_processors.append(RangeProcessor((limits, )))
152 if processors:
153 for getp, setp in processors:
154 if getp is not None:
155 get_processors.append(Processor(getp))
156 if setp is not None:
157 set_processors.append(Processor(setp))
158
159 if build_doc:
160 _dochelper(self)
161
162 if store:
163 _dset(self.get_processors, get_processors, instance, key)
164 _dset(self.set_processors, set_processors, instance, key)
165
166 return get_processors, set_processors
167
168 def __call__(self, func):
169 if self.fget is MISSING:

Callers 4

__init__Method · 0.95
__setattr__Method · 0.45
__init__Method · 0.45
__new__Method · 0.45

Calls 9

ToQuantityProcessorClass · 0.85
ReverseMapProcessorClass · 0.85
MapProcessorClass · 0.85
RangeProcessorClass · 0.85
ProcessorClass · 0.85
_dochelperFunction · 0.85
_dgetFunction · 0.70
_dsetFunction · 0.70

Tested by

no test coverage detected