diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-10 13:28:03 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-10 13:28:03 -0400 |
| commit | 4e816552395c1b57868ccd29f6f2e9b70d7272a5 (patch) | |
| tree | 6ab816e59c9e32f56d726b04e068cf1367269097 /MediaBrowser.Server.Implementations | |
| parent | b9a2af1fd523e22f387e3130bf68b09e4369600f (diff) | |
updated mono build
Diffstat (limited to 'MediaBrowser.Server.Implementations')
4 files changed, 55 insertions, 14 deletions
diff --git a/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifications.cs b/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifications.cs index fdc81db37..242e81d1f 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifications.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifications.cs @@ -6,6 +6,7 @@ using MediaBrowser.Common.Updates; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Notifications; using MediaBrowser.Controller.Plugins; @@ -257,7 +258,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications NotificationType = NotificationType.NewLibraryContent.ToString() }; - notification.Variables["Name"] = item.Name; + notification.Variables["Name"] = GetItemName(item); await SendNotification(notification).ConfigureAwait(false); } @@ -274,6 +275,31 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications } } + private string GetItemName(BaseItem item) + { + var name = item.Name; + + var hasSeries = item as IHasSeries; + + if (hasSeries != null) + { + name = hasSeries.SeriesName + " - " + name; + } + + var hasArtist = item as IHasArtist; + if (hasArtist != null) + { + var artists = hasArtist.AllArtists; + + if (artists.Count > 0) + { + name = hasArtist.AllArtists[0] + " - " + name; + } + } + + return name; + } + async void _userManager_UserCreated(object sender, GenericEventArgs<User> e) { var notification = new NotificationRequest @@ -286,9 +312,9 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications await SendNotification(notification).ConfigureAwait(false); } - async void _taskManager_TaskCompleted(object sender, GenericEventArgs<TaskResult> e) + async void _taskManager_TaskCompleted(object sender, TaskCompletionEventArgs e) { - var result = e.Argument; + var result = e.Result; if (result.Status == TaskCompletionStatus.Failed) { @@ -301,8 +327,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications NotificationType = type }; - notification.Variables["Name"] = e.Argument.Name; - notification.Variables["ErrorMessage"] = e.Argument.ErrorMessage; + notification.Variables["Name"] = result.Name; + notification.Variables["ErrorMessage"] = result.ErrorMessage; await SendNotification(notification).ConfigureAwait(false); } diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs index 54cd21cdf..d6ad7771b 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs @@ -106,9 +106,9 @@ namespace MediaBrowser.Server.Implementations.EntryPoints _serverManager.SendWebSocketMessage("PackageInstallationFailed", e.InstallationInfo); } - void _taskManager_TaskCompleted(object sender, GenericEventArgs<TaskResult> e) + void _taskManager_TaskCompleted(object sender, TaskCompletionEventArgs e) { - _serverManager.SendWebSocketMessage("ScheduledTaskEnded", e.Argument); + _serverManager.SendWebSocketMessage("ScheduledTaskEnded", e.Result); } /// <summary> diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs index 7ae87684a..ac1c5ef55 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteDisplayPreferencesRepository.cs @@ -191,10 +191,12 @@ namespace MediaBrowser.Server.Implementations.Persistence throw new ArgumentNullException("displayPreferencesId"); } + var guidId = displayPreferencesId.GetMD5(); + var cmd = _connection.CreateCommand(); cmd.CommandText = "select data from userdisplaypreferences where id = @id and userId=@userId and client=@client"; - cmd.Parameters.Add(cmd, "@id", DbType.Guid).Value = displayPreferencesId.GetMD5(); + cmd.Parameters.Add(cmd, "@id", DbType.Guid).Value = guidId; cmd.Parameters.Add(cmd, "@userId", DbType.Guid).Value = userId; cmd.Parameters.Add(cmd, "@client", DbType.String).Value = client; @@ -209,7 +211,10 @@ namespace MediaBrowser.Server.Implementations.Persistence } } - return null; + return new DisplayPreferences + { + Id = guidId.ToString("N") + }; } /// <summary> diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index ea709cd24..d2a047b42 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -282,7 +282,18 @@ namespace MediaBrowser.Server.Implementations.Session if (!string.IsNullOrWhiteSpace(info.ItemId) && libraryItem != null) { - info.Item = GetItemInfo(libraryItem, runtimeTicks, libraryItem, info.MediaSourceId); + var current = session.NowPlayingItem; + + if (current == null || !string.Equals(current.Id, info.ItemId, StringComparison.OrdinalIgnoreCase)) + { + info.Item = GetItemInfo(libraryItem, libraryItem, info.MediaSourceId); + } + else + { + info.Item = current; + } + + info.Item.RunTimeTicks = runtimeTicks; } session.NowPlayingItem = info.Item; @@ -1182,12 +1193,11 @@ namespace MediaBrowser.Server.Implementations.Session /// Converts a BaseItem to a BaseItemInfo /// </summary> /// <param name="item">The item.</param> - /// <param name="runtimeTicks">The now playing runtime ticks.</param> /// <param name="chapterOwner">The chapter owner.</param> /// <param name="mediaSourceId">The media source identifier.</param> /// <returns>BaseItemInfo.</returns> /// <exception cref="System.ArgumentNullException">item</exception> - private BaseItemInfo GetItemInfo(BaseItem item, long? runtimeTicks, BaseItem chapterOwner, string mediaSourceId) + private BaseItemInfo GetItemInfo(BaseItem item, BaseItem chapterOwner, string mediaSourceId) { if (item == null) { @@ -1200,7 +1210,7 @@ namespace MediaBrowser.Server.Implementations.Session Name = item.Name, MediaType = item.MediaType, Type = item.GetClientTypeName(), - RunTimeTicks = runtimeTicks, + RunTimeTicks = item.RunTimeTicks, IndexNumber = item.IndexNumber, ParentIndexNumber = item.ParentIndexNumber, PremiereDate = item.PremiereDate, @@ -1376,7 +1386,7 @@ namespace MediaBrowser.Server.Implementations.Session { var item = _libraryManager.GetItemById(new Guid(itemId)); - var info = GetItemInfo(item, item.RunTimeTicks, null, null); + var info = GetItemInfo(item, null, null); ReportNowViewingItem(sessionId, info); } |
