from pymatgen.core.structure import Structure
from matmethods.vasp.fireworks.core import OptimizeFW
from fireworks.core.firework import Workflow
from pymatgen.io.vasp.sets import MPStaticSet
from pymatgen.matproj.rest import MPRester
from matmethods.vasp.vasp_powerups import add_tags
a = MPRester()
Si = a.query({'material_id':'mp-149'},['structure']).pop()['structure']
tags = ['test_1','test_2']
wf = [OptimizeFW(Si,name="test",vasp_cmd='>>vasp_cmd<<',db_file='>>db_file<<')]
wf = Workflow(wf)
add_tags(wf,tags)
Traceback (most recent call last):
File "debug_tags.py", line 18, in <module>
add_tags(wf,tags)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/matmethods-tess/matmethods/vasp/vasp_powerups.py", line 316, in add_tags
return Workflow.from_dict(wf_dict)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/core/firework.py", line 1120, in from_dict
return Workflow([Firework.from_dict(f) for f in m_dict['fws']],
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 147, in _decorator
new_args[0] = {k: _recursive_load(v) for k, v in args[0].items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 147, in <dictcomp>
new_args[0] = {k: _recursive_load(v) for k, v in args[0].items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 108, in _recursive_load
return {k: _recursive_load(v) for k, v in obj.items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 108, in <dictcomp>
return {k: _recursive_load(v) for k, v in obj.items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 111, in _recursive_load
return [_recursive_load(v) for v in obj]
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 103, in _recursive_load
return load_object(obj)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 309, in load_object
return cls_.from_dict(obj_dict)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 147, in _decorator
new_args[0] = {k: _recursive_load(v) for k, v in args[0].items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 147, in <dictcomp>
new_args[0] = {k: _recursive_load(v) for k, v in args[0].items()}
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/fireworks-tess/fireworks/utilities/fw_serializers.py", line 106, in _recursive_load
return json.loads(json.dumps(obj), cls=MontyDecoder)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 352, in loads
return cls(encoding=encoding, **kw).decode(s)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/lib/python2.7/site-packages/monty/json.py", line 187, in decode
return self.process_decoded(d)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/lib/python2.7/site-packages/monty/json.py", line 177, in process_decoded
return cls_.from_dict(data)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/lib/python2.7/site-packages/monty/json.py", line 73, in from_dict
return cls(**kwargs)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/pymatgen-tess/pymatgen/io/vasp/sets.py", line 421, in __init__
structure, MPRelaxSet.CONFIG, **kwargs)
File "/Users/tesssmidt/Dropbox/test_pymatgen/venv/src/pymatgen-tess/pymatgen/io/vasp/sets.py", line 239, in __init__
structure = structure.get_sorted_structure()
AttributeError: 'dict' object has no attribute 'get_sorted_structure'