/// <summary> /// Sets the persisted last refresh date on the item for this provider. /// </summary> /// <param name="item">The item.</param> /// <param name="value">The value.</param> /// <param name="providerVersion">The provider version.</param> /// <param name="status">The status.</param> /// <exception cref="System.ArgumentNullException">item</exception> public virtual void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success) { if (item == null) { throw new ArgumentNullException("item"); } BaseProviderInfo data; if (!item.ProviderData.TryGetValue(Id, out data)) { data = new BaseProviderInfo(); } data.LastRefreshed = value; data.LastRefreshStatus = status; data.ProviderVersion = providerVersion; // Save the file system stamp for future comparisons if (RefreshOnFileSystemStampChange && item.LocationType == LocationType.FileSystem) { try { data.FileStamp = GetCurrentFileSystemStamp(item); } catch (IOException ex) { Logger.ErrorException("Error getting file stamp for {0}", ex, item.Path); } } item.ProviderData[Id] = data; }
public void AddStatus(ProviderRefreshStatus status, string errorMessage) { if (LastStatus != status) { IsDirty = true; } if (string.IsNullOrEmpty(LastErrorMessage)) { LastErrorMessage = errorMessage; } if (LastStatus == ProviderRefreshStatus.Success) { LastStatus = status; } }
/// <summary> /// Sets the last refreshed. /// </summary> /// <param name="item">The item.</param> /// <param name="value">The value.</param> /// <param name="status">The status.</param> public void SetLastRefreshed(BaseItem item, DateTime value, ProviderRefreshStatus status = ProviderRefreshStatus.Success) { SetLastRefreshed(item, value, ProviderVersion, status); }
/// <summary> /// Sets the persisted last refresh date on the item for this provider. /// </summary> /// <param name="item">The item.</param> /// <param name="value">The value.</param> /// <param name="providerVersion">The provider version.</param> /// <param name="status">The status.</param> /// <exception cref="System.ArgumentNullException">item</exception> public virtual void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success) { if (item == null) { throw new ArgumentNullException("item"); } var data = item.ProviderData.GetValueOrDefault(Id, new BaseProviderInfo { ProviderId = Id }); data.LastRefreshed = value; data.LastRefreshStatus = status; data.ProviderVersion = providerVersion; // Save the file system stamp for future comparisons if (RefreshOnFileSystemStampChange) { data.FileSystemStamp = GetCurrentFileSystemStamp(item); } item.ProviderData[Id] = data; }
/// <summary> /// Sets the persisted last refresh date on the item for this provider. /// </summary> /// <param name="item">The item.</param> /// <param name="value">The value.</param> /// <param name="providerVersion">The provider version.</param> /// <param name="status">The status.</param> public override void SetLastRefreshed(BaseItem item, DateTime value, string providerVersion, ProviderRefreshStatus status = ProviderRefreshStatus.Success) { base.SetLastRefreshed(item, value, providerVersion, status); if (ConfigurationManager.Configuration.SaveLocalMeta && item.LocationType == LocationType.FileSystem) { //in addition to ours, we need to set the last refreshed time for the local data provider //so it won't see the new files we download and process them all over again if (JsonProvider == null) JsonProvider = new MovieProviderFromJson(LogManager, ConfigurationManager, JsonSerializer, HttpClient, ProviderManager); BaseProviderInfo data; if (!item.ProviderData.TryGetValue(JsonProvider.Id, out data)) { data = new BaseProviderInfo(); } data.LastRefreshed = value; item.ProviderData[JsonProvider.Id] = data; } }