On Sun, Sep 21, 2014 at 10:18 AM, Juan Christian <juan0christ...@gmail.com> wrote: > I have a ' self.size = json['number_of_seasons'] ' that equals 5 (already > checked), the problem is that the API have some series with special seasons, > aka, season_number = 0, and I don't want to get those. > > I have the following list comp: self.season = [Season(ID, season, self) for > season in range(1, self.size + 1)]
You are calling Season with different parameters than it was defined to accept. > > Let's say I want Breaking Bad, 5 seasons, but this serie has a special > season 0. Reading the list comp, I get a range from 1 (in order to ignore > season 0) to 5 (range is half-open, so I need size + 1, maybe later I can > implement a closed_range, but I don't think this will be necessary as this > is the only place I'll ever use this). Then I get the current number and > hold it on the var season, then I call Season() with this number, but I'm > still fetching episodes from the season 0 and I don't know why! > > Code: > > import requests > from consts import API > from person import Person > from character import Character > > > class Serie: > def __init__(self, ID): > response = requests.get('{query}/{id}?api_key={key}'.format(query = > API.QUERY_SERIE, id = ID, key = API.KEY)) > json = response.json() > > self.id = ID > self.title = json['name'] > self.date = json['first_air_date'] > self.size = json['number_of_seasons'] > self.season = [Season(ID, season, self) for season in range(1, self.size + > 1)] > > > class Season: > def __init__(self, ID, season, serie): > response = requests.get('{query}/{id}/season/{s}?api_key={key}'.format(query > = API.QUERY_SERIE, id = ID, s = season, key = API.KEY)) > json = response.json() > > self.number = season > self.serie = serie > self.date = json['air_date'] > self.episode = [Episode(ID, episode['episode_number'], self) for episode in > json['episodes']] > self.size = len(self.episode) > > > class Episode: > def __init__(self, ID, episode, season): > response = > requests.get('{query}/{id}/season/{s}/episode/{e}?api_key={key}'.format(query > = API.QUERY_EPISODE, id = ID, s = season, e = episode, key = API.KEY)) > json = response.json() > print(json) > print("\n") > self.number = episode > self.title = json['name'] > self.date = json['air_date'] > > response = > requests.get('{query}/{id}/season/{s}/episode/{e}/credits?api_key={key}'.format(query > = API.QUERY_EPISODE, id = ID, s = season, e = episode, key = API.KEY)) > json = response.json() > > self.cast = [Character(person['character'], Person(person['id'])) for person > in json['cast']] > self.cast_size = len(self.cast) > > > s = Serie("1396") > print("DEBUG: " + s.title + " : " + s.id + " : " + s.date + " : " + s.size) > > > print(json) is giving me: > > {'vote_average': 0.0, 'id': 62131, 'air_date': '2009-02-17', 'still_path': > '/t729tFVXPetnJlJ2VsUZQz0rX6v.jpg', 'overview > ': "Hank and Marie try to spice up their relationship on Valentine's Day.", > 'episode_number': 1, 'production_code': None > , 'season_number': 0, 'vote_count': 0, 'name': 'Good Cop Bad Cop'} > > > {'vote_average': 0.0, 'id': 62133, 'air_date': '2009-02-17', 'still_path': > '/wT62P6ZnjKgZXk0M5hHl4e5zSjB.jpg', 'overview > ': 'Walt and Hank have a talk before Hank gets married.', 'episode_number': > 2, 'production_code': None, 'season_number': > 0, 'vote_count': 0, 'name': 'Wedding Day'} > > > {'vote_average': 0.0, 'id': 62132, 'air_date': '2009-02-17', 'still_path': > '/gUHAqFw3Ptzya96JFFE9xVfMjze.jpg', 'overview > ': 'Jesse and Badger make a behind the scenes video about their band > "TwaughtHammer" and show a music video for their so > ng "Fallacies."', 'episode_number': 3, 'production_code': None, > 'season_number': 0, 'vote_count': 0, 'name': 'TwaughtHam > mer'} > > [...] > > As you can see, 'season_number': 0, and I want 1 and above only. > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > -- Joel Goldstick http://joelgoldstick.com _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor