3. Третій етап виконання курсової роботи - kubatska/ski-weather-project GitHub Wiki
Для збереження даних я використовуватиму новий тип даних SkiWeather. При його ініціалізації необхідно задавати набір даних певної (тільки однієї) локації у форматі JSON, які отримають завдяки SKI WEATHER API. SkiWeather обробляє ці дані і повертає певні погодні чинники на даній території протягом певного періоду часу. Тобто використовуючи методи цього класу можна отримати прямий доступ до конкретних погодних даних.
Наявні методи:
- self.if_error() перевіряє чи присутні погодні дані в отриманій інформації;
- self.name() повертає назву локації;
- self.get_request() self.get_weather() є проміжними методами, які допомагають доступитися до повних об'єктів;
- self.totalSnowfall_cm() повертає загальну очікувану кількість снігопаду у конкретні дні;
- self.chanceofsnow() повертає ймовірність снігопаду у конкретні дні;
- self.hourly() повертає погодинну інформацію про погодні прогнози;
- self.date() повертає дати;
- self.bottom_min(), self.bottom_max(), self.mid_min(), self.mid_max(), self.top_min(), self.top_max() повертають найнижчі та найвищі очікувані температури (у С*) на певних висотах.
- self.chanceoffog(), self.chanceofthunder(), self.chanceofwindy(), self.snowfall_cm(), self.visibility(), self.chanceofrain() повертають дані протягом певних часових проміжків (6 год);
- self.whether() визначає чи погода оптимальна для лещетарства;
- str(self) повертає рядок, який характеризує клас.
Наприклад: dates = ['2019-04-20',] top_max = [4,] top_min = [8,]
SkiWeather спроектовано так, що за потреби можна легко модифікувати/додати нові методи, завдяки яким можна буде доступитися до потрібно кількості інформації.
Для зберігання екземплярів класу SkiWeather я використовуватиму структуру даних Array, яка містить наступні методи:
- len(self) - повертає розмір масиву;
- self[i] - отримує елемент масиву за індексом;
- self.(value) - присвоює значення за індексом;
- self.clear(value) - замінює всі елементи масиву конкретним значенням;
- self.() - повертає ітератор масиву для обходу елементів;
- str(self) - повертає рядок, який характеризує масив.

