aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-08-28 00:19:08 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-08-28 00:19:08 -0400
commita0c3bb03809612763f7b06d4f82d2a44a6ed4182 (patch)
tree641b7a3fdfd906d07237fc60b681864c26b040fe /MediaBrowser.Server.Implementations
parent64945eb171f691cc6de6371ad48be178eb38d5c6 (diff)
update live tv image
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Connect/ConnectManager.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/MusicManager.cs18
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj8
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs46
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs8
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs39
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/1.jpgbin62382 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/2.jpgbin20550 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/3.jpgbin27983 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/4.jpgbin75468 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/5.jpgbin50933 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/6.jpgbin15931 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/7.jpgbin19916 -> 0 bytes
-rw-r--r--MediaBrowser.Server.Implementations/UserViews/livetv/8.jpgbin67721 -> 0 bytes
15 files changed, 74 insertions, 49 deletions
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs
index 973519a77..8a659fb65 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs
@@ -41,7 +41,7 @@ namespace MediaBrowser.Server.Implementations.Connect
_timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(5), TimeSpan.FromHours(3));
}
- private readonly string[] _ipLookups = { "http://bot.whatismyipaddress.com", "https://connect.mediabrowser.tv/service/ip" };
+ private readonly string[] _ipLookups = { "http://bot.whatismyipaddress.com", "https://connect.emby.media/service/ip" };
private async void TimerCallback(object state)
{
diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
index 4569503c0..7cd96c5f3 100644
--- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
+++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
@@ -371,7 +371,7 @@ namespace MediaBrowser.Server.Implementations.Connect
private string GetConnectUrl(string handler)
{
- return "https://connect.mediabrowser.tv/service/" + handler;
+ return "https://connect.emby.media/service/" + handler;
}
public async Task<UserLinkResult> LinkUser(string userId, string connectUsername)
diff --git a/MediaBrowser.Server.Implementations/Library/MusicManager.cs b/MediaBrowser.Server.Implementations/Library/MusicManager.cs
index b83256342..683e6c5cc 100644
--- a/MediaBrowser.Server.Implementations/Library/MusicManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/MusicManager.cs
@@ -52,6 +52,18 @@ namespace MediaBrowser.Server.Implementations.Library
return GetInstantMixFromGenres(genres, user);
}
+ public IEnumerable<Audio> GetInstantMixFromFolder(Folder item, User user)
+ {
+ var genres = item
+ .GetRecursiveChildren(user, i => i is Audio)
+ .Cast<Audio>()
+ .SelectMany(i => i.Genres)
+ .Concat(item.Genres)
+ .DistinctNames();
+
+ return GetInstantMixFromGenres(genres, user);
+ }
+
public IEnumerable<Audio> GetInstantMixFromPlaylist(Playlist item, User user)
{
var genres = item
@@ -113,6 +125,12 @@ namespace MediaBrowser.Server.Implementations.Library
{
return GetInstantMixFromSong(song, user);
}
+
+ var folder = item as Folder;
+ if (folder != null)
+ {
+ return GetInstantMixFromFolder(folder, user);
+ }
return new Audio[] { };
}
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index b2da2489d..f0312cef6 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -495,14 +495,6 @@
<Link>swagger-ui\swagger-ui.min.js</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <EmbeddedResource Include="UserViews\livetv\1.jpg" />
- <EmbeddedResource Include="UserViews\livetv\2.jpg" />
- <EmbeddedResource Include="UserViews\livetv\3.jpg" />
- <EmbeddedResource Include="UserViews\livetv\4.jpg" />
- <EmbeddedResource Include="UserViews\livetv\5.jpg" />
- <EmbeddedResource Include="UserViews\livetv\6.jpg" />
- <EmbeddedResource Include="UserViews\livetv\7.jpg" />
- <EmbeddedResource Include="UserViews\livetv\8.jpg" />
<EmbeddedResource Include="Localization\iso6392.txt" />
<EmbeddedResource Include="Localization\Ratings\be.txt" />
</ItemGroup>
diff --git a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs b/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs
index 7a993b7db..d913063c8 100644
--- a/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/CleanDatabaseScheduledTask.cs
@@ -46,9 +46,16 @@ namespace MediaBrowser.Server.Implementations.Persistence
public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress)
{
var innerProgress = new ActionableProgress<double>();
- innerProgress.RegisterAction(progress.Report);
+ innerProgress.RegisterAction(p => progress.Report(.95 * p));
await UpdateToLatestSchema(cancellationToken, innerProgress).ConfigureAwait(false);
+
+ innerProgress = new ActionableProgress<double>();
+ innerProgress.RegisterAction(p => progress.Report(95 + (.05 * p)));
+
+ //await CleanDeadItems(cancellationToken, innerProgress).ConfigureAwait(false);
+
+ progress.Report(100);
}
private async Task UpdateToLatestSchema(CancellationToken cancellationToken, IProgress<double> progress)
@@ -92,6 +99,43 @@ namespace MediaBrowser.Server.Implementations.Persistence
progress.Report(100);
}
+ private async Task CleanDeadItems(CancellationToken cancellationToken, IProgress<double> progress)
+ {
+ var itemIds = _libraryManager.GetItemIds(new InternalItemsQuery
+ {
+ HasDeadParentId = true
+ });
+
+ var numComplete = 0;
+ var numItems = itemIds.Count;
+
+ _logger.Debug("Cleaning {0} items with dead parent links", numItems);
+
+ foreach (var itemId in itemIds)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+
+ var item = _libraryManager.GetItemById(itemId);
+
+ if (item != null)
+ {
+ _logger.Debug("Cleaning item {0} type: {1} path: {2}", item.Name, item.GetType().Name, item.Path ?? string.Empty);
+
+ await _libraryManager.DeleteItem(item, new DeleteOptions
+ {
+ DeleteFileLocation = false
+ });
+ }
+
+ numComplete++;
+ double percent = numComplete;
+ percent /= numItems;
+ progress.Report(percent * 100);
+ }
+
+ progress.Report(100);
+ }
+
public IEnumerable<ITaskTrigger> GetDefaultTriggers()
{
return new ITaskTrigger[]
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 04f09602f..00ebf7ea6 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -1096,6 +1096,14 @@ namespace MediaBrowser.Server.Implementations.Persistence
}
}
+ if (query.HasDeadParentId.HasValue)
+ {
+ if (query.HasDeadParentId.Value)
+ {
+ whereClauses.Add("ParentId NOT NULL AND ParentId NOT IN (select guid from TypedBaseItems)");
+ }
+ }
+
if (addPaging)
{
if (query.StartIndex.HasValue && query.StartIndex.Value > 0)
diff --git a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
index b11a7d167..c2ddf3c43 100644
--- a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
@@ -11,8 +11,6 @@ using MediaBrowser.Server.Implementations.Photos;
using MoreLinq;
using System;
using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
using System.Linq;
using System.Threading.Tasks;
@@ -154,7 +152,6 @@ namespace MediaBrowser.Server.Implementations.UserViews
CollectionType.BoxSets,
CollectionType.Playlists,
CollectionType.Channels,
- CollectionType.LiveTv,
CollectionType.Books,
CollectionType.Photos,
CollectionType.HomeVideos,
@@ -170,7 +167,7 @@ namespace MediaBrowser.Server.Implementations.UserViews
var view = (UserView)item;
if (imageType == ImageType.Primary && IsUsingCollectionStrip(view))
{
- if (itemsWithImages.Count == 0 && !string.Equals(view.ViewType, CollectionType.LiveTv, StringComparison.OrdinalIgnoreCase))
+ if (itemsWithImages.Count == 0)
{
return false;
}
@@ -180,39 +177,5 @@ namespace MediaBrowser.Server.Implementations.UserViews
return await base.CreateImage(item, itemsWithImages, outputPath, imageType, imageIndex).ConfigureAwait(false);
}
-
- protected override IEnumerable<String> GetStripCollageImagePaths(IHasImages primaryItem, IEnumerable<BaseItem> items)
- {
- var userView = primaryItem as UserView;
-
- if (userView != null && string.Equals(userView.ViewType, CollectionType.LiveTv, StringComparison.OrdinalIgnoreCase))
- {
- var list = new List<string>();
- for (int i = 1; i <= 8; i++)
- {
- list.Add(ExtractLiveTvResource(i.ToString(CultureInfo.InvariantCulture), ApplicationPaths));
- }
- return list;
- }
-
- return base.GetStripCollageImagePaths(primaryItem, items);
- }
-
- private string ExtractLiveTvResource(string name, IApplicationPaths paths)
- {
- var namespacePath = GetType().Namespace + ".livetv." + name + ".jpg";
- var tempPath = Path.Combine(paths.TempDirectory, Guid.NewGuid().ToString("N") + ".jpg");
- Directory.CreateDirectory(Path.GetDirectoryName(tempPath));
-
- using (var stream = GetType().Assembly.GetManifestResourceStream(namespacePath))
- {
- using (var fileStream = new FileStream(tempPath, FileMode.Create, FileAccess.Write, FileShare.Read))
- {
- stream.CopyTo(fileStream);
- }
- }
-
- return tempPath;
- }
}
}
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/1.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/1.jpg
deleted file mode 100644
index 2594b68a4..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/1.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/2.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/2.jpg
deleted file mode 100644
index e5c87b96b..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/2.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/3.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/3.jpg
deleted file mode 100644
index c19f7e612..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/3.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/4.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/4.jpg
deleted file mode 100644
index 93ee18044..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/4.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/5.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/5.jpg
deleted file mode 100644
index 4c2cd580d..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/5.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/6.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/6.jpg
deleted file mode 100644
index 6f496b6ac..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/6.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/7.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/7.jpg
deleted file mode 100644
index e7dba2760..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/7.jpg
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.Server.Implementations/UserViews/livetv/8.jpg b/MediaBrowser.Server.Implementations/UserViews/livetv/8.jpg
deleted file mode 100644
index c69ba908c..000000000
--- a/MediaBrowser.Server.Implementations/UserViews/livetv/8.jpg
+++ /dev/null
Binary files differ