def _create_exec_tree_proc(self, item): ts_or_cls, obj_or_spec = item if ts_or_cls is None: return algs.ItemResult(obj_or_spec) if isinstance(ts_or_cls, type_.TypeSpec): return algs.NodeResult(fn_util.FnCall.stub(ts_or_cls.pack), ts_or_cls.parse_manifest(obj_or_spec)) assert isinstance(ts_or_cls, type) if obj_or_spec is None: return algs.ItemResult(obj_or_spec) if obj_.is_direct_object(obj_or_spec, ts_or_cls): return algs.ItemResult(obj_or_spec) assert isinstance(obj_or_spec, obj_.ObjectSpec) _broker = self._broker if _broker is None: raise errors.GraphError("Broker not found. Target: {}".format( misc.qualname(self._cls))) mfr = self._broker.get_or_create(ts_or_cls) fct = mfr.get(obj_or_spec.key) if fct is None: if ts_or_cls is dict: return algs.ItemResult(obj_or_spec.raw) raise KeyError("No such factory for class {}: {}".format( misc.qualname(ts_or_cls), obj_or_spec.key)) return algs.NodeResult(fn_util.FnCall.stub(fct.call_as_fuse_fn), fct.parse_inputs(obj_or_spec.inputs))
def markdown_proc(self): md_str = "(%s)" % ", ".join("%s" for _ in self._specs) fuse_fn = _MarkdownFuseFn(md_str) return algs.NodeResult(fuse_fn, iter(self._specs))
def markdown_proc(self): fuse_fn = _MarkdownFuseFn("{%s: %s}") return algs.NodeResult(fuse_fn, iter((self._ks, self._vs)))
def markdown_proc(self): return algs.NodeResult(_MarkdownFuseFn("\\[%s\\]"), iter((self._ts, )))
def _parse_proc(cls, item): if isinstance(item, cls): return algs.ItemResult(item) ts_cls = _TS_MAP[type(item)] return algs.NodeResult(ts_cls.fuse_subspecs, ts_cls.iter_raw(item))
def _run_exec_tree_proc(item): if isinstance(item, fn_util.FnCall): return algs.NodeResult(item, iter(item.args)) return algs.ItemResult(item)