public SeriesInfo GetSeriesInfoSync(string seriesId) { if (string.IsNullOrEmpty(seriesId)) { return(null); } if (DataCache.TryGetValue <SeriesInfo>($"series:{seriesId}", out var info)) { return(info); } var series = ShokoAPI.GetSeries(seriesId).GetAwaiter().GetResult(); return(CreateSeriesInfo(series, seriesId).GetAwaiter().GetResult()); }
public async Task <SeriesInfo> GetSeriesInfo(string seriesId) { if (string.IsNullOrEmpty(seriesId)) { return(null); } if (DataCache.TryGetValue <SeriesInfo>($"series:{seriesId}", out var info)) { return(info); } var series = await ShokoAPI.GetSeries(seriesId); return(await CreateSeriesInfo(series, seriesId)); }
public async Task <SeriesInfo> GetSeriesInfoByPath(string path) { var partialPath = StripMediaFolder(path); string seriesId; if (SeriesPathToIdDictionary.ContainsKey(path)) { seriesId = SeriesPathToIdDictionary[path]; } else { var result = await ShokoAPI.GetSeriesPathEndsWith(partialPath); seriesId = result?.FirstOrDefault()?.IDs?.ID.ToString(); SeriesPathToIdDictionary[path] = seriesId; if (!string.IsNullOrEmpty(seriesId)) { SeriesIdToPathDictionary[seriesId] = path; } } if (string.IsNullOrEmpty(seriesId)) { return(null); } if (DataCache.TryGetValue <SeriesInfo>($"series:{seriesId}", out var info)) { return(info); } var series = await ShokoAPI.GetSeries(seriesId); return(await CreateSeriesInfo(series, seriesId)); }