try: entries = mpr.get_entries_in_chemsys(comp) except: continue if len(entries) == 0: continue # pd = PhaseDiagram(entries) # data = collections.defaultdict(list) for e in entries: com = e.entry_id prop = mpr.query(criteria={"task_id": com}, properties=[\ "formation_energy_per_atom", \ "energy_per_atom", \ "spacegroup", \ "pretty_formula", \ "cif"]) form_energy = prop[0]['formation_energy_per_atom'] energy = prop[0]['energy_per_atom'] sp = prop[0]['spacegroup']['symbol'] name = prop[0]['pretty_formula'] struct = prop[0]['cif'] cif_name = './structure/' + com + '_' + name + '.cif' Comps.add_component(name, energy, sp, struct, cif_name) fcif = open(cif_name, 'w') fcif.write(struct) fcif.close() Comps.get_formation_energy() Comps.print_info()