Merge pull request #1635 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-04-06 12:18:18 -04:00
commit 22e0df5349
12 changed files with 64 additions and 27 deletions

View File

@ -202,14 +202,19 @@ namespace MediaBrowser.Api
// }
//}
Logger.Info("Setting provider id's to item {0}-{1}: {2}", item.Id, item.Name, _json.SerializeToString(request.ProviderIds));
item.ProviderIds = request.ProviderIds;
var task = _providerManager.RefreshFullItem(item, new MetadataRefreshOptions(_fileSystem)
// Since the refresh process won't erase provider Ids, we need to set this explicitly now.
item.ProviderIds = request.ProviderIds;
//item.ProductionYear = request.ProductionYear;
//item.Name = request.Name;
var task = _providerManager.RefreshFullItem(item, new MetadataRefreshOptions(_fileSystem)
{
MetadataRefreshMode = MetadataRefreshMode.FullRefresh,
ImageRefreshMode = ImageRefreshMode.FullRefresh,
ReplaceAllMetadata = true,
ReplaceAllImages = request.ReplaceAllImages
ReplaceAllImages = request.ReplaceAllImages,
SearchResult = request
}, CancellationToken.None);
Task.WaitAll(task);
@ -234,7 +239,7 @@ namespace MediaBrowser.Api
contentPath = await reader.ReadToEndAsync().ConfigureAwait(false);
}
if (_fileSystem.FileExists(contentPath))
if (_fileSystem.FileExists(contentPath))
{
return ToStaticFileResult(contentPath);
}
@ -275,7 +280,7 @@ namespace MediaBrowser.Api
var fullCachePath = GetFullCachePath(urlHash + "." + ext);
_fileSystem.CreateDirectory(Path.GetDirectoryName(fullCachePath));
_fileSystem.CreateDirectory(Path.GetDirectoryName(fullCachePath));
using (var stream = result.Content)
{
using (var filestream = _fileSystem.GetFileStream(fullCachePath, FileMode.Create, FileAccess.Write, FileShare.Read, true))
@ -284,7 +289,7 @@ namespace MediaBrowser.Api
}
}
_fileSystem.CreateDirectory(Path.GetDirectoryName(pointerCachePath));
_fileSystem.CreateDirectory(Path.GetDirectoryName(pointerCachePath));
using (var writer = new StreamWriter(pointerCachePath))
{
await writer.WriteAsync(fullCachePath).ConfigureAwait(false);

View File

@ -65,7 +65,7 @@ namespace MediaBrowser.Controller.Channels
Name = id,
Id = id,
ReadAtNativeFramerate = ReadAtNativeFramerate,
SupportsDirectStream = Protocol == MediaProtocol.File || Protocol == MediaProtocol.Http,
SupportsDirectStream = Protocol == MediaProtocol.File,
SupportsDirectPlay = SupportsDirectPlay
};

View File

@ -1,5 +1,6 @@
using System.Linq;
using CommonIO;
using MediaBrowser.Model.Providers;
namespace MediaBrowser.Controller.Providers
{
@ -13,6 +14,7 @@ namespace MediaBrowser.Controller.Providers
public bool IsPostRecursiveRefresh { get; set; }
public MetadataRefreshMode MetadataRefreshMode { get; set; }
public RemoteSearchResult SearchResult { get; set; }
public bool ForceSave { get; set; }
@ -37,6 +39,7 @@ namespace MediaBrowser.Controller.Providers
ImageRefreshMode = copy.ImageRefreshMode;
ReplaceAllImages = copy.ReplaceAllImages;
ReplaceImages = copy.ReplaceImages.ToList();
SearchResult = copy.SearchResult;
}
}
}

View File

@ -979,7 +979,10 @@ namespace MediaBrowser.Dlna.Didl
if (item != null)
{
return GetImageInfo(item, ImageType.Primary);
if (item.HasImage(ImageType.Primary))
{
return GetImageInfo(item, ImageType.Primary);
}
}
return null;

View File

@ -13,6 +13,7 @@ using System.Threading.Tasks;
using CommonIO;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Model.Providers;
namespace MediaBrowser.Providers.Manager
{
@ -136,6 +137,11 @@ namespace MediaBrowser.Providers.Manager
{
var id = itemOfType.GetLookupInfo();
if (refreshOptions.SearchResult != null)
{
ApplySearchResult(id, refreshOptions.SearchResult);
}
//await FindIdentities(id, cancellationToken).ConfigureAwait(false);
id.IsAutomated = refreshOptions.IsAutomated;
@ -207,6 +213,13 @@ namespace MediaBrowser.Providers.Manager
return updateType;
}
private void ApplySearchResult(ItemLookupInfo lookupInfo, RemoteSearchResult result)
{
lookupInfo.ProviderIds = result.ProviderIds;
lookupInfo.Name = result.Name;
lookupInfo.Year = result.ProductionYear;
}
private async Task FindIdentities(TIdType id, CancellationToken cancellationToken)
{
try

View File

@ -60,9 +60,8 @@ namespace MediaBrowser.Providers.Omdb
return GetSearchResultsInternal(searchInfo, type, true, cancellationToken);
}
private async Task<IEnumerable<RemoteSearchResult>> GetSearchResultsInternal(ItemLookupInfo searchInfo, string type, bool enableMultipleResults, CancellationToken cancellationToken)
private async Task<IEnumerable<RemoteSearchResult>> GetSearchResultsInternal(ItemLookupInfo searchInfo, string type, bool isSearch, CancellationToken cancellationToken)
{
bool isSearch = false;
var episodeSearchInfo = searchInfo as EpisodeInfo;
var list = new List<RemoteSearchResult>();
@ -95,10 +94,9 @@ namespace MediaBrowser.Providers.Omdb
}
// &s means search and returns a list of results as opposed to t
if (enableMultipleResults)
if (isSearch)
{
url += "&s=" + WebUtility.UrlEncode(name);
isSearch = true;
}
else
{

View File

@ -97,7 +97,7 @@ namespace MediaBrowser.Providers.People
var requestCount = _requestCount;
if (requestCount >= 20)
if (requestCount >= 30)
{
//_logger.Debug("Throttling Tmdb people");

View File

@ -62,6 +62,17 @@ namespace MediaBrowser.Server.Implementations.Connect
{
var address = _config.Configuration.WanDdns;
if (!string.IsNullOrWhiteSpace(address))
{
try
{
address = new Uri(address).Host;
}
catch
{
}
}
if (string.IsNullOrWhiteSpace(address) && DiscoveredWanIpAddress != null)
{
if (DiscoveredWanIpAddress.AddressFamily == AddressFamily.InterNetworkV6)
@ -237,8 +248,8 @@ namespace MediaBrowser.Server.Implementations.Connect
var postData = new Dictionary<string, string>
{
{"name", _appHost.FriendlyName},
{"url", wanApiAddress},
{"name", _appHost.FriendlyName},
{"url", wanApiAddress},
{"systemId", _appHost.SystemId}
};

View File

@ -344,6 +344,19 @@ namespace MediaBrowser.Server.Implementations.HttpServer
LoggerUtils.LogRequest(_logger, urlToLog, httpReq.HttpMethod, httpReq.UserAgent);
}
if (string.Equals(localPath, "/emby/", StringComparison.OrdinalIgnoreCase) ||
string.Equals(localPath, "/mediabrowser/", StringComparison.OrdinalIgnoreCase))
{
httpRes.RedirectToUrl(DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.Equals(localPath, "/emby", StringComparison.OrdinalIgnoreCase) ||
string.Equals(localPath, "/mediabrowser", StringComparison.OrdinalIgnoreCase))
{
httpRes.RedirectToUrl("emby/" + DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.Equals(localPath, "/mediabrowser/", StringComparison.OrdinalIgnoreCase) ||
string.Equals(localPath, "/mediabrowser", StringComparison.OrdinalIgnoreCase) ||
localPath.IndexOf("mediabrowser/web", StringComparison.OrdinalIgnoreCase) != -1 ||
@ -363,16 +376,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
}
}
if (string.Equals(localPath, "/emby/", StringComparison.OrdinalIgnoreCase))
{
httpRes.RedirectToUrl(DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.Equals(localPath, "/emby", StringComparison.OrdinalIgnoreCase))
{
httpRes.RedirectToUrl("emby/" + DefaultRedirectPath);
return Task.FromResult(true);
}
if (string.Equals(localPath, "/web", StringComparison.OrdinalIgnoreCase))
{
httpRes.RedirectToUrl(DefaultRedirectPath);

View File

@ -352,6 +352,7 @@ namespace MediaBrowser.Server.Implementations.Library
users.Add(user);
user.Policy.IsAdministrator = true;
user.Policy.EnableContentDeletion = true;
user.Policy.EnableRemoteControlOfOtherUsers = true;
await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false);
}

View File

@ -75,7 +75,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
lineup = lineup.Where(i => i.Favorite).ToList();
}
return lineup;
return lineup.Where(i => !i.DRM).ToList();
}
}

View File

@ -2283,7 +2283,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
private static Dictionary<string, string[]> GetTypeMapDictionary()
{
var dict = new Dictionary<string, string[]>();
var dict = new Dictionary<string, string[]>(StringComparer.OrdinalIgnoreCase);
foreach (var t in KnownTypes)
{