예제 #1
0
        protected override DateTime CompareDate(BaseItem item)
        {
            var id = item.GetProviderId(MetadataProviders.Tvdb);

            if (!string.IsNullOrEmpty(id))
            {
                // Process images
                var path = GetSeriesDataPath(ConfigurationManager.ApplicationPaths, id);

                var files = new DirectoryInfo(path)
                    .EnumerateFiles("*.xml", SearchOption.TopDirectoryOnly)
                    .Select(i => i.LastWriteTimeUtc)
                    .ToArray();

                if (files.Length > 0)
                {
                    return files.Max();
                }
            }

            return base.CompareDate(item);
        }
예제 #2
0
        protected override bool NeedsRefreshBasedOnCompareDate(BaseItem item, BaseProviderInfo providerInfo)
        {
            var seriesId = item.GetProviderId(MetadataProviders.Tvdb);

            if (!string.IsNullOrEmpty(seriesId))
            {
                // Process images
                var path = GetSeriesDataPath(ConfigurationManager.ApplicationPaths, seriesId);

                try
                {
                    var files = new DirectoryInfo(path)
                        .EnumerateFiles("*.xml", SearchOption.TopDirectoryOnly)
                        .Select(i => _fileSystem.GetLastWriteTimeUtc(i))
                        .ToList();

                    if (files.Count > 0)
                    {
                        return files.Max() > providerInfo.LastRefreshed;
                    }
                }
                catch (DirectoryNotFoundException)
                {
                    // Don't blow up
                    return true;
                }
            }

            return base.NeedsRefreshBasedOnCompareDate(item, providerInfo);
        }
예제 #3
0
        protected override DateTime CompareDate(BaseItem item)
        {
            var musicBrainzId = item.GetProviderId(MetadataProviders.Musicbrainz);

            if (!string.IsNullOrEmpty(musicBrainzId))
            {
                // Process images
                var path = GetArtistDataPath(ConfigurationManager.ApplicationPaths, musicBrainzId);

                var files = new DirectoryInfo(path)
                    .EnumerateFiles("*.xml", SearchOption.TopDirectoryOnly)
                    .Select(i => i.LastWriteTimeUtc)
                    .ToList();

                if (files.Count > 0)
                {
                    return files.Max();
                }
            }

            return base.CompareDate(item);
        }