aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/TV/TvdbSeriesProvider.cs')
-rw-r--r--MediaBrowser.Providers/TV/TvdbSeriesProvider.cs16
1 files changed, 11 insertions, 5 deletions
diff --git a/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs b/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs
index a76e101113..f9ebaddf83 100644
--- a/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbSeriesProvider.cs
@@ -25,7 +25,8 @@ namespace MediaBrowser.Providers.TV
{
public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
{
- internal const string TvdbSeriesOffset = "TvdbSeriesOffset";
+ private const string TvdbSeriesOffset = "TvdbSeriesOffset";
+ private const string TvdbSeriesOffsetFormat = "{0}-{1}";
internal readonly SemaphoreSlim TvDbResourcePool = new SemaphoreSlim(2, 2);
internal static TvdbSeriesProvider Current { get; private set; }
@@ -109,17 +110,22 @@ namespace MediaBrowser.Providers.TV
return;
var offset = info.AnimeSeriesIndex - index;
- series.SetProviderId(TvdbSeriesOffset, offset.ToString());
+ var id = string.Format(TvdbSeriesOffsetFormat, series.GetProviderId(MetadataProviders.Tvdb), offset);
+ series.SetProviderId(TvdbSeriesOffset, id);
}
internal static int? GetSeriesOffset(Dictionary<string, string> seriesProviderIds)
{
- string offsetString;
- if (!seriesProviderIds.TryGetValue(TvdbSeriesOffset, out offsetString))
+ string idString;
+ if (!seriesProviderIds.TryGetValue(TvdbSeriesOffset, out idString))
+ return null;
+
+ var parts = idString.Split('-');
+ if (parts.Length < 2)
return null;
int offset;
- if (int.TryParse(offsetString, out offset))
+ if (int.TryParse(parts[1], out offset))
return offset;
return null;