more dashboard code consolidation

This commit is contained in:
Luke Pulverenti 2013-04-10 13:11:23 -04:00
parent 7097b9aa75
commit d327095b4b

View File

@ -131,6 +131,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <param name="userManager">The user manager.</param> /// <param name="userManager">The user manager.</param>
/// <param name="appHost">The app host.</param> /// <param name="appHost">The app host.</param>
/// <param name="libraryManager">The library manager.</param> /// <param name="libraryManager">The library manager.</param>
/// <param name="serverConfigurationManager">The server configuration manager.</param>
public DashboardService(ITaskManager taskManager, IUserManager userManager, IServerApplicationHost appHost, ILibraryManager libraryManager, IServerConfigurationManager serverConfigurationManager) public DashboardService(ITaskManager taskManager, IUserManager userManager, IServerApplicationHost appHost, ILibraryManager libraryManager, IServerConfigurationManager serverConfigurationManager)
{ {
_taskManager = taskManager; _taskManager = taskManager;
@ -320,47 +321,6 @@ namespace MediaBrowser.WebDashboard.Api
private Stream GetRawResourceStream(string path) private Stream GetRawResourceStream(string path)
{ {
return new FileStream(GetDashboardResourcePath(path), FileMode.Open, FileAccess.Read, FileShare.ReadWrite, StreamDefaults.DefaultFileStreamBufferSize, true); return new FileStream(GetDashboardResourcePath(path), FileMode.Open, FileAccess.Read, FileShare.ReadWrite, StreamDefaults.DefaultFileStreamBufferSize, true);
// This code is used when the files are embedded resources
//return GetType().Assembly.GetManifestResourceStream("MediaBrowser.WebDashboard.Html." + ConvertUrlToResourcePath(path));
}
/// <summary>
/// Converts the URL to a manifest resource path.
/// </summary>
/// <param name="url">The URL.</param>
/// <returns>System.String.</returns>
private string ConvertUrlToResourcePath(string url)
{
var parts = url.Split('/');
var normalizedParts = new string[parts.Length];
for (var i = 0; i < parts.Length; i++)
{
// We have to do some tricky string replacements for all parts of the path except the last
if (i < parts.Length - 1)
{
// Find the index of the first period as well as the first dash
var periodIndex = parts[i].IndexOf('.');
var slashIndex = parts[i].IndexOf('-');
// Replace all periods with "._" and dashes with "_"
normalizedParts[i] = parts[i].Replace(".", "._").Replace("-", "_");
// If the first period occurred before the first slash, change it back from "._" to just "."
if (periodIndex < slashIndex)
{
var regex = new Regex("\\._");
normalizedParts[i] = regex.Replace(normalizedParts[i], ".", 1);
}
}
else
{
normalizedParts[i] = parts[i];
}
}
return string.Join(".", normalizedParts);
} }
/// <summary> /// <summary>