update polymer

This commit is contained in:
Luke Pulverenti
2015-07-23 22:48:10 -04:00
parent ba9ed26c4a
commit 609d2283c6
9 changed files with 166 additions and 35 deletions

View File

@@ -194,6 +194,15 @@ namespace MediaBrowser.Providers.Manager
return updateType;
}
protected async Task SaveItem(MetadataResult<TItemType> result, ItemUpdateType reason, CancellationToken cancellationToken)
{
if (result.Item.SupportsPeople && result.People != null)
{
await LibraryManager.UpdatePeople(result.Item as BaseItem, result.People.ToList());
}
await result.Item.UpdateToRepository(reason, cancellationToken).ConfigureAwait(false);
}
private readonly Task _cachedTask = Task.FromResult(true);
protected virtual Task AfterMetadataRefresh(TItemType item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
{
@@ -328,15 +337,6 @@ namespace MediaBrowser.Providers.Manager
return providers;
}
protected async Task SaveItem(MetadataResult<TItemType> result, ItemUpdateType reason, CancellationToken cancellationToken)
{
if (result.Item.SupportsPeople)
{
await LibraryManager.UpdatePeople(result.Item as BaseItem, result.People);
}
await result.Item.UpdateToRepository(reason, cancellationToken).ConfigureAwait(false);
}
public bool CanRefresh(IHasMetadata item)
{
return item is TItemType;

View File

@@ -105,9 +105,9 @@ namespace MediaBrowser.Providers.Manager
if (!lockedFields.Contains(MetadataFields.Cast))
{
if (replaceData || targetResult.People.Count == 0)
if (replaceData || targetResult.People == null || targetResult.People.Count == 0)
{
targetResult.People = sourceResult.People;
targetResult.People = sourceResult.People ?? new List<PersonInfo>();
}
}

View File

@@ -231,13 +231,15 @@ namespace MediaBrowser.Providers.Movies
movie.AddGenre(genre);
}
resultItem.ResetPeople();
//Actors, Directors, Writers - all in People
//actors come from cast
if (movieData.casts != null && movieData.casts.cast != null)
{
foreach (var actor in movieData.casts.cast.OrderBy(a => a.order))
{
PeopleHelper.AddPerson(resultItem.People, new PersonInfo { Name = actor.name.Trim(), Role = actor.character, Type = PersonType.Actor, SortOrder = actor.order });
resultItem.AddPerson(new PersonInfo { Name = actor.name.Trim(), Role = actor.character, Type = PersonType.Actor, SortOrder = actor.order });
}
}
@@ -246,7 +248,7 @@ namespace MediaBrowser.Providers.Movies
{
foreach (var person in movieData.casts.crew)
{
PeopleHelper.AddPerson(resultItem.People, new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = person.department });
resultItem.AddPerson(new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = person.department });
}
}

View File

@@ -330,6 +330,8 @@ namespace MediaBrowser.Providers.TV
{
reader.MoveToContent();
result.ResetPeople();
// Loop through each element
while (reader.Read())
{
@@ -603,7 +605,7 @@ namespace MediaBrowser.Providers.TV
.Where(i => !string.IsNullOrWhiteSpace(i))
.Select(str => new PersonInfo { Type = personType, Name = str.Trim() }))
{
PeopleHelper.AddPerson(result.People, person);
result.AddPerson(person);
}
}
@@ -632,7 +634,7 @@ namespace MediaBrowser.Providers.TV
{
if (!string.IsNullOrWhiteSpace(person.Name))
{
PeopleHelper.AddPerson(result.People, person);
result.AddPerson(person);
}
}
}

View File

@@ -180,6 +180,8 @@ namespace MediaBrowser.Providers.TV
cancellationToken.ThrowIfCancellationRequested();
result.ResetPeople();
FetchActors(result, actorsXmlPath);
}
@@ -721,7 +723,7 @@ namespace MediaBrowser.Providers.TV
if (!string.IsNullOrWhiteSpace(personInfo.Name))
{
PeopleHelper.AddPerson(result.People, personInfo);
result.AddPerson(personInfo);
}
}