Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
@contextlib.contextmanager
def _changedir(dirname):
"""Context manager for changing directory.
"""
cwd = os.getcwd()
os.chdir(dirname)
try:
yield
finally:
os.chdir(cwd)
class Driver(mm.Driver):
@abc.abstractmethod
def _checkargs(self, **kwargs):
"""Abstract method defined in a derived driver class.
"""
pass # pragma: no cover
def drive(self, system, append=True, compute=None, runner=None, **kwargs):
"""Drives the system in phase space.
Takes ``micromagneticmodel.System`` and drives it in the phase space.
If ``append=True`` and the system director already exists, drive will
be appended to that directory. Otherwise, an exception will be raised.
To save a specific value during an OOMMF run ``Schedule...`` line can
be passed using ``compute``. To specify the way OOMMF is run, an
``oommfc.oommf.OOMMFRunner`` can be passed using ``runner``.