Oops, fix `return =` syntax in load_afm().
[pyafm.git] / pyafm / storage.py
1 # Copyright
2
3 import os.path as _os_path
4
5 from h5config.storage.hdf5 import HDF5_Storage as _HDF5_Storage
6
7 from . import LOG as _LOG
8 from .afm import AFM as AFM
9 from .config import AFMConfig as _AFMConfig
10
11
12 DEFAULT_FILENAME = _os_path.expanduser(_os_path.join(
13         '~', '.config', 'pyafm-default.h5'))
14 DEFAULT_GROUP = '/'
15
16
17 def save_afm(afm, filename=None, group=None):
18     if filename is None:
19         filename = DEFAULT_FILENAME
20     if group is None:
21         group = DEFAULT_GROUP
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)
26
27 def load_afm(filename=None, group=None):
28     if filename is None:
29         filename = DEFAULT_FILENAME
30     if group is None:
31         group = DEFAULT_GROUP
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))
35     config.load()
36     _LOG.debug(
37         'constructing AFM from configuration:\n{}'.format(config.dump()))
38     return AFM(config=config)