import re


def check_for_section(line):
    """
    Check this line to see if the current line is the beginning of a new section
    Sometimes a section also contains some content which should be returned as well
    :param line: the line to parse
    :return: a tuple (None or section name, None or content)
    """

    re_sections = {
        'Level': re.compile('^Level: (?P<content>.+)$'),
        'Form': re.compile('^Form: (?P<content>.+)$'),
        'Color': re.compile('^Color: (?P<content>.+)$'),
        'Facet': re.compile('^Facets?: (?P<content>.+)$'),
        'Depletion': re.compile('^Depletion: (?P<content>.+)$'),
        'Price': re.compile('^(Conventional )?Price:( (?P<content>.+))?'),
        'Effect Depletion': re.compile('^Effect Depletion:( (?P<content>.+))?'),
        'Object Depletion': re.compile('^Object Depletion:( (?P<content>.+))?'),
        'Requirements': re.compile('^Requirements:( (?P<content>.+))?')
    }

    for section in re_sections.keys():
        m = re_sections[section].match(line)
        if m:
            if m.group('content'):
                return section, m.group('content')
            else:
                return section, ''

    return None, None