def to_json_object(self, full=True, child_fn=None):
    'Returns a JSON dictionary containing the dictionary representation of\n        the enclosed requirements statement, as well as progress information.'
    stmt_json = self.statement.to_json_object(full=False)
    stmt_json[JSONProgressConstants.is_fulfilled] = self.is_fulfilled
    stmt_json[JSONProgressConstants.progress] = self.progress
    stmt_json[JSONProgressConstants.progress_max] = self.progress_max
    stmt_json[JSONProgressConstants.percent_fulfilled] = self.percent_fulfilled
    stmt_json[JSONProgressConstants.satisfied_courses] = map((lambda c: c.subject_id), self.satisfied_courses)
    if self.is_bypassed:
        stmt_json[JSONProgressConstants.is_bypassed] = self.is_bypassed
    if self.assertion:
        stmt_json[JSONProgressConstants.assertion] = self.assertion
    if full:
        if self.children:
            if (child_fn is None):
                child_fn = (lambda c: c.to_json_object(full=full))
            stmt_json[JSONConstants.requirements] = [child_fn(child) for child in self.children]
    return stmt_json
Returns a JSON dictionary containing the dictionary representation of
the enclosed requirements statement, as well as progress information.
def to_json_object(self, full=True, child_fn=None):
    'Returns a JSON dictionary containing the dictionary representation of\n        the enclosed requirements statement, as well as progress information.'
    stmt_json = self.statement.to_json_object(full=False)
    stmt_json[JSONProgressConstants.is_fulfilled] = self.is_fulfilled
    stmt_json[JSONProgressConstants.progress] = self.progress
    stmt_json[JSONProgressConstants.progress_max] = self.progress_max
    stmt_json[JSONProgressConstants.percent_fulfilled] = self.percent_fulfilled
    stmt_json[JSONProgressConstants.satisfied_courses] = map((lambda c: c.subject_id), self.satisfied_courses)
    if self.is_bypassed:
        stmt_json[JSONProgressConstants.is_bypassed] = self.is_bypassed
    if self.assertion:
        stmt_json[JSONProgressConstants.assertion] = self.assertion
    if full:
        if self.children:
            if (child_fn is None):
                child_fn = (lambda c: c.to_json_object(full=full))
            stmt_json[JSONConstants.requirements] = [child_fn(child) for child in self.children]
    return stmt_json