update people saving

This commit is contained in:
Luke Pulverenti
2015-06-28 21:10:45 -04:00
parent b3dd4beb8a
commit b1be09242c
90 changed files with 800 additions and 728 deletions

View File

@@ -14,7 +14,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
}
protected override void FetchDataFromXmlNode(XmlReader reader, BoxSet item)
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<BoxSet> item)
{
switch (reader.Name)
{
@@ -32,7 +32,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
private void FetchFromCollectionItemsNode(XmlReader reader, BoxSet item)
private void FetchFromCollectionItemsNode(XmlReader reader, MetadataResult<BoxSet> item)
{
reader.MoveToContent();
@@ -66,7 +66,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
item.LinkedChildren = list;
item.Item.LinkedChildren = list;
}
}
}

View File

@@ -1,13 +1,13 @@
using System;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Threading;
using System.Xml;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
namespace MediaBrowser.LocalMetadata.Parsers
{
@@ -17,7 +17,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
public class EpisodeXmlParser : BaseItemXmlParser<Episode>
{
private List<LocalImageInfo> _imagesFound;
private List<ChapterInfo> _chaptersFound;
public EpisodeXmlParser(ILogger logger)
: base(logger)
@@ -26,14 +25,12 @@ namespace MediaBrowser.LocalMetadata.Parsers
private string _xmlPath;
public void Fetch(Episode item,
public void Fetch(MetadataResult<Episode> item,
List<LocalImageInfo> images,
List<ChapterInfo> chapters,
string metadataFile,
CancellationToken cancellationToken)
{
_imagesFound = images;
_chaptersFound = chapters;
_xmlPath = metadataFile;
Fetch(item, metadataFile, cancellationToken);
@@ -45,16 +42,13 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, Episode item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Episode> result)
{
var item = result.Item;
switch (reader.Name)
{
case "Chapters":
_chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree()));
break;
case "Episode":
//MB generated metadata is within an "Episode" node
@@ -67,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
if (subTree.NodeType == XmlNodeType.Element)
{
FetchDataFromXmlNode(subTree, item);
FetchDataFromXmlNode(subTree, result);
}
}
@@ -263,7 +257,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -16,7 +16,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(GameSystem item, string metadataFile, CancellationToken cancellationToken)
public Task FetchAsync(MetadataResult<GameSystem> item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
@@ -29,9 +29,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, GameSystem item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<GameSystem> result)
{
var item = result.Item;
switch (reader.Name)
{
case "GameSystem":
@@ -56,7 +58,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -22,7 +22,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(Game item, string metadataFile, CancellationToken cancellationToken)
public Task FetchAsync(MetadataResult<Game> item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
@@ -35,9 +35,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, Game item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Game> result)
{
var item = result.Item;
switch (reader.Name)
{
case "GameSystem":
@@ -97,7 +99,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -1,43 +1,31 @@
using System.Collections.Generic;
using System.Threading;
using System.Xml;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System.Xml;
namespace MediaBrowser.LocalMetadata.Parsers
{
/// <summary>
/// Class EpisodeXmlParser
/// </summary>
public class MovieXmlParser : BaseItemXmlParser<Video>
public class BaseVideoXmlParser<T> : BaseItemXmlParser<T>
where T : Video
{
private List<ChapterInfo> _chaptersFound;
public MovieXmlParser(ILogger logger)
public BaseVideoXmlParser(ILogger logger)
: base(logger)
{
}
public void Fetch(Video item,
List<ChapterInfo> chapters,
string metadataFile,
CancellationToken cancellationToken)
{
_chaptersFound = chapters;
Fetch(item, metadataFile, cancellationToken);
}
/// <summary>
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, Video item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<T> result)
{
var item = result.Item;
switch (reader.Name)
{
case "TmdbCollectionName":
@@ -53,15 +41,25 @@ namespace MediaBrowser.LocalMetadata.Parsers
break;
}
case "Chapters":
_chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree()));
break;
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}
}
public class MovieXmlParser : BaseVideoXmlParser<Movie>
{
public MovieXmlParser(ILogger logger) : base(logger)
{
}
}
public class VideoXmlParser : BaseVideoXmlParser<Video>
{
public VideoXmlParser(ILogger logger)
: base(logger)
{
}
}
}

View File

@@ -6,7 +6,7 @@ using System.Xml;
namespace MediaBrowser.LocalMetadata.Parsers
{
public class MusicVideoXmlParser : BaseItemXmlParser<MusicVideo>
public class MusicVideoXmlParser : BaseVideoXmlParser<MusicVideo>
{
/// <summary>
/// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class.
@@ -21,9 +21,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MusicVideo item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<MusicVideo> result)
{
var item = result.Item;
switch (reader.Name)
{
case "Artist":
@@ -44,7 +46,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
break;
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -16,8 +16,10 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
}
protected override void FetchDataFromXmlNode(XmlReader reader, Playlist item)
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Playlist> result)
{
var item = result.Item;
switch (reader.Name)
{
case "OwnerUserId":
@@ -59,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
break;
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -16,9 +16,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, Season item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Season> result)
{
var item = result.Item;
switch (reader.Name)
{
case "SeasonNumber":
@@ -38,7 +40,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -26,9 +26,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
/// <param name="item">The item.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, Series item)
/// <param name="result">The result.</param>
protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Series> result)
{
var item = result.Item;
switch (reader.Name)
{
case "Series":
@@ -42,7 +44,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
if (subTree.NodeType == XmlNodeType.Element)
{
FetchDataFromXmlNode(subTree, item);
FetchDataFromXmlNode(subTree, result);
}
}
@@ -110,7 +112,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
default:
base.FetchDataFromXmlNode(reader, item);
base.FetchDataFromXmlNode(reader, result);
break;
}
}

View File

@@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<BoxSet> result, string path, CancellationToken cancellationToken)
{
new BoxSetXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new BoxSetXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -25,10 +25,9 @@ namespace MediaBrowser.LocalMetadata.Providers
var images = new List<LocalImageInfo>();
var chapters = new List<ChapterInfo>();
new EpisodeXmlParser(_logger).Fetch(result.Item, images, chapters, path, cancellationToken);
new EpisodeXmlParser(_logger).Fetch(result, images, path, cancellationToken);
result.Images = images;
result.Chapters = chapters;
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -22,7 +22,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Folder> result, string path, CancellationToken cancellationToken)
{
new BaseItemXmlParser<Folder>(_logger).Fetch(result.Item, path, cancellationToken);
new BaseItemXmlParser<Folder>(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<GameSystem> result, string path, CancellationToken cancellationToken)
{
new GameSystemXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new GameSystemXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Game> result, string path, CancellationToken cancellationToken)
{
new GameXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new GameXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -2,9 +2,7 @@
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Providers;
using MediaBrowser.LocalMetadata.Parsers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
using System.IO;
using System.Threading;
@@ -22,11 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Movie> result, string path, CancellationToken cancellationToken)
{
var chapters = new List<ChapterInfo>();
new MovieXmlParser(_logger).Fetch(result.Item, chapters, path, cancellationToken);
result.Chapters = chapters;
new MovieXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<MusicVideo> result, string path, CancellationToken cancellationToken)
{
new MusicVideoXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new MusicVideoXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -19,7 +19,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Person> result, string path, CancellationToken cancellationToken)
{
new BaseItemXmlParser<Person>(_logger).Fetch(result.Item, path, cancellationToken);
new BaseItemXmlParser<Person>(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -20,7 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Playlist> result, string path, CancellationToken cancellationToken)
{
new PlaylistXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new PlaylistXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Season> result, string path, CancellationToken cancellationToken)
{
new SeasonXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new SeasonXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -23,7 +23,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Series> result, string path, CancellationToken cancellationToken)
{
new SeriesXmlParser(_logger).Fetch(result.Item, path, cancellationToken);
new SeriesXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)

View File

@@ -1,12 +1,10 @@
using System.Collections.Generic;
using System.IO;
using System.Threading;
using MediaBrowser.Common.IO;
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
using MediaBrowser.LocalMetadata.Parsers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System.IO;
using System.Threading;
namespace MediaBrowser.LocalMetadata.Providers
{
@@ -22,11 +20,7 @@ namespace MediaBrowser.LocalMetadata.Providers
protected override void Fetch(LocalMetadataResult<Video> result, string path, CancellationToken cancellationToken)
{
var chapters = new List<ChapterInfo>();
new MovieXmlParser(_logger).Fetch(result.Item, chapters, path, cancellationToken);
result.Chapters = chapters;
new VideoXmlParser(_logger).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)