File: external_reference.py

package info (click to toggle)
python-asdf 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 7,032 kB
  • sloc: python: 24,068; makefile: 123
file content (19 lines) | stat: -rw-r--r-- 652 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from asdf.extension import Converter


class ExternalArrayReferenceConverter(Converter):
    tags = ["tag:stsci.edu:asdf/core/externalarray-1.0.0"]
    types = ["asdf.tags.core.external_reference.ExternalArrayReference"]

    def to_yaml_tree(self, obj, tag, ctx):
        return {
            "fileuri": obj.fileuri,
            "target": obj.target,
            "datatype": obj.dtype,
            "shape": list(obj.shape),
        }

    def from_yaml_tree(self, node, tag, ctx):
        from asdf.tags.core import ExternalArrayReference

        return ExternalArrayReference(node["fileuri"], node["target"], node["datatype"], tuple(node["shape"]))