#NEWLINE# def is_valid( self ) : #NEWLINE# #INDENT# 'Verified that all required data is present in the context and\n        calls the ``validate`` method to allow for finer-grained checks\n        on the context data.\n        ' #NEWLINE# missing = ( self . depends_on - set ( self . context . keys ( ) ) ) #NEWLINE# if missing : #NEWLINE# #INDENT# raise exceptions . WorkflowValidationError ( ( 'Unable to complete the workflow. The values %s are required but not present.' % ', ' . join ( missing ) ) ) #NEWLINE# #UNINDENT# steps_valid = True #NEWLINE# for step in self . steps : #NEWLINE# #INDENT# if ( not step . action . is_valid ( ) ) : #NEWLINE# #INDENT# steps_valid = False #NEWLINE# step . has_errors = True #NEWLINE# #UNINDENT# #UNINDENT# if ( not step ) : #NEWLINE# #INDENT# return steps_valid #NEWLINE# #UNINDENT# return self . validate ( self . context )