1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
# Licensed under a 3-clause BSD style license - see LICENSE.rst
# -*- coding: utf-8 -*-
from ...types import AsdfType
class AsdfObject(dict):
pass
from .constant import ConstantType
from .ndarray import NDArrayType
from .complex import ComplexType
from .integer import IntegerType
from .external_reference import ExternalArrayReference
__all__ = ['AsdfObject', 'Software', 'HistoryEntry', 'ExtensionMetadata',
'SubclassMetadata', 'ConstantType', 'NDArrayType', 'ComplexType',
'IntegerType', 'ExternalArrayReference']
class AsdfObjectType(AsdfType):
name = 'core/asdf'
version = '1.1.0'
supported_versions = {'1.0.0', '1.1.0'}
types = [AsdfObject]
@classmethod
def from_tree(cls, node, ctx):
return AsdfObject(node)
@classmethod
def to_tree(cls, data, ctx):
return dict(data)
class Software(dict, AsdfType):
name = 'core/software'
version = '1.0.0'
class HistoryEntry(dict, AsdfType):
name = 'core/history_entry'
version = '1.0.0'
class ExtensionMetadata(dict, AsdfType):
name = 'core/extension_metadata'
version = '1.0.0'
@property
def extension_class(self):
return self['extension_class']
@property
def software(self):
return self.get('software')
class SubclassMetadata(dict, AsdfType):
name = 'core/subclass_metadata'
version = '1.0.0'
|