Skip to content

Draft: More flexible command handling

Ask Hjorth Larsen requested to merge profile-changes into master

Multiple changes:

  • Allow not having a [parallel] section
  • Remove the parallel boolean in general
  • Rename ArgvProfile to StandardProfile since this name seems more communicative, covering many cases
  • Remove .name attribute on StandardProfile
  • Enable "extended" interpolation in configparser so we can do thing = ${otherthing}
  • BaseProfile and derivatives have self.binary now along with self.command, which is intended to be a template based on the binary. Right now the only template substitutions are done at the configparser level. ConfigParser interpolation has been enabled so one can do ${var} which seems to be the nicer alternative to the somewhat non-standard %(var)s syntax.
  • Add "configvars" attributes to profiles which is a way to specify statically what strings are expected. This means e.g. Siesta can have pseudopotential paths and DFTB can have skt_path.
  • Remove the old boolean from Onetep which apparently doesn't do anything that we cannot do by preprocessing the command
  • Add configurable parameters for pseudopotentials etc. where appropriate
  • Move the binary attribute to BaseProfile rather than all the implementations

Closes #1468, #1392, #1292.

Checklist

Edited by Ask Hjorth Larsen

Merge request reports