mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-21 06:20:53 -04:00
Async'd xml parsing - more to come on that
This commit is contained in:
parent
76f4b2adc9
commit
3dc824e1a4
@ -17,18 +17,15 @@ namespace MediaBrowser.Controller.Xml
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fetches metadata for an item from one xml file
|
/// Fetches metadata for an item from one xml file
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Task Fetch(T item, string metadataFile)
|
public async Task Fetch(T item, string metadataFile)
|
||||||
{
|
|
||||||
// Wrapping this for now until I have a chance to async the whole process
|
|
||||||
return Task.Run(() =>
|
|
||||||
{
|
{
|
||||||
// Use XmlReader for best performance
|
// Use XmlReader for best performance
|
||||||
using (XmlReader reader = XmlReader.Create(metadataFile))
|
using (XmlReader reader = XmlReader.Create(metadataFile, new XmlReaderSettings() { Async = true }))
|
||||||
{
|
{
|
||||||
reader.MoveToContent();
|
await reader.MoveToContentAsync();
|
||||||
|
|
||||||
// Loop through each element
|
// Loop through each element
|
||||||
while (reader.Read())
|
while (await reader.ReadAsync())
|
||||||
{
|
{
|
||||||
if (reader.NodeType == XmlNodeType.Element)
|
if (reader.NodeType == XmlNodeType.Element)
|
||||||
{
|
{
|
||||||
@ -47,7 +44,6 @@ namespace MediaBrowser.Controller.Xml
|
|||||||
{
|
{
|
||||||
item.DateModified = File.GetLastWriteTime(metadataFile);
|
item.DateModified = File.GetLastWriteTime(metadataFile);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user