· 6 years ago · Dec 09, 2019, 12:44 PM
1class FiveDaysWeatherForecast:
2
3 def __init__(self):
4
5 # Zmieniłbym `key_zakopane` na `key` i przesyłałbym to jako parametr
6 # Nie powinno się w kodzie hardkodowac 'magic stringow'
7 self.key_zakopane = "2700353"
8
9 # Użyj fstringow do budowania stringa. Np. = f"{base_url}/{self.key} ... "
10 # A tak na prawde do łączenia URLi powinno się użyc urlparse (urlparse.urljoin(url1, url2))
11
12 # Kolejna rzecz nie powinno się w inicie wywoływac takich akcji, init nie powinien robic za duzo logiki, tylko inicjowac klase
13 # Dodaj metodkę 'def forecast(self): ...' w ktorej bedziesz wolal zewnetrzne API i zwracal wynik
14 self.api_request = requests.get(
15 "http://dataservice.accuweather.com/forecasts/v1/daily/5day/" +
16 self.key_zakopane + "?apikey=" + accu_api + "&details=true")
17 self.five_days_weather_forecast = self.api_request
18 self.five_days_weather_forecast = json.loads(
19 self.five_days_weather_forecast.text)
20 self.days = 5