mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-05 07:18:47 +01:00
Made xml fetching task-based
This commit is contained in:
parent
c658ea7feb
commit
874469d476
@@ -19,21 +19,18 @@ namespace MediaBrowser.TV.Providers
|
||||
return item is Episode;
|
||||
}
|
||||
|
||||
public override Task Fetch(BaseItem item, ItemResolveEventArgs args)
|
||||
public async override Task Fetch(BaseItem item, ItemResolveEventArgs args)
|
||||
{
|
||||
return Task.Run(() =>
|
||||
{
|
||||
string metadataFolder = Path.Combine(args.Parent.Path, "metadata");
|
||||
string metadataFolder = Path.Combine(args.Parent.Path, "metadata");
|
||||
|
||||
string episodeFileName = Path.GetFileName(item.Path);
|
||||
string episodeFileName = Path.GetFileName(item.Path);
|
||||
|
||||
string metadataFile = Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".xml"));
|
||||
string metadataFile = Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".xml"));
|
||||
|
||||
FetchMetadata(item as Episode, args.Parent as Season, metadataFile);
|
||||
});
|
||||
await FetchMetadata(item as Episode, args.Parent as Season, metadataFile);
|
||||
}
|
||||
|
||||
private void FetchMetadata(Episode item, Season season, string metadataFile)
|
||||
private async Task FetchMetadata(Episode item, Season season, string metadataFile)
|
||||
{
|
||||
if (season == null)
|
||||
{
|
||||
@@ -52,7 +49,7 @@ namespace MediaBrowser.TV.Providers
|
||||
}
|
||||
}
|
||||
|
||||
new EpisodeXmlParser().Fetch(item, metadataFile);
|
||||
await new EpisodeXmlParser().Fetch(item, metadataFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Controller.Events;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Controller.Xml;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.TV.Entities;
|
||||
using MediaBrowser.TV.Metadata;
|
||||
|
||||
namespace MediaBrowser.TV.Providers
|
||||
{
|
||||
@@ -16,17 +16,14 @@ namespace MediaBrowser.TV.Providers
|
||||
return item is Series;
|
||||
}
|
||||
|
||||
public override Task Fetch(BaseItem item, ItemResolveEventArgs args)
|
||||
public async override Task Fetch(BaseItem item, ItemResolveEventArgs args)
|
||||
{
|
||||
return Task.Run(() =>
|
||||
{
|
||||
var metadataFile = args.GetFileByName("series.xml");
|
||||
var metadataFile = args.GetFileByName("series.xml");
|
||||
|
||||
if (metadataFile.HasValue)
|
||||
{
|
||||
new BaseItemXmlParser<Series>().Fetch(item as Series, metadataFile.Value.Key);
|
||||
}
|
||||
});
|
||||
if (metadataFile.HasValue)
|
||||
{
|
||||
await new SeriesXmlParser().Fetch(item as Series, metadataFile.Value.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user