pygcam.project¶
This module provides all the functionality that is exposed through the command-line to the gt run sub-command. It is provided in library form so that it can be used from within other programs without having to execute the script.
API¶
-
class
pygcam.project.Project(xmlFile, projectName, groupName=None)¶ Represents the
<project>element in the projects.xml file.-
getKnownGroups()¶ Return a list of known scenarioGroups for the current project.
-
getKnownScenarios()¶ Return a list of known scenarios for the current project and scenarioGroup, baseline first
-
getKnownSteps(asTuple=False)¶ Return a list of known steps in seq order, without duplicates.
-
maybeListProjectArgs(args, knownGroups, knownScenarios, knownStepObjs)¶ If user asked to list scenarios, steps, or variables, do so and quit.
-
run(scenarios, skipScenarios, steps, skipSteps, args, tool)¶ Command templates can include keywords curly braces that are substituted to create the command to execute in the shell. Variables are defined in the <vars> section of the project XML file.
-
sortScenarios(scenarioSet)¶ If a baseline is in the scenario set, move it to the front and return the new list
-
validateProjectArgs(userArgs, knownArgs, argName)¶ If the user requested steps or scenarios that are not defined, raise an error.
Parameters: - userArgs – a list of the elements (projects, groups, scenarios, steps) passed by the user on the command-line.
- knownArgs – a list of known elements of the given type
- argName – the tag of the XML element
Returns: nothing
Raises: CommandlineError if the elements requested by the user are not defined in the current (project, scenario) context
-
-
class
pygcam.project.Queries(node)¶ Represents the
<queries>element in the projects.xml file. We don’t process the <queries> element here; we just store it so we can write it to a temp file as needed. Actual reading/processing of contents is handled in queryFile.py.
-
class
pygcam.project.SimpleVariable(name, value, evaluate=False)¶ Simple variable of name and value to allow loading config file variables alongside variables defined in the project XML file.