def checkOutputArguments(self, arguments):

    # Define the allowed input argument attributes.
    allowedAttributes = {}
    allowedAttributes['allow multiple values']         = (bool, False, True, 'allowMultipleValues')
    allowedAttributes['command line argument']         = (str, True, True, 'commandLineArgument')
    allowedAttributes['construct filename']            = (dict, False, True, 'constructionInstructions')
    allowedAttributes['data type']                     = (str, True, True, 'dataType')
    allowedAttributes['description']                   = (str, True, True, 'description')
    allowedAttributes['extensions']                    = (list, False, True, 'extensions')
    allowedAttributes['hide argument in help']         = (bool, False, True, 'hideInHelp')
    allowedAttributes['include dot in stub extension'] = (bool, False, True, 'includeStubDot')
    allowedAttributes['include in reduced plot']       = (bool, False, True, 'includeInReducedPlot')
    allowedAttributes['include value in quotations']   = (bool, False, True, 'includeInQuotations')
    allowedAttributes['is filename stub']              = (bool, False, True, 'isStub')
    allowedAttributes['if output to stream']           = (dict, False, True, 'outputStreamInstructions')
    allowedAttributes['long form argument']            = (str, True, True, 'longFormArgument')
    allowedAttributes['modify argument']               = (str, False, True, 'modifyArgument')
    allowedAttributes['modify value']                  = (str, False, True, 'modifyValue')
    allowedAttributes['replace substring']             = (list, False, False, None)
    allowedAttributes['required']                      = (bool, False, True, 'isRequired')
    allowedAttributes['short form argument']           = (str, False, True, 'shortFormArgument')
    allowedAttributes['stub extensions']               = (list, False, True, 'stubExtensions')
    allowedAttributes['value command']                 = (dict, False, True, 'valueCommand')

    # Fail if there is no output arguments section. This is included since all output arguments
    # are included in the 'Outputs' section and, if by mistake, the section is named 'outputs' (no
    # capitalisation), output arguments will be miscategorised.
    if 'Outputs' not in arguments: self.errors.missingArgumentSection(self.name, 'Outputs')

    # Check the arguments.
    self.checkArguments('Outputs', arguments['Outputs'], allowedAttributes, isInput = False, isOutput = True)

  # Validate the contents of all input arguments.
dataset/ETHPy150Open gkno/gkno_launcher/src/gkno/toolConfiguration.py/toolConfiguration.checkOutputArguments/original