added artist/slbum xml savers

This commit is contained in:
Luke Pulverenti
2013-06-23 14:55:30 -04:00
parent 41f84fc6b2
commit 10caa7ff83
20 changed files with 441 additions and 210 deletions

View File

@@ -1142,6 +1142,19 @@ namespace MediaBrowser.Controller.Entities
}
}
public void AddTag(string name)
{
if (string.IsNullOrWhiteSpace(name))
{
throw new ArgumentNullException("name");
}
if (!Tags.Contains(name, StringComparer.OrdinalIgnoreCase))
{
Tags.Add(name);
}
}
/// <summary>
/// Adds a tagline to the item
/// </summary>

View File

@@ -65,6 +65,7 @@ namespace MediaBrowser.Controller.Providers
item.Studios.Clear();
item.Genres.Clear();
item.People.Clear();
item.Tags.Clear();
// Use european encoding as it will accept more characters
using (var streamReader = new StreamReader(metadataFile, Encoding.GetEncoding("ISO-8859-1")))
@@ -397,6 +398,7 @@ namespace MediaBrowser.Controller.Providers
break;
}
case "PremiereDate":
case "FirstAired":
{
var firstAired = reader.ReadElementContentAsString();
@@ -453,6 +455,10 @@ namespace MediaBrowser.Controller.Providers
FetchFromGenresNode(reader.ReadSubtree(), item);
break;
case "Tags":
FetchFromTagsNode(reader.ReadSubtree(), item);
break;
case "Persons":
FetchDataFromPersonsNode(reader.ReadSubtree(), item);
break;
@@ -539,6 +545,35 @@ namespace MediaBrowser.Controller.Providers
}
}
private void FetchFromTagsNode(XmlReader reader, T item)
{
reader.MoveToContent();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
case "Tag":
{
var tag = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(tag))
{
item.AddTagline(tag);
}
break;
}
default:
reader.Skip();
break;
}
}
}
}
/// <summary>
/// Fetches the data from persons node.
/// </summary>