aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-17 16:35:43 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-17 16:35:43 -0400
commite677a57bf1cedc55214b0e457778311b8f1ea5ac (patch)
tree9c0b045279901f5dd4a866f46ce2d378a6d41d68 /MediaBrowser.Api
parent95f471e8c3ab466488cc4c2fba1b15e14e00ee3c (diff)
switch to flat file storage
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/LibraryService.cs4
-rw-r--r--MediaBrowser.Api/TvShowsService.cs21
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs9
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs8
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs12
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs12
-rw-r--r--MediaBrowser.Api/VideosService.cs2
7 files changed, 31 insertions, 37 deletions
diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs
index c2ccf4dcdd..f1338c44b2 100644
--- a/MediaBrowser.Api/LibraryService.cs
+++ b/MediaBrowser.Api/LibraryService.cs
@@ -431,7 +431,7 @@ namespace MediaBrowser.Api
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
- var items = _itemRepo.GetItems(item.ThemeSongIds)
+ var items = _itemRepo.RetrieveItems<Audio>(item.ThemeSongIds)
.OrderBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))
.Select(t => t.Result)
@@ -471,7 +471,7 @@ namespace MediaBrowser.Api
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
var items =
- _itemRepo.GetItems(item.ThemeVideoIds)
+ _itemRepo.RetrieveItems<Video>(item.ThemeVideoIds)
.OrderBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))
.Select(t => t.Result)
diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs
index 04a18e40ed..09bdc05479 100644
--- a/MediaBrowser.Api/TvShowsService.cs
+++ b/MediaBrowser.Api/TvShowsService.cs
@@ -70,7 +70,7 @@ namespace MediaBrowser.Api
public class GetSimilarShows : BaseGetSimilarItems
{
}
-
+
/// <summary>
/// Class TvShowsService
/// </summary>
@@ -110,9 +110,9 @@ namespace MediaBrowser.Api
/// <returns>System.Object.</returns>
public object Get(GetSimilarShows request)
{
- var result = SimilarItemsHelper.GetSimilarItems(_userManager,
- _libraryManager,
- _userDataRepository,
+ var result = SimilarItemsHelper.GetSimilarItems(_userManager,
+ _libraryManager,
+ _userDataRepository,
Logger,
request, item => item is Series,
SimilarItemsHelper.GetSimiliarityScore);
@@ -141,20 +141,19 @@ namespace MediaBrowser.Api
{
var user = _userManager.GetUserById(request.UserId);
- var tasks = user.RootFolder
+ var itemsArray = user.RootFolder
.GetRecursiveChildren(user)
.OfType<Series>()
.AsParallel()
- .Select(i => GetNextUp(i, user));
-
- var itemsArray = await Task.WhenAll(tasks).ConfigureAwait(false);
+ .Select(i => GetNextUp(i, user))
+ .ToArray();
itemsArray = itemsArray
.Where(i => i.Item1 != null)
.OrderByDescending(i =>
{
var seriesUserData =
- _userDataRepository.GetUserData(user.Id, i.Item1.Series.GetUserDataKey()).Result;
+ _userDataRepository.GetUserData(user.Id, i.Item1.Series.GetUserDataKey());
if (seriesUserData.IsFavorite)
{
@@ -190,7 +189,7 @@ namespace MediaBrowser.Api
/// <param name="series">The series.</param>
/// <param name="user">The user.</param>
/// <returns>Task{Episode}.</returns>
- private async Task<Tuple<Episode,DateTime>> GetNextUp(Series series, User user)
+ private Tuple<Episode, DateTime> GetNextUp(Series series, User user)
{
var allEpisodes = series.GetRecursiveChildren(user)
.OfType<Episode>()
@@ -205,7 +204,7 @@ namespace MediaBrowser.Api
// Go back starting with the most recent episodes
foreach (var episode in allEpisodes)
{
- var userData = await _userDataRepository.GetUserData(user.Id, episode.GetUserDataKey()).ConfigureAwait(false);
+ var userData = _userDataRepository.GetUserData(user.Id, episode.GetUserDataKey());
if (userData.Played)
{
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
index 26b0aa1921..65ec74bcf5 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
@@ -337,7 +337,7 @@ namespace MediaBrowser.Api.UserLibrary
public string Name;
public BaseItem Item;
- private Task<UserItemData> _userData;
+ private UserItemData _userData;
public List<BaseItem> Items
{
@@ -353,12 +353,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var item = await GetItem().ConfigureAwait(false);
- if (_userData == null)
- {
- _userData = repo.GetUserData(userId, item.GetUserDataKey());
- }
-
- return await _userData.ConfigureAwait(false);
+ return _userData ?? (_userData = repo.GetUserData(userId, item.GetUserDataKey()));
}
public IbnStub(string name, Func<IEnumerable<BaseItem>> childItems, Func<string,Task<T>> item)
diff --git a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
index 42b76e29d9..eaa65dc2db 100644
--- a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs
@@ -240,9 +240,9 @@ namespace MediaBrowser.Api.UserLibrary
}
var key = item.GetUserDataKey();
-
+
// Get the user data for this item
- var data = await UserDataRepository.GetUserData(userId, key).ConfigureAwait(false);
+ var data = UserDataRepository.GetUserData(userId, key);
// Set favorite status
data.IsFavorite = isFavorite;
@@ -288,9 +288,9 @@ namespace MediaBrowser.Api.UserLibrary
}
var key = item.GetUserDataKey();
-
+
// Get the user data for this item
- var data = await UserDataRepository.GetUserData(userId, key).ConfigureAwait(false);
+ var data = UserDataRepository.GetUserData(userId, key);
data.Likes = likes;
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index a06ac68b72..a4ed0396ef 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -335,7 +335,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.Likes:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata != null && userdata.Likes.HasValue && userdata.Likes.Value;
});
@@ -343,7 +343,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.Dislikes:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata != null && userdata.Likes.HasValue && !userdata.Likes.Value;
});
@@ -351,7 +351,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.IsFavorite:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata != null && userdata.IsFavorite;
});
@@ -362,7 +362,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.IsResumable:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata != null && userdata.PlaybackPositionTicks > 0;
});
@@ -370,7 +370,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.IsPlayed:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata != null && userdata.Played;
});
@@ -378,7 +378,7 @@ namespace MediaBrowser.Api.UserLibrary
case ItemFilter.IsUnplayed:
return items.Where(item =>
{
- var userdata = repository.GetUserData(user.Id, item.GetUserDataKey()).Result;
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
return userdata == null || !userdata.Played;
});
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index 8c1f3b500b..786eea5b31 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -399,7 +399,7 @@ namespace MediaBrowser.Api.UserLibrary
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
- var items = _itemRepo.GetItems(movie.SpecialFeatureIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
+ var items = _itemRepo.RetrieveItems<Video>(movie.SpecialFeatureIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
return ToOptimizedResult(items);
}
@@ -420,7 +420,7 @@ namespace MediaBrowser.Api.UserLibrary
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository);
- var items = _itemRepo.GetItems(item.LocalTrailerIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
+ var items = _itemRepo.RetrieveItems<Trailer>(item.LocalTrailerIds).OrderBy(i => i.SortName).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToList();
return ToOptimizedResult(items);
}
@@ -496,7 +496,7 @@ namespace MediaBrowser.Api.UserLibrary
// Get the user data for this item
var key = item.GetUserDataKey();
- var data = _userDataRepository.GetUserData(user.Id, key).Result;
+ var data = _userDataRepository.GetUserData(user.Id, key);
// Set favorite status
data.IsFavorite = true;
@@ -519,7 +519,7 @@ namespace MediaBrowser.Api.UserLibrary
var key = item.GetUserDataKey();
// Get the user data for this item
- var data = _userDataRepository.GetUserData(user.Id, key).Result;
+ var data = _userDataRepository.GetUserData(user.Id, key);
// Set favorite status
data.IsFavorite = false;
@@ -542,7 +542,7 @@ namespace MediaBrowser.Api.UserLibrary
var key = item.GetUserDataKey();
// Get the user data for this item
- var data = _userDataRepository.GetUserData(user.Id, key).Result;
+ var data = _userDataRepository.GetUserData(user.Id, key);
data.Rating = null;
@@ -564,7 +564,7 @@ namespace MediaBrowser.Api.UserLibrary
var key = item.GetUserDataKey();
// Get the user data for this item
- var data = _userDataRepository.GetUserData(user.Id, key).Result;
+ var data = _userDataRepository.GetUserData(user.Id, key);
data.Likes = request.Likes;
diff --git a/MediaBrowser.Api/VideosService.cs b/MediaBrowser.Api/VideosService.cs
index d2b58dc968..3c74a42889 100644
--- a/MediaBrowser.Api/VideosService.cs
+++ b/MediaBrowser.Api/VideosService.cs
@@ -64,7 +64,7 @@ namespace MediaBrowser.Api
var video = (Video)item;
- var items = _itemRepo.GetItems(video.AdditionalPartIds)
+ var items = _itemRepo.RetrieveItems<Video>(video.AdditionalPartIds)
.OrderBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))
.Select(t => t.Result)