"""Constants for Météo-France weather forecast python API."""

METEOFRANCE_API_URL = "https://webservice.meteofrance.com"
METEOFRANCE_API_TOKEN = "__Wj7dVSTjV9YGu1guveLyDq0g7S7TfTjaHBTPTpO0kj8__"  # noqa: S105

# TODO:
# new token ? eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzRjdFOTVGOS04QjIxLTQwMDctOTFCQi0wQ0M3QjlBNTQxQzQiLCJjbGFzcyI6Im1vYmlsZSIsImlhdCI6MTYzNDg0NjM1Mi40NzU0MTE5fQ.F02c4y95-HqMsMbQeJ5Cx-qQ4LDJgaYwl47YsNvJM0E # noqa: B950
# new api v2
# https://webservice.meteofrance.com/v2/report?domain=france&report_type=observation&report_subtype=image%20du%20jour&format=jpg&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzRjdFOTVGOS04QjIxLTQwMDctOTFCQi0wQ0M3QjlBNTQxQzQiLCJjbGFzcyI6Im1vYmlsZSIsImlhdCI6MTYzNDg0NjM1Mi40NzU0MTE5fQ.F02c4y95-HqMsMbQeJ5Cx-qQ4LDJgaYwl47YsNvJM0E # noqa: B950
# http://webservice.meteofrance.com/v2/report?domain=france&report_type=observation&report_subtype=image%20du%20jour&format=txt&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzRjdFOTVGOS04QjIxLTQwMDctOTFCQi0wQ0M3QjlBNTQxQzQiLCJjbGFzcyI6Im1vYmlsZSIsImlhd # noqa: B950
# http://webservice.meteofrance.com/v2/ephemeris?lat=43.566079&lon=1.057237&lang=fr&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzRjdFOTVGOS04QjIxLTQwMDctOTFCQi0wQ0M3QjlBNTQxQzQiLCJjbGFzcyI6Im1vYmlsZSIsImlhdCI6MTYzNDg0NjM1Mi40NzU0 # noqa: B950

# enums used in all Warning classes. First indice is 0
# Weather alert criticity
ALERT_COLOR_LIST_FR = [None, "Vert", "Jaune", "Orange", "Rouge"]
ALERT_COLOR_LIST_EN = [None, "Green", "Yellow", "Orange", "Red"]

# Weather alert type
ALERT_TYPE_DICTIONARY_FR = {
    "0": None,
    "1": "Vent violent",
    "2": "Pluie-inondation",
    "3": "Orages",
    "4": "Inondation",
    "5": "Neige-verglas",
    "6": "Canicule",
    "7": "Grand-froid",
    "8": "Avalanches",
    "9": "Vagues-submersion",
}

ALERT_TYPE_DICTIONARY_EN = {
    "0": None,
    "1": "Wind",
    "2": "Rain-Flood",
    "3": "Thunderstorms",
    "4": "Flood",
    "5": "Snow/Ice",
    "6": "Extreme high temperature",
    "7": "Extreme low temperature",
    "8": "Avalanches",
    "9": "Coastal Event",
}


# Valide departments list for weather alert bulletin
VALID_DEPARTMENT_LIST = [
    "01",
    "02",
    "03",
    "04",
    "05",
    "06",
    "07",
    "08",
    "09",
    "10",
    "11",
    "12",
    "13",
    "14",
    "15",
    "16",
    "17",
    "18",
    "19",
    "20",
    "21",
    "22",
    "23",
    "24",
    "25",
    "26",
    "27",
    "28",
    "29",
    "2A",
    "2B",
    "30",
    "31",
    "32",
    "33",
    "34",
    "35",
    "36",
    "37",
    "38",
    "39",
    "40",
    "41",
    "42",
    "43",
    "44",
    "45",
    "46",
    "47",
    "48",
    "49",
    "50",
    "51",
    "52",
    "53",
    "54",
    "55",
    "56",
    "57",
    "58",
    "59",
    "60",
    "61",
    "62",
    "63",
    "64",
    "65",
    "66",
    "67",
    "68",
    "69",
    "70",
    "71",
    "72",
    "73",
    "74",
    "75",
    "76",
    "77",
    "78",
    "79",
    "80",
    "81",
    "82",
    "83",
    "84",
    "85",
    "86",
    "87",
    "88",
    "89",
    "90",
    "91",
    "92",
    "93",
    "94",
    "95",
    "99",
]

# Area code list for Coastal Departments
COASTAL_DEPARTMENT_LIST = [
    "06",
    "11",
    "13",
    "14",
    "17",
    "22",
    "29",
    "2A",
    "2B",
    "30",
    "33",
    "34",
    "35",
    "40",
    "44",
    "50",
    "56",
    "59",
    "62",
    "64",
    "66",
    "76",
    "80",
    "83",
    "85",
]
