| 23 | |
| 24 | |
| 25 | class FromGraph(IO): |
| 26 | _parameters = ["layer", "_meta", "chunks", "keys", "name_prefix"] |
| 27 | |
| 28 | @functools.cached_property |
| 29 | def _meta(self): |
| 30 | return self.operand("_meta") |
| 31 | |
| 32 | @functools.cached_property |
| 33 | def chunks(self): |
| 34 | return self.operand("chunks") |
| 35 | |
| 36 | @functools.cached_property |
| 37 | def _name(self): |
| 38 | return self.operand("name_prefix") + "-" + self.deterministic_token |
| 39 | |
| 40 | def _layer(self): |
| 41 | dsk = dict(self.operand("layer")) |
| 42 | # The name may not actually match the layers name therefore rewrite this |
| 43 | # using an alias |
| 44 | for k in self.operand("keys"): |
| 45 | if not isinstance(k, tuple): |
| 46 | raise TypeError(f"Expected tuple, got {type(k)}") |
| 47 | orig = dsk[k] |
| 48 | if not istask(orig): |
| 49 | del dsk[k] |
| 50 | dsk[(self._name, *k[1:])] = orig |
| 51 | else: |
| 52 | dsk[(self._name, *k[1:])] = k |
| 53 | return dsk |
| 54 | |
| 55 | |
| 56 | class FromArray(IO): |
no outgoing calls
no test coverage detected
searching dependent graphs…