from .. import Provider as CurrencyProvider


class Provider(CurrencyProvider):
    """Currency provider for mk_MK locale (Macedonian).

    Sources:
    - https://mk.wikipedia.org/wiki/Валута
    - https://en.wikipedia.org/wiki/List_of_circulating_currencies
    """

    # Currency names in Macedonian
    currencies = (
        ("AED", "Дирхам на ОАЕ"),
        ("AFN", "Авганистански авганија"),
        ("ALL", "Албански лек"),
        ("AMD", "Ерменски драм"),
        ("ANG", "Нидерландски антилски гулден"),
        ("AOA", "Анголска кванза"),
        ("ARS", "Аргентинско пезо"),
        ("AUD", "Австралиски долар"),
        ("AWG", "Арубански флорин"),
        ("AZN", "Азербејџански манат"),
        ("BAM", "Конвертибилна марка на БиХ"),
        ("BBD", "Барбадоски долар"),
        ("BDT", "Бангладешка така"),
        ("BGN", "Бугарски лев"),
        ("BHD", "Бахреински динар"),
        ("BIF", "Бурундиски франк"),
        ("BMD", "Бермудски долар"),
        ("BND", "Брунејски долар"),
        ("BOB", "Боливиско боливијано"),
        ("BRL", "Бразилски реал"),
        ("BSD", "Бахамски долар"),
        ("BTN", "Бутански нгултрум"),
        ("BWP", "Ботсванска пула"),
        ("BYN", "Белоруска рубља"),
        ("BZD", "Белиски долар"),
        ("CAD", "Канадски долар"),
        ("CDF", "Конгоански франк"),
        ("CHF", "Швајцарски франк"),
        ("CLP", "Чилеанско пезо"),
        ("CNY", "Кинески јуан"),
        ("COP", "Колумбиско пезо"),
        ("CRC", "Костариканска колона"),
        ("CUP", "Кубанско пезо"),
        ("CVE", "Кабовердско ескудо"),
        ("CZK", "Чешка круна"),
        ("DJF", "Џибутиски франк"),
        ("DKK", "Данска круна"),
        ("DOP", "Доминиканско пезо"),
        ("DZD", "Алжирски динар"),
        ("EGP", "Египетска фунта"),
        ("ERN", "Еритрејска накфа"),
        ("ETB", "Етиопски бир"),
        ("EUR", "Евро"),
        ("FJD", "Фиџиски долар"),
        ("GBP", "Британска фунта"),
        ("GEL", "Грузиски лари"),
        ("GHS", "Гански седи"),
        ("GMD", "Гамбиски даласи"),
        ("GNF", "Гвинејски франк"),
        ("GTQ", "Гватемалски кецал"),
        ("GYD", "Гвајански долар"),
        ("HKD", "Хонгконшки долар"),
        ("HNL", "Хондураска лемпира"),
        ("HTG", "Хаитски гурд"),
        ("HUF", "Унгарски форинт"),
        ("IDR", "Индонезиска рупија"),
        ("ILS", "Израелски нов шекел"),
        ("INR", "Индиска рупија"),
        ("IQD", "Ирачки динар"),
        ("IRR", "Ирански риал"),
        ("ISK", "Исландска круна"),
        ("JMD", "Јамајски долар"),
        ("JOD", "Јорданоски динар"),
        ("JPY", "Јапонски јен"),
        ("KES", "Кенијски шилинг"),
        ("KGS", "Киргистански сом"),
        ("KHR", "Камбоџански риел"),
        ("KMF", "Коморски франк"),
        ("KPW", "Северна корејска вона"),
        ("KRW", "Јужна корејска вона"),
        ("KWD", "Кувајтски динар"),
        ("KZT", "Казахстански тенге"),
        ("LAK", "Лаоски кип"),
        ("LBP", "Либанска фунта"),
        ("LKR", "Шриланканска рупија"),
        ("LRD", "Либериски долар"),
        ("LYD", "Либиски динар"),
        ("MAD", "Марокански дирхам"),
        ("MDL", "Молдавски леу"),
        ("MGA", "Малагасиски ариари"),
        ("MKD", "Македонски денар"),
        ("MMK", "Мјанмарски кјат"),
        ("MNT", "Монголски тугрик"),
        ("MUR", "Маурициска рупија"),
        ("MVR", "Малдивска руфија"),
        ("MWK", "Малависка квача"),
        ("MXN", "Мексиканско пезо"),
        ("MYR", "Малезиски рингит"),
        ("MZN", "Мозамбичка метикала"),
        ("NAD", "Намибиски долар"),
        ("NGN", "Нигериска најра"),
        ("NIO", "Никарагванска кордоба"),
        ("NOK", "Норвешка круна"),
        ("NPR", "Непалска рупија"),
        ("NZD", "Новозеландски долар"),
        ("OMR", "Оманскт риал"),
        ("PAB", "Панамска балбоа"),
        ("PEN", "Перуански сол"),
        ("PHP", "Филипинско пезо"),
        ("PKR", "Пакистанска рупија"),
        ("PLN", "Полски злоти"),
        ("PYG", "Парагвајски гварани"),
        ("QAR", "Катарски риал"),
        ("RON", "Романски леу"),
        ("RSD", "Српски динар"),
        ("RUB", "Руска рубља"),
        ("RWF", "Руандски франк"),
        ("SAR", "Саудиски ријал"),
        ("SBD", "Доларот на Соломоновите Острови"),
        ("SCR", "Сејшелска рупија"),
        ("SDG", "Судански фунт"),
        ("SEK", "Шведска круна"),
        ("SGD", "Сингапурски долар"),
        ("SLL", "Сиера Леонски леоне"),
        ("SOS", "Сомалиски шилинг"),
        ("SRD", "Суринамски долар"),
        ("SYP", "Сириска фунта"),
        ("SZL", "Свазиленд лилангени"),
        ("THB", "Тајландски бат"),
        ("TJS", "Таџикистански сомони"),
        ("TMT", "Туркменистански манат"),
        ("TND", "Тунизиски динар"),
        ("TRY", "Турска лира"),
        ("TTD", "Тринидадски долар"),
        ("TWD", "Нов тајвански долар"),
        ("TZS", "Танзаниски шилинг"),
        ("UAH", "Украинска хривна"),
        ("UGX", "Угандиски шилинг"),
        ("USD", "Американски долар"),
        ("UYU", "Уругвајско пезо"),
        ("UZS", "Узбекистански сум"),
        ("VES", "Венецуелански боливар"),
        ("VND", "Виетнамски донг"),
        ("VUV", "Вануатски вату"),
        ("WST", "Самоанска тала"),
        ("XAF", "Централноафрикански франк CFA"),
        ("XCD", "Источнокарипски долар"),
        ("XOF", "Западноафрикански франк CFA"),
        ("XPF", "Франк CFP"),
        ("YER", "Јеменски риал"),
        ("ZAR", "Јужноафрикански ренд"),
        ("ZMW", "Замбиска квача"),
        ("ZWL", "Зимбабвески долар"),
    )

    price_formats = ("# ден.", "## ден.", "### ден.", "#.### ден.", "##.### ден.")

    def pricetag(self) -> str:
        return self.numerify(self.random_element(self.price_formats))
