def isvalid(questionnaire): """isvalid(questionnaire:Questionnaire) Returns true if the questionnaire is valid, false otherwise. """ valid, message = True, None if questionnaire is not None: if questionnaire.questions is not None: for question in questionnaire.questions.values(): valid, message = Question.isvalid(question) if not valid: break # If the questionnaire entries are valid, validate the control flow. if valid and questionnaire.controlflow is not None: for k in [ k for k in questionnaire.controlflow.values() if k is not None ]: valid, message = questionnaire.isbranchablekey(k) if not valid: break else: valid, message = False, "Error! Empty questionnaire. A questionnaire must contain at least one question." else: valid, message = False, "Error! A 'NoneType' object is not considered a questionnaire." return (valid, message)
def isvalid(questionnaire): """isvalid(questionnaire:Questionnaire) Returns true if the questionnaire is valid, false otherwise. """ valid, message = True, None if questionnaire is not None: if questionnaire.questions is not None: for question in questionnaire.questions.values(): valid, message = Question.isvalid(question) if not valid: break # If the questionnaire entries are valid, validate the control flow. if valid and questionnaire.controlflow is not None: for k in [k for k in questionnaire.controlflow.values() if k is not None]: valid, message = questionnaire.isbranchablekey(k) if not valid: break else: valid, message = False, "Error! Empty questionnaire. A questionnaire must contain at least one question." else: valid, message = False, "Error! A 'NoneType' object is not considered a questionnaire." return (valid, message)