@nullify<EOL>def full_award_group_funding_source(tag):
award_group_funding_sources = []<EOL>funding_source_nodes = extract_nodes(tag, "<STR_LIT>")<EOL>for funding_source_node in funding_source_nodes:<EOL><INDENT>award_group_funding_source = {}<EOL>institution_nodes = extract_nodes(funding_source_node, '<STR_LIT>')<EOL>institution_node = first(institution_nodes)<EOL>if institution_node:<EOL><INDENT>award_group_funding_source['<STR_LIT>'] = node_text(institution_node)<EOL>if '<STR_LIT>' in institution_node.attrs:<EOL><INDENT>award_group_funding_source['<STR_LIT>'] = institution_node['<STR_LIT>']<EOL><DEDENT><DEDENT>institution_id_nodes = extract_nodes(funding_source_node, '<STR_LIT>')<EOL>institution_id_node = first(institution_id_nodes)<EOL>if institution_id_node:<EOL><INDENT>award_group_funding_source['<STR_LIT>'] = node_text(institution_id_node)<EOL>if '<STR_LIT>' in institution_id_node.attrs:<EOL><INDENT>award_group_funding_source['<STR_LIT>'] = institution_id_node['<STR_LIT>']<EOL><DEDENT><DEDENT>award_group_funding_sources.append(award_group_funding_source)<EOL><DEDENT>return award_group_funding_sources<EOL>
Given a funding group element
Find the award group funding sources, one for each
item found in the get_funding_group section