Skip to content

Commit

Permalink
#56: workaround a bug in the Flixster API response returning an incor…
Browse files Browse the repository at this point in the history
…rect type for 'Year'. Should be a nullable int or int, not a string.
  • Loading branch information
damienhaynes committed Aug 4, 2016
1 parent 5d932f7 commit 23ed770
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 14 deletions.
4 changes: 2 additions & 2 deletions Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.2.3.0")]
[assembly: AssemblyFileVersion("2.2.3.0")]
[assembly: AssemblyVersion("2.2.4.0")]
[assembly: AssemblyFileVersion("2.2.4.0")]
2 changes: 1 addition & 1 deletion Sites/API/Flixster/FlixsterMovie.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class FlixsterMovie
public string Title { get; set; }

[DataMember(Name = "year")]
public int Year { get; set; }
public string Year { get; set; }

[DataMember(Name = "synopsis")]
public string Synopsis { get; set; }
Expand Down
22 changes: 11 additions & 11 deletions Sites/Flixster.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public void ImportRatings()
if (lCurrentUserMovieRatings != null)
{
UIUtils.UpdateStatus("Found {0} user movie ratings on trakt.tv", lCurrentUserMovieRatings.Count());
lMovieRatings.RemoveAll(r => lCurrentUserMovieRatings.Any(c => c.Movie.Title.ToLowerInvariant() == r.Movie.Title.ToLowerInvariant() && c.Movie.Year == r.Movie.Year));
lMovieRatings.RemoveAll(r => lCurrentUserMovieRatings.Any(c => c.Movie.Title.ToLowerInvariant() == r.Movie.Title.ToLowerInvariant() && c.Movie.Year == r.Movie.Year.ToYear()));
}

UIUtils.UpdateStatus("Importing {0} new movie ratings to trakt.tv", lMovieRatings.Count());
Expand Down Expand Up @@ -177,7 +177,7 @@ public void ImportRatings()
UIUtils.UpdateStatus("Found {0} watched movies on trakt", lWatchedTraktMovies.Count());
UIUtils.UpdateStatus("Filtering out watched movies that are already watched on trakt.tv");

lMoviesWatched.RemoveAll(w => lWatchedTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year));
lMoviesWatched.RemoveAll(w => lWatchedTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year.ToYear()));

// mark all rated movies as watched
UIUtils.UpdateStatus("Importing {0} Flixster movies as watched...", lMoviesWatched.Count);
Expand All @@ -186,7 +186,7 @@ public void ImportRatings()
int pages = (int)Math.Ceiling((double)lMoviesWatched.Count / pageSize);
for (int i = 0; i < pages; i++)
{
UIUtils.UpdateStatus("Importing page {0}/{1} IMDb movies as watched...", i + 1, pages);
UIUtils.UpdateStatus("Importing page {0}/{1} Flixster movies as watched...", i + 1, pages);

var response = TraktAPI.AddMoviesToWatchedHistory(GetSyncWatchedMoviesData(lMoviesWatched.Skip(i * pageSize).Take(pageSize).ToList()));
if (response == null)
Expand Down Expand Up @@ -221,7 +221,7 @@ public void ImportRatings()
{
UIUtils.UpdateStatus("Found {0} watchlist movies on trakt", lWatchlistTraktMovies.Count());
UIUtils.UpdateStatus("Filtering out watchlist movies that are already in watchlist on trakt.tv");
lAllMoviesWatchlist.RemoveAll(w => lWatchlistTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year));
lAllMoviesWatchlist.RemoveAll(w => lWatchlistTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year.ToYear()));
}
if (mImportCancelled) return;

Expand All @@ -238,27 +238,27 @@ public void ImportRatings()
UIUtils.UpdateStatus("Found {0} watched movies on trakt", lWatchedTraktMovies.Count());

// remove movies from sync list which are watched already
lAllMoviesWatchlist.RemoveAll(w => lWatchedTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year));
lAllMoviesWatchlist.RemoveAll(w => lWatchedTraktMovies.Any(t => t.Movie.Title.ToLowerInvariant() == w.Movie.Title.ToLowerInvariant() && t.Movie.Year == w.Movie.Year.ToYear()));
}
}
if (mImportCancelled) return;
}

// add all movies to watchlist
UIUtils.UpdateStatus("Importing {0} flixster wanttosee movies to trakt.tv watchlist...", lAllMoviesWatchlist.Count());
UIUtils.UpdateStatus("Importing {0} Flixster wanttosee movies to trakt.tv watchlist...", lAllMoviesWatchlist.Count());

if (lAllMoviesWatchlist.Count > 0)
{
int pageSize = AppSettings.BatchSize;
int pages = (int)Math.Ceiling((double)lAllMoviesWatchlist.Count / pageSize);
for (int i = 0; i < pages; i++)
{
UIUtils.UpdateStatus("Importing page {0}/{1} flixster wantlist movies to trakt.tv watchlist...", i + 1, pages);
UIUtils.UpdateStatus("Importing page {0}/{1} Flixster wantlist movies to trakt.tv watchlist...", i + 1, pages);

var watchlistMoviesResponse = TraktAPI.AddMoviesToWatchlist(GetSyncMoviesData(lAllMoviesWatchlist.Skip(i * pageSize).Take(pageSize).ToList()));
if (watchlistMoviesResponse == null)
{
UIUtils.UpdateStatus("Failed to send watchlist for flixster movies", true);
UIUtils.UpdateStatus("Failed to send watchlist for Flixster movies", true);
Thread.Sleep(2000);
}

Expand Down Expand Up @@ -289,7 +289,7 @@ private TraktMovieRatingSync GetSyncRateMoviesData(List<FlixsterMovieRating> aRa
select new TraktMovieRating
{
Title = ratedItem.Movie.Title,
Year = ratedItem.Movie.Year,
Year = ratedItem.Movie.Year.ToYear(),
Rating = (int)Math.Ceiling(float.Parse(ratedItem.UserScore, CultureInfo.InvariantCulture.NumberFormat) * 2),
RatedAt = GetDateUpdated(ratedItem)
});
Expand All @@ -310,7 +310,7 @@ private TraktMovieWatchedSync GetSyncWatchedMoviesData(List<FlixsterMovieRating>
select new TraktMovieWatched
{
Title = ratedItem.Movie.Title,
Year = ratedItem.Movie.Year,
Year = ratedItem.Movie.Year.ToYear(),
WatchedAt = AppSettings.WatchedOnReleaseDay ? "released" : GetDateUpdated(ratedItem)
});

Expand All @@ -330,7 +330,7 @@ private TraktMovieSync GetSyncMoviesData(List<FlixsterMovieRating> aMovieItems)
select new TraktMovie
{
Title = movieItem.Movie.Title,
Year = movieItem.Movie.Year,
Year = movieItem.Movie.Year.ToYear(),
});

var movieSyncData = new TraktMovieSync
Expand Down

0 comments on commit 23ed770

Please sign in to comment.