3 import os.path as _os_path
5 from h5config.storage.hdf5 import HDF5_Storage as _HDF5_Storage
7 from . import LOG as _LOG
8 from .afm import AFM as AFM
9 from .config import AFMConfig as _AFMConfig
12 DEFAULT_FILENAME = _os_path.expanduser(_os_path.join(
13 '~', '.config', 'pyafm-default.h5'))
17 def save_afm(afm, filename=None, group=None):
19 filename = DEFAULT_FILENAME
22 assert group.endswith('/'), group
23 _LOG.info('saving AFM config to {} {}'.format(filename, group))
24 storage = _HDF5_Storage(filename=filename, group=group)
25 storage.save(config=afm.config)
27 def load_afm(filename=None, group=None):
29 filename = DEFAULT_FILENAME
32 assert group.endswith('/'), group
33 _LOG.info('loading AFM config from {} {}'.format(filename, group))
34 config = _AFMConfig(storage=_HDF5_Storage(filename=filename, group=group))
37 'constructing AFM from configuration:\n{}'.format(config.dump()))
38 return AFM(config=config)