Closed kalekundert closed 3 years ago
Some examples of specific problems, to help with architecting:
freezerbox.ReagentConfig
: the database is loaded in __getitem__()
, which seems to be invoked after get_location()
. As a result, the error traces report "no database found" when this is not the case.freezerbox.ReagentConfig
: accidentally forgot to properly define tag_getter
; error message just says "can't find value for parameter", doesn't suggest that tag_getter
is the problem.I think this will require making Layer
a more active object. Some pseudocode:
model.iter_values()
begins by instantiating an empty log.getter.iter_values()
.
"calling {self.func.__name__}: returned {value}/raised {exc}"
Layer
could be subclassed:
Schema parsing should also be delegated to the Layer class, see #16.
Implement
Passport
/Breadcrumb
/Log
system to let Getters (and maybe Layers/Configs) annotate what they're doing.