parameters: (gamespec, full_data_set)
docstring: Extract civs from the game data.
  
          :param gamespec: Gamedata from empires.dat file.
          :type gamespec: class: ...dataformat.value_members.ArrayMember
docstring_summary: Extract civs from the game data.
docstring_tokens: Extract civs from the game data .
function: def extract_genie_civs(gamespec, full_data_set):
          """
          Extract civs from the game data.
  
          :param gamespec: Gamedata from empires.dat file.
          :type gamespec: class: ...dataformat.value_members.ArrayMember
          """
          # call hierarchy: wrapper[0]->civs
          raw_civs = gamespec[0]["civs"].get_value()
  
          index = 0
          for raw_civ in raw_civs:
              civ_id = index
  
              civ_members = raw_civ.get_value()
              units_member = civ_members.pop("units")
              units_member = units_member.get_container("id0")
  
              civ_members.update({"units": units_member})
  
              civ = GenieCivilizationObject(civ_id, full_data_set, members=civ_members)
              full_data_set.genie_civs.update({civ.get_id(): civ})
  
              index += 1
function_tokens: def extract_genie_civs ( gamespec , full_data_set ) : # call hierarchy: wrapper[0]->civs raw_civs = gamespec [ 0 ] [ "civs" ] . get_value ( ) index = 0 for raw_civ in raw_civs : civ_id = index civ_members = raw_civ . get_value ( ) units_member = civ_members . pop ( "units" ) units_member = units_member . get_container ( "id0" ) civ_members . update ( { "units" : units_member } ) civ = GenieCivilizationObject ( civ_id , full_data_set , members = civ_members ) full_data_set . genie_civs . update ( { civ . get_id ( ) : civ } ) index += 1