def getID(nameKeyword, argList, keywordDict):
    """The function returns 1 string argument from a general list or arguments

    The argument can be named with nameKeyword

    Parameters
    ----------
    nameKeyword : str
      The keyword of the desired argument if named

    argList : list
      *args passed to this function

    keywordDict : dict
      **kwargs passed to this function

    Returns
    -------
    str
      The found string argument
    """

    foundArg = None

    if len(argList) == 1 and len(keywordDict) == 0:
        foundArg = argList[0]
    elif len(argList) == 0 and len(keywordDict) == 1 and nameKeyword in keywordDict:
        foundArg = keywordDict[nameKeyword]

    if foundArg is not None and isinstance(foundArg, str):
        return foundArg

    raise ValueError('expected 1 argument: '+nameKeyword+' string')