Source code for femagtools.magnet

# -*- coding: utf-8 -*-
"""
    femagtools.magnet
    ~~~~~~~~~~~~~~~~~

    Creating and managing magnet material



"""


[docs]class Magnet: def __init__(self, mlist=[]): """initialize this object from a list of magnet objects""" self.magnets = {} for m in mlist: if 'id' in m: self.magnets[str(m['id'])] = m elif 'name' in m: self.magnets[m['name']] = m
[docs] def find(self, id): """find magnet by id or name""" try: return self.magnets[id] except ValueError: pass # not found except KeyError: pass return self.find_by_name(id)
[docs] def find_by_name(self, name): """find magnet by name""" for k in self.magnets.keys(): if self.magnets[k]['name'] == name: return self.magnets[k] # not found return None