@@ -16,12 +16,14 @@ def get_movies_by_director():
1616 reader = csv .DictReader (f )
1717 d = defaultdict (list )
1818 for row in reader :
19- director = row ["director_name" ]
20- title = row ["movie_title" ].replace ("\xa0 " , "" )
21- year = row ["title_year" ]
22- score = float (row ["imdb_score" ])
23- if director :
24- d [director ].append (Movie (title = title , year = year , score = score ))
19+ try :
20+ director = row ["director_name" ]
21+ title = row ["movie_title" ].replace ("\xa0 " , "" )
22+ year = int (row ["title_year" ])
23+ score = float (row ["imdb_score" ])
24+ except ValueError :
25+ continue
26+ d [director ].append (Movie (title = title , year = year , score = score ))
2527 return d
2628
2729
@@ -39,12 +41,14 @@ def get_average_scores(directors):
3941 )
4042 return sd
4143
44+
4245def _year_sort (movies ):
4346 for count , movie in enumerate (movies ):
44- if not int ( movie .year ) > MIN_YEAR :
45- del ( movies [count ])
47+ if not movie .year > MIN_YEAR :
48+ del movies [count ]
4649 return movies
4750
51+
4852def _calc_mean (movies ):
4953 """Helper method to calculate mean of list of Movie namedtuples"""
5054 score = 0
@@ -57,7 +61,7 @@ def print_results(directors):
5761 """Print directors ordered by highest average rating. For each director
5862 print his/her movies also ordered by highest rated movie.
5963 See http://pybit.es/codechallenge13.html for example output"""
60- directors = dict (list (directors .items ())[:10 ])
64+ directors = dict (list (directors .items ())[:20 ])
6165 fmt_director_entry = "{counter:02}. {director:<52} {avg}"
6266 fmt_movie_entry = "{year} {title:<50} {score}"
6367 sep_line = "-" * 60
0 commit comments