|
| 1 | +from django.utils.translation import gettext_lazy as _ |
| 2 | + |
| 3 | +# extracted from https://nrkno.github.io/yr-weather-symbols/ |
| 4 | +WEATHER_CONDITIONS = [ |
| 5 | + {'id': 'clearsky_day', 'name': 'Clear sky Day'}, |
| 6 | + {'id': 'clearsky_night', 'name': 'Clear sky Night'}, |
| 7 | + {'id': 'clearsky_polartwilight', 'name': 'Clear sky Polar Twilight'}, |
| 8 | + |
| 9 | + {'id': 'fair_day', 'name': 'Fair Day'}, |
| 10 | + {'id': 'fair_night', 'name': 'Fair Night'}, |
| 11 | + {'id': 'fair_polartwilight', 'name': 'Fair Polar Twilight'}, |
| 12 | + |
| 13 | + {'id': 'partlycloudy_day', 'name': 'Partly Cloudy Day'}, |
| 14 | + {'id': 'partlycloudy_night', 'name': 'Partly Cloudy Night'}, |
| 15 | + {'id': 'partlycloudy_polartwilight', 'name': 'Partly Cloudy Polar Twilight'}, |
| 16 | + |
| 17 | + {'id': 'cloudy', 'name': 'Cloudy'}, |
| 18 | + |
| 19 | + {'id': 'rainshowers_day', 'name': 'Rain Showers Day'}, |
| 20 | + {'id': 'rainshowers_night', 'name': 'Rain Showers Night'}, |
| 21 | + {'id': 'rainshowers_polartwilight', 'name': 'Rain Showers Polar Twilight'}, |
| 22 | + |
| 23 | + {'id': 'rainshowersandthunder_day', 'name': 'Rain Showers and Thunder Day'}, |
| 24 | + {'id': 'rainshowersandthunder_night', 'name': 'Rain Showers and Thunder Night'}, |
| 25 | + {'id': 'rainshowersandthunder_polartwilight', 'name': 'Rain Showers and Thunder Polar Twilight'}, |
| 26 | + |
| 27 | + {'id': 'sleetshowers_day', 'name': 'Sleet Showers Day'}, |
| 28 | + {'id': 'sleetshowers_night', 'name': 'Sleet Showers Night'}, |
| 29 | + {'id': 'sleetshowers_polartwilight', 'name': 'Sleet Showers Polar Twilight'}, |
| 30 | + |
| 31 | + {'id': 'snowshowers_day', 'name': 'Snow Showers Day'}, |
| 32 | + {'id': 'snowshowers_night', 'name': 'Snow Showers Night'}, |
| 33 | + {'id': 'snowshowers_polartwilight', 'name': 'Snow Showers Polar Twilight'}, |
| 34 | + |
| 35 | + {'id': 'rain', 'name': 'Rain'}, {'id': 'heavyrain', 'name': 'Heavy Rain'}, |
| 36 | + |
| 37 | + {'id': 'heavyrainandthunder', 'name': 'Heavy Rain and Thunder'}, {'id': 'sleet', 'name': 'Sleet'}, |
| 38 | + |
| 39 | + {'id': 'snow', 'name': 'Snow'}, {'id': 'snowandthunder', 'name': 'Snow and Thunder'}, |
| 40 | + |
| 41 | + {'id': 'fog', 'name': 'Fog'}, |
| 42 | + |
| 43 | + {'id': 'sleetshowersandthunder_day', 'name': 'Sleet Showers and Thunder Day'}, |
| 44 | + {'id': 'sleetshowersandthunder_night', 'name': 'Sleet Showers and Thunder Night'}, |
| 45 | + {'id': 'sleetshowersandthunder_polartwilight', 'name': 'Sleet Showers and Thunder Polar Twilight'}, |
| 46 | + |
| 47 | + {'id': 'snowshowersandthunder_day', 'name': 'Snow Showers and Thunder Day'}, |
| 48 | + {'id': 'snowshowersandthunder_night', 'name': 'Snow Showers and Thunder Night'}, |
| 49 | + {'id': 'snowshowersandthunder_polartwilight', 'name': 'Snow Showers and Thunder Polar Twilight'}, |
| 50 | + |
| 51 | + {'id': 'rainandthunder', 'name': 'Rain and Thunder'}, |
| 52 | + |
| 53 | + {'id': 'sleetandthunder', 'name': 'Sleet and Thunder'}, |
| 54 | + |
| 55 | + {'id': 'lightrainshowersandthunder_day', 'name': 'Light Rain Showers and Thunder Day'}, |
| 56 | + {'id': 'lightrainshowersandthunder_night', 'name': 'Light Rain Showers and Thunder Night'}, |
| 57 | + {'id': 'lightrainshowersandthunder_polartwilight', 'name': 'Light Rain Showers and Thunder Polar Twilight'}, |
| 58 | + |
| 59 | + {'id': 'heavyrainshowersandthunder_day', 'name': 'Heavy Rain Showers and Thunder Day'}, |
| 60 | + {'id': 'heavyrainshowersandthunder_night', 'name': 'Heavy Rain Showers and Thunder Night'}, |
| 61 | + {'id': 'heavyrainshowersandthunder_polartwilight', 'name': 'Heavy Rain Showers and Thunder Polar Twilight'}, |
| 62 | + |
| 63 | + {'id': 'lightsleetshowersandthunder_day', 'name': 'Light Sleet Showers and Thunder Day'}, |
| 64 | + {'id': 'lightsleetshowersandthunder_night', 'name': 'Light Sleet Showers and Thunder Night'}, |
| 65 | + {'id': 'lightsleetshowersandthunder_polartwilight', 'name': 'Light Sleet Showers and Thunder Polar Twilight'}, |
| 66 | + |
| 67 | + {'id': 'heavysleetshowersandthunder_day', 'name': 'Heavy Sleet Showers and Thunder Day'}, |
| 68 | + {'id': 'heavysleetshowersandthunder_night', 'name': 'Heavy Sleet Showers and Thunder Night'}, |
| 69 | + {'id': 'heavysleetshowersandthunder_polartwilight', 'name': 'Heavy Sleet Showers and Thunder Polar Twilight'}, |
| 70 | + |
| 71 | + {'id': 'lightsnowshowersandthunder_day', 'name': 'Light Snow Showers and Thunder Day'}, |
| 72 | + {'id': 'lightsnowshowersandthunder_night', 'name': 'Light Snow Showers and Thunder Night'}, |
| 73 | + {'id': 'lightsnowshowersandthunder_polartwilight', 'name': 'Light Snow Showers and Thunder Polar Twilight'}, |
| 74 | + |
| 75 | + {'id': 'heavysnowshowersandthunder_day', 'name': 'Heavy Snow Showers and Thunder Day'}, |
| 76 | + {'id': 'heavysnowshowersandthunder_night', 'name': 'Heavy Snow Showers and Thunder Night'}, |
| 77 | + {'id': 'heavysnowshowersandthunder_polartwilight', 'name': 'Heavy Snow Showers and Thunder Polar Twilight'}, |
| 78 | + |
| 79 | + {'id': 'lightrainandthunder', 'name': 'Light Rain and Thunder'}, |
| 80 | + {'id': 'lightsleetandthunder', 'name': 'Light Sleet and Thunder'}, |
| 81 | + {'id': 'heavysleetandthunder', 'name': 'Heavy Sleet and Thunder'}, |
| 82 | + {'id': 'lightsnowandthunder', 'name': 'Light Snow and Thunder'}, |
| 83 | + {'id': 'heavysnowandthunder', 'name': 'Heavy Snow and Thunder'}, |
| 84 | + {'id': 'lightrainshowers_day', 'name': 'Light Rain Showers Day'}, |
| 85 | + {'id': 'lightrainshowers_night', 'name': 'Light Rain Showers Night'}, |
| 86 | + {'id': 'lightrainshowers_polartwilight', 'name': 'Light Rain Showers Polar Twilight'}, |
| 87 | + {'id': 'heavyrainshowers_day', 'name': 'Heavy Rain Showers Day'}, |
| 88 | + {'id': 'heavyrainshowers_night', 'name': 'Heavy Rain Showers Night'}, |
| 89 | + {'id': 'heavyrainshowers_polartwilight', 'name': 'Heavy Rain Showers Polar Twilight'}, |
| 90 | + {'id': 'lightsleetshowers_day', 'name': 'Light Sleet Showers Day'}, |
| 91 | + {'id': 'lightsleetshowers_night', 'name': 'Light Sleet Showers Night'}, |
| 92 | + {'id': 'lightsleetshowers_polartwilight', 'name': 'Light Sleet Showers Polar Twilight'}, |
| 93 | + {'id': 'heavysleetshowers_day', 'name': 'Heavy Sleet Showers Day'}, |
| 94 | + {'id': 'heavysleetshowers_night', 'name': 'Heavy Sleet Showers Night'}, |
| 95 | + {'id': 'heavysleetshowers_polartwilight', 'name': 'Heavy Sleet Showers Polar Twilight'}, |
| 96 | + {'id': 'lightsnowshowers_day', 'name': 'Light Snow Showers Day'}, |
| 97 | + {'id': 'lightsnowshowers_night', 'name': 'Light Snow Showers Night'}, |
| 98 | + {'id': 'lightsnowshowers_polartwilight', 'name': 'Light Snow Showers Polar Twilight'}, |
| 99 | + {'id': 'heavysnowshowers_day', 'name': 'Heavy Snow Showers Day'}, |
| 100 | + {'id': 'heavysnowshowers_night', 'name': 'Heavy Snow Showers Night'}, |
| 101 | + {'id': 'heavysnowshowers_polartwilight', 'name': 'Heavy Snow Showers Polar Twilight'}, |
| 102 | + {'id': 'lightrain', 'name': 'Light Rain'}, {'id': 'lightsleet', 'name': 'Light Sleet'}, |
| 103 | + {'id': 'heavysleet', 'name': 'Heavy Sleet'}, {'id': 'lightsnow', 'name': 'Light Snow'}, |
| 104 | + {'id': 'heavysnow', 'name': 'Heavy Snow'}] |
| 105 | + |
| 106 | +WEATHER_PARAMETERS = [ |
| 107 | + { |
| 108 | + "name": "air_temperature_max", |
| 109 | + "label": "Maximum Air Temperature", |
| 110 | + "unit": "°C", |
| 111 | + "data_type": "int" |
| 112 | + }, |
| 113 | + { |
| 114 | + "name": "air_temperature_min", |
| 115 | + "label": "Minimum Air Temperature", |
| 116 | + "unit": "°C", |
| 117 | + "data_type": "int" |
| 118 | + }, |
| 119 | + { |
| 120 | + "name": "air_temperature", |
| 121 | + "label": "Air Temperature", |
| 122 | + "unit": "°C", |
| 123 | + "data_type": "int" |
| 124 | + }, |
| 125 | + { |
| 126 | + "name": "dew_point_temperature", |
| 127 | + "label": "Dew Point Temperature", |
| 128 | + "unit": "°C", |
| 129 | + "data_type": "int" |
| 130 | + }, |
| 131 | + { |
| 132 | + "name": "precipitation_amount", |
| 133 | + "label": "Precipitation Amount", |
| 134 | + "unit": "mm", |
| 135 | + "data_type": "float" |
| 136 | + }, |
| 137 | + { |
| 138 | + "name": "air_pressure_at_sea_level", |
| 139 | + "label": "Air Pressure (Sea level)", |
| 140 | + "unit": "hPa", |
| 141 | + "data_type": "int" |
| 142 | + }, |
| 143 | + { |
| 144 | + "name": "wind_speed", |
| 145 | + "label": "Wind Speed", |
| 146 | + "unit": "m/s", |
| 147 | + "data_type": "int" |
| 148 | + }, |
| 149 | + { |
| 150 | + "name": "wind_from_direction", |
| 151 | + "label": "Wind Direction", |
| 152 | + "unit": "°", |
| 153 | + "data_type": "int" |
| 154 | + }, |
| 155 | + { |
| 156 | + "name": "relative_humidity", |
| 157 | + "label": "Relative Humidity", |
| 158 | + "unit": "%", |
| 159 | + "data_type": "int" |
| 160 | + }, |
| 161 | + { |
| 162 | + "name": "sunrise", |
| 163 | + "label": "Sunrise", |
| 164 | + }, |
| 165 | + { |
| 166 | + "name": "sunset", |
| 167 | + "label": "Sunset", |
| 168 | + }, |
| 169 | + { |
| 170 | + "name": "moonrise", |
| 171 | + "label": "Moonrise", |
| 172 | + }, |
| 173 | + { |
| 174 | + "name": "moonset", |
| 175 | + "label": "Moonset", |
| 176 | + }, |
| 177 | +] |
| 178 | + |
| 179 | +WEATHER_PARAMETER_CHOICES = [(param['name'], _(param['label'])) for param in WEATHER_PARAMETERS] |
| 180 | + |
| 181 | +WEATHER_PARAMETERS_AS_DICT = {param['name']: param for param in WEATHER_PARAMETERS} |
| 182 | + |
| 183 | +WEATHER_CONDITION_CHOICES = [(condition['id'], _(condition['name'])) for condition in WEATHER_CONDITIONS] |
| 184 | + |
| 185 | +WEATHER_CONDITIONS_AS_DICT = {condition['id']: condition for condition in WEATHER_CONDITIONS} |
0 commit comments