Действия

Модуль

Countries-list

Материал из ВикиВоины

0.00
(0 голосов)

Для документации этого модуля может быть создана страница Модуль:Countries-list/doc

local p = {}

function p.generateAllCodes(frame)
    local result = ''
    local args = frame:getParent().args
    -- Список всех стран и соответствующих параметров
    local countries = {
 {name = 'Австралия', arg = 'Австралия'},
 {name = 'Австрия', arg = 'Австрия'},
 {name = 'Азербайджан', arg = 'Азербайджан'},
 {name = 'Албания', arg = 'Албания'},
 {name = 'Алжир', arg = 'Алжир'},
 {name = 'Американские Вирджинские острова', arg = 'Американские Вирджинские острова'},
 {name = 'Американское Самоа', arg = 'Американское Самоа'},
 {name = 'Ангилья', arg = 'Ангилья'},
 {name = 'Ангола', arg = 'Ангола'},
 {name = 'Андорра', arg = 'Андорра'},
 {name = 'Антигуа и Барбуда', arg = 'Антигуа и Барбуда'},
 {name = 'Аргентина', arg = 'Аргентина'},
 {name = 'Армения', arg = 'Армения'},
 {name = 'Аруба', arg = 'Аруба'},
 {name = 'Афганистан', arg = 'Афганистан'},
 {name = 'Багамы', arg = 'Багамы'},
 {name = 'Бангладеш', arg = 'Бангладеш'},
 {name = 'Барбадос', arg = 'Барбадос'},
 {name = 'Бахрейн', arg = 'Бахрейн'},
 {name = 'Беларусь', arg = 'Беларусь'},
 {name = 'Белиз', arg = 'Белиз'},
 {name = 'Бельгия', arg = 'Бельгия'},
 {name = 'Бенин', arg = 'Бенин'},
 {name = 'Бермуды', arg = 'Бермуды'},
 {name = 'Болгария', arg = 'Болгария'},
 {name = 'Боливия', arg = 'Боливия'},
 {name = 'Босния и Герцеговина', arg = 'Босния и Герцеговина'},
 {name = 'Ботсвана', arg = 'Ботсвана'},
 {name = 'Бразилия', arg = 'Бразилия'},
 {name = 'Британские Вирджинские острова', arg = 'Британские Вирджинские острова'},
 {name = 'Бруней', arg = 'Бруней'},
 {name = 'Буркина-Фасо', arg = 'Буркина-Фасо'},
 {name = 'Бурунди', arg = 'Бурунди'},
 {name = 'Бутан', arg = 'Бутан'},
 {name = 'Вануату', arg = 'Вануату'},
 {name = 'Ватикан', arg = 'Ватикан'},
 {name = 'Великобритания', arg = 'Великобритания'},
 {name = 'Венгрия', arg = 'Венгрия'},
 {name = 'Венесуэла', arg = 'Венесуэла'},
 {name = 'Восточный Тимор', arg = 'Восточный Тимор'},
 {name = 'Вьетнам', arg = 'Вьетнам'},
 {name = 'Габон', arg = 'Габон'},
 {name = 'Гавайи', arg = 'Гавайи'},
 {name = 'Гаити', arg = 'Гаити'},
 {name = 'Гайана', arg = 'Гайана'},
 {name = 'Гамбия', arg = 'Гамбия'},
 {name = 'Гана', arg = 'Гана'},
 {name = 'Гваделупа', arg = 'Гваделупа'},
 {name = 'Гватемала', arg = 'Гватемала'},
 {name = 'Гвинея', arg = 'Гвинея'},
 {name = 'Гвинея-Бисау', arg = 'Гвинея-Бисау'},
 {name = 'Германия', arg = 'Германия'},
 {name = 'Гондурас', arg = 'Гондурас'},
 {name = 'Гонконг', arg = 'Гонконг'},
 {name = 'Гренада', arg = 'Гренада'},
 {name = 'Гренландия', arg = 'Гренландия'},
 {name = 'Греция', arg = 'Греция'},
 {name = 'Грузия', arg = 'Грузия'},
 {name = 'Гуам', arg = 'Гуам'},
 {name = 'Дания', arg = 'Дания'},
 {name = 'Джибути', arg = 'Джибути'},
 {name = 'Доминика', arg = 'Доминика'},
 {name = 'Доминикана', arg = 'Доминикана'},
 {name = 'ДР Конго', arg = 'ДР Конго'},
 {name = 'Египет', arg = 'Египет'},
 {name = 'Замбия', arg = 'Замбия'},
 {name = 'Западная Сахара', arg = 'Западная Сахара'},
 {name = 'Зимбабве', arg = 'Зимбабве'},
 {name = 'Израиль', arg = 'Израиль'},
 {name = 'Индия', arg = 'Индия'},
 {name = 'Индонезия', arg = 'Индонезия'},
 {name = 'Иордания', arg = 'Иордания'},
 {name = 'Ирак', arg = 'Ирак'},
 {name = 'Иран', arg = 'Иран'},
 {name = 'Ирландия', arg = 'Ирландия'},
 {name = 'Исландия', arg = 'Исландия'},
 {name = 'Испания', arg = 'Испания'},
 {name = 'Италия', arg = 'Италия'},
 {name = 'Йемен', arg = 'Йемен'},
 {name = 'Кабо-Верде', arg = 'Кабо-Верде'},
 {name = 'Казахстан', arg = 'Казахстан'},
 {name = 'Кайманы', arg = 'Кайманы'},
 {name = 'Камбоджа', arg = 'Камбоджа'},
 {name = 'Камерун', arg = 'Камерун'},
 {name = 'Канада', arg = 'Канада'},
 {name = 'Канарские острова', arg = 'Канарские острова'},
 {name = 'Катар', arg = 'Катар'},
 {name = 'Кения', arg = 'Кения'},
 {name = 'Кипр', arg = 'Кипр'},
 {name = 'Кирибати', arg = 'Кирибати'},
 {name = 'Китай', arg = 'Китай'},
 {name = 'Колумбия', arg = 'Колумбия'},
 {name = 'Коморы', arg = 'Коморы'},
 {name = 'Конго', arg = 'Конго'},
 {name = 'Коста-Рика', arg = 'Коста-Рика'},
 {name = 'Кот-д’Ивуар', arg = 'Кот-д’Ивуар'},
 {name = 'Куба', arg = 'Куба'},
 {name = 'Кувейт', arg = 'Кувейт'},
 {name = 'Кыргызстан', arg = 'Кыргызстан'},
 {name = 'Кюрасао', arg = 'Кюрасао'},
 {name = 'Лаос', arg = 'Лаос'},
 {name = 'Латвия', arg = 'Латвия'},
 {name = 'Лесото', arg = 'Лесото'},
 {name = 'Либерия', arg = 'Либерия'},
 {name = 'Ливан', arg = 'Ливан'},
 {name = 'Ливия', arg = 'Ливия'},
 {name = 'Литва', arg = 'Литва'},
 {name = 'Лихтенштейн', arg = 'Лихтенштейн'},
 {name = 'Люксембург', arg = 'Люксембург'},
 {name = 'Маврикий', arg = 'Маврикий'},
 {name = 'Мавритания', arg = 'Мавритания'},
 {name = 'Мадагаскар', arg = 'Мадагаскар'},
 {name = 'Майотта', arg = 'Майотта'},
 {name = 'Малави', arg = 'Малави'},
 {name = 'Малайзия', arg = 'Малайзия'},
 {name = 'Мали', arg = 'Мали'},
 {name = 'Мальдивы', arg = 'Мальдивы'},
 {name = 'Мальта', arg = 'Мальта'},
 {name = 'Марокко', arg = 'Марокко'},
 {name = 'Мартиника', arg = 'Мартиника'},
 {name = 'Маршалловы Острова', arg = 'Маршалловы Острова'},
 {name = 'Мексика', arg = 'Мексика'},
 {name = 'Микронезия', arg = 'Микронезия'},
 {name = 'Мозамбик', arg = 'Мозамбик'},
 {name = 'Молдова', arg = 'Молдова'},
 {name = 'Монако', arg = 'Монако'},
 {name = 'Монголия', arg = 'Монголия'},
 {name = 'Монтсеррат', arg = 'Монтсеррат'},
 {name = 'Мьянма', arg = 'Мьянма'},
 {name = 'Намибия', arg = 'Намибия'},
 {name = 'Науру', arg = 'Науру'},
 {name = 'Непал', arg = 'Непал'},
 {name = 'Нигер', arg = 'Нигер'},
 {name = 'Нигерия', arg = 'Нигерия'},
 {name = 'Нидерланды', arg = 'Нидерланды'},
 {name = 'Никарагуа', arg = 'Никарагуа'},
 {name = 'Ниуэ', arg = 'Ниуэ'},
 {name = 'Новая Зеландия', arg = 'Новая Зеландия'},
 {name = 'Новая Каледония', arg = 'Новая Каледония'},
 {name = 'Норвегия', arg = 'Норвегия'},
 {name = 'ОАЭ', arg = 'ОАЭ'},
 {name = 'Оман', arg = 'Оман'},
 {name = 'Острова Кука', arg = 'Острова Кука'},
 {name = 'Пакистан', arg = 'Пакистан'},
 {name = 'Палау', arg = 'Палау'},
 {name = 'Палестина', arg = 'Палестина'},
 {name = 'Панама', arg = 'Панама'},
 {name = 'Папуа-Новая Гвинея', arg = 'Папуа-Новая Гвинея'},
 {name = 'Парагвай', arg = 'Парагвай'},
 {name = 'Перу', arg = 'Перу'},
 {name = 'Питкэрн', arg = 'Питкэрн'},
 {name = 'Польша', arg = 'Польша'},
 {name = 'Португалия', arg = 'Португалия'},
 {name = 'Пуэрто-Рико', arg = 'Пуэрто-Рико'},
 {name = 'Реюньон', arg = 'Реюньон'},
 {name = 'Россия', arg = 'Россия'},
 {name = 'Руанда', arg = 'Руанда'},
 {name = 'Румыния', arg = 'Румыния'},
 {name = 'Сальвадор', arg = 'Сальвадор'},
 {name = 'Самоа', arg = 'Самоа'},
 {name = 'Сан-Марино', arg = 'Сан-Марино'},
 {name = 'Сан-Томе и Принсипи', arg = 'Сан-Томе и Принсипи'},
 {name = 'Саудовская Аравия', arg = 'Саудовская Аравия'},
 {name = 'Северная Корея', arg = 'Северная Корея'},
 {name = 'Северная Македония', arg = 'Северная Македония'},
 {name = 'Северные Марианские Острова', arg = 'Северные Марианские Острова'},
 {name = 'Сейшелы', arg = 'Сейшелы'},
 {name = 'Сенегал', arg = 'Сенегал'},
 {name = 'Сент-Винсент и Гренадины', arg = 'Сент-Винсент и Гренадины'},
 {name = 'Сент-Китс и Невис', arg = 'Сент-Китс и Невис'},
 {name = 'Сент-Люсия', arg = 'Сент-Люсия'},
 {name = 'Сербия', arg = 'Сербия'},
 {name = 'Сингапур', arg = 'Сингапур'},
 {name = 'Синт-Мартен', arg = 'Синт-Мартен'},
 {name = 'Сирия', arg = 'Сирия'},
 {name = 'Словакия', arg = 'Словакия'},
 {name = 'Словения', arg = 'Словения'},
 {name = 'Соломоновы Острова', arg = 'Соломоновы Острова'},
 {name = 'Сомали', arg = 'Сомали'},
 {name = 'Судан', arg = 'Судан'},
 {name = 'Суринам', arg = 'Суринам'},
 {name = 'США', arg = 'США'},
 {name = 'Сьерра-Леоне', arg = 'Сьерра-Леоне'},
 {name = 'Таджикистан', arg = 'Таджикистан'},
 {name = 'Таиланд', arg = 'Таиланд'},
 {name = 'Тайвань', arg = 'Тайвань'},
 {name = 'Танзания', arg = 'Танзания'},
 {name = 'Теркс и Кайкос', arg = 'Теркс и Кайкос'},
 {name = 'Того', arg = 'Того'},
 {name = 'Токелау', arg = 'Токелау'},
 {name = 'Тонга', arg = 'Тонга'},
 {name = 'Тринидад и Тобаго', arg = 'Тринидад и Тобаго'},
 {name = 'Тувалу', arg = 'Тувалу'},
 {name = 'Тунис', arg = 'Тунис'},
 {name = 'Туркменистан', arg = 'Туркменистан'},
 {name = 'Турция', arg = 'Турция'},
 {name = 'Уганда', arg = 'Уганда'},
 {name = 'Узбекистан', arg = 'Узбекистан'},
 {name = 'Украина', arg = 'Украина'},
 {name = 'Уоллис и Футуна', arg = 'Уоллис и Футуна'},
 {name = 'Уругвай', arg = 'Уругвай'},
 {name = 'Уэйк', arg = 'Уэйк'},
 {name = 'Фареры', arg = 'Фареры'},
 {name = 'Фиджи', arg = 'Фиджи'},
 {name = 'Филиппины', arg = 'Филиппины'},
 {name = 'Финляндия', arg = 'Финляндия'},
 {name = 'Фолкленды', arg = 'Фолкленды'},
 {name = 'Франция', arg = 'Франция'},
 {name = 'Французская Гвиана', arg = 'Французская Гвиана'},
 {name = 'Французская Полинезия', arg = 'Французская Полинезия'},
 {name = 'Хорватия', arg = 'Хорватия'},
 {name = 'ЦАР', arg = 'ЦАР'},
 {name = 'Чад', arg = 'Чад'},
 {name = 'Черногория', arg = 'Черногория'},
 {name = 'Чехия', arg = 'Чехия'},
 {name = 'Чили', arg = 'Чили'},
 {name = 'Швейцария', arg = 'Швейцария'},
 {name = 'Швеция', arg = 'Швеция'},
 {name = 'Шри-Ланка', arg = 'Шри-Ланка'},
 {name = 'Эквадор', arg = 'Эквадор'},
 {name = 'Экваториальная Гвинея', arg = 'Экваториальная Гвинея'},
 {name = 'Эритрея', arg = 'Эритрея'},
 {name = 'Эсватини', arg = 'Эсватини'},
 {name = 'Эстония', arg = 'Эстония'},
 {name = 'Эфиопия', arg = 'Эфиопия'},
 {name = 'ЮАР', arg = 'ЮАР'},
 {name = 'Южная Корея', arg = 'Южная Корея'},
 {name = 'Южный Судан', arg = 'Южный Судан'},
 {name = 'Ямайка', arg = 'Ямайка'},
 {name = 'Япония', arg = 'Япония'},
    }
    -- Перебираем все страны и генерируем код для каждой
    for i, country in ipairs(countries) do
        local countryValue = args[country.arg] or ''
        if countryValue ~= '' then
            local countryCode = p.generateCountryCode(frame, country.name, countryValue)
            result = result .. countryCode
        end
    end

    return result
end

function p.generateCountryCode(frame, country, value)
    local code = '* ' .. frame:expandTemplate{title = country} .. ' — ' .. value .. '\n'
    return code
end

return p