Ejemplo n.º 1
0
        /// <summary>
        /// Gets detailed information about a series.
        /// </summary>
        /// <param name="id">ID of series to get details for.</param>
        /// <param name="request">API request object to use.</param>
        /// <returns>Detailed series object.</returns>
        public static TvdbDetailedSeries GetDetailedSeries(uint id, TvdbApiRequest request)
        {
            Debug.WriteLine("-> TvdbDetailedSeries::GetDetailedSeries id=\"" + id + "\" request=\"" + request + "\" Called");
            var cacheKey = id + "~series";

            return(request.PerformApiRequestAndDeserialize <TvdbDetailedSeries>(GetExtendedSeriesUrl(id, request.ApiKey), cacheKey));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Searches the TVDB for a series.
        /// </summary>
        /// <param name="series">Series to search for.</param>
        /// <param name="request">API request object to use.</param>
        /// <returns>An array of possible series.</returns>
        public static TvdbSeries[] GetTvdbSeriesSearch(string series, TvdbApiRequest request)
        {
            Debug.WriteLine("-> TvdbSeries::GetTvdbSeriesSearch series=\"" + series + "\" request=\"" + request + "\" Called");
            series = series.ToLower().Trim();
            var cacheKey     = series + "~search";
            var seriesSearch = request.PerformApiRequestAndDeserialize <SeriesSearch>(GetSeriesUrl(series), cacheKey, false, true);

            return(seriesSearch.Series);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Instantiates a new copy of the TVDB API helper class
        /// </summary>
        /// <param name="apiKey">API Key to use for lookups</param>
        /// <param name="cacheType">Type of cache to use. Defaults to memory and persistent.</param>
        /// <param name="persistentCacheLocation">Location of persistent cache (if one is to be used).</param>
        public Tvdb(string apiKey, TvdbCacheType cacheType = TvdbCacheType.PersistentMemory, string persistentCacheLocation = null)
        {
            Debug.WriteLine("-> Tvdb::_cstr apiKey=\"" + apiKey + "\" cacheType=\"" + cacheType + "\" persistentCacheLocation=\"" + persistentCacheLocation + "\" Called");
            // Create the cache
            var tvdbCacheProvider = new TvdbCacheProvider(cacheType, persistentCacheLocation);

            // Create request object
            TvdbApiRequest = new TvdbApiRequest(apiKey, tvdbCacheProvider);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the current TVDB epoch time.
        /// </summary>
        /// <param name="request">Request to use.</param>
        /// <param name="previousTime">Previous time.</param>
        /// <returns>A TvdbApiTime representation.</returns>
        public static TvdbApiTime TvdbServerTime(TvdbApiRequest request, uint previousTime)
        {
            Debug.WriteLine("-> TvdbApiTime::TvdbServerTime request=\"" + request + "\" previousTime=\"" + previousTime + " Called");
            var ut = request.CacheProvider.CacheType == TvdbCacheType.None || previousTime == 0 ? UpdateType.Time : UpdateType.All;
            var st = request.PerformApiRequestAndDeserialize <TvdbApiTime>(GetUpdateUrl(ut, previousTime), string.Empty, true, true);

            if (st.Series != null)
            {
                st.Series.Sort();
            }
            if (st.Episodes != null)
            {
                st.Episodes.Sort();
            }
            return(st);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Gets indepth information about the current series.
 /// </summary>
 /// <param name="request">API requester to use.</param>
 /// <returns>Detailed series information.</returns>
 public TvdbDetailedSeries GetDetailedInformation(TvdbApiRequest request)
 {
     Debug.WriteLine("-> TvdbSeries::GetDetailedInformation request=\"" + request + "\" Called");
     return(TvdbDetailedSeries.GetDetailedSeries(TvdbId, request));
 }