Writing XYZ fails if Atoms.info contains a dict value
Writing the Atoms object
struct = Atoms('H4', pbc=[True, True, True], cell=[[4.00759, 0.0, 0.0], [-2.003795, 3.47067475, 0.0], [3.06349683e-16, 5.30613216e-16, 5.00307]], positions=[[-2.003795e-05, 2.31379473, 0.875437189], [2.00381504, 1.15688001, 4.12763281], [2.00381504, 1.15688001, 3.37697219], [-2.003795e-05, 2.31379473, 1.62609781]])
struct.info = {'key_value_pairs': {'dataset': 'deltatest', 'kpoints': array([28, 28, 20]), 'identifier': 'deltatest_H_1.00'}, 'unique_id': '4cf83e2f89c795fb7eaf9662e77542c1'}
to a XYZ file fails with:
Traceback (most recent call last):
File "tests/ase_write_xyz.py", line 17, in <module>
ase_io.write(fhandle, struct, format='xyz')
File "/usr/lib64/python3.5/site-packages/ase/io/formats.py", line 228, in write
_write(filename, fd, format, io, images, **kwargs)
File "/usr/lib64/python3.5/site-packages/ase/io/formats.py", line 257, in _write
io.write(fd, images, **kwargs)
File "/usr/lib64/python3.5/site-packages/ase/io/extxyz.py", line 539, in write_xyz
per_frame_results)
File "/usr/lib64/python3.5/site-packages/ase/io/extxyz.py", line 435, in output_column_format
comment_str += ' ' + key_val_dict_to_str(info)
File "/usr/lib64/python3.5/site-packages/ase/io/extxyz.py", line 130, in key_val_dict_to_str
for x in val.reshape(val.size, order='F'))
File "/usr/lib64/python3.5/site-packages/ase/io/extxyz.py", line 130, in <genexpr>
for x in val.reshape(val.size, order='F'))
TypeError: unhashable type: 'dict'