Merge pull request #516 from Bond-009/env

Remove useless properties from IEnvironmentInfo
This commit is contained in:
Andrew Rabert 2019-01-09 22:08:58 -05:00 committed by GitHub
commit 3d867c2c46
5 changed files with 45 additions and 110 deletions

View File

@ -44,13 +44,13 @@ namespace IsoMounter
_logger.LogDebug(
"[{0}] System PATH is currently set to [{1}].",
Name,
EnvironmentInfo.GetEnvironmentVariable("PATH") ?? ""
Environment.GetEnvironmentVariable("PATH") ?? ""
);
_logger.LogDebug(
"[{0}] System path separator is [{1}].",
Name,
EnvironmentInfo.PathSeparator
Path.PathSeparator
);
_logger.LogDebug(
@ -118,25 +118,27 @@ namespace IsoMounter
public bool CanMount(string path)
{
if (EnvironmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Linux) {
_logger.LogInformation(
"[{0}] Checking we can attempt to mount [{1}], Extension = [{2}], Operating System = [{3}], Executables Available = [{4}].",
Name,
path,
Path.GetExtension(path),
EnvironmentInfo.OperatingSystem,
ExecutablesAvailable.ToString()
);
if (ExecutablesAvailable) {
return string.Equals(Path.GetExtension(path), ".iso", StringComparison.OrdinalIgnoreCase);
} else {
return false;
}
} else {
if (EnvironmentInfo.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Linux)
{
return false;
}
_logger.LogInformation(
"[{0}] Checking we can attempt to mount [{1}], Extension = [{2}], Operating System = [{3}], Executables Available = [{4}].",
Name,
path,
Path.GetExtension(path),
EnvironmentInfo.OperatingSystem,
ExecutablesAvailable.ToString()
);
if (ExecutablesAvailable)
{
return string.Equals(Path.GetExtension(path), ".iso", StringComparison.OrdinalIgnoreCase);
}
else
{
return false;
}
}
public Task Install(CancellationToken cancellationToken)
@ -211,18 +213,16 @@ namespace IsoMounter
private string GetFullPathForExecutable(string name)
{
foreach (string test in (EnvironmentInfo.GetEnvironmentVariable("PATH") ?? "").Split(EnvironmentInfo.PathSeparator)) {
foreach (string test in (Environment.GetEnvironmentVariable("PATH") ?? "").Split(Path.PathSeparator))
{
string path = test.Trim();
if (!String.IsNullOrEmpty(path) && FileSystem.FileExists(path = Path.Combine(path, name))) {
return FileSystem.GetFullPath(path);
}
}
return String.Empty;
return string.Empty;
}
private uint GetUID()
@ -315,9 +315,9 @@ namespace IsoMounter
);
} else {
throw new ArgumentNullException(nameof(isoPath));
}
try
@ -397,9 +397,9 @@ namespace IsoMounter
);
} else {
throw new ArgumentNullException(nameof(mount));
}
if (GetUID() == 0) {
@ -444,7 +444,7 @@ namespace IsoMounter
}
#endregion
#region Internal Methods
internal void OnUnmount(LinuxMount mount)

View File

@ -1188,8 +1188,7 @@ namespace Emby.Server.Implementations
HttpClient,
ZipClient,
ProcessFactory,
5000,
EnvironmentInfo);
5000);
MediaEncoder = mediaEncoder;
RegisterSingleInstance(MediaEncoder);
@ -1647,25 +1646,25 @@ namespace Emby.Server.Implementations
// Gets all plugin assemblies by first reading all bytes of the .dll and calling Assembly.Load against that
// This will prevent the .dll file from getting locked, and allow us to replace it when needed
// Include composable parts in the Api assembly
// Include composable parts in the Api assembly
list.Add(GetAssembly(typeof(ApiEntryPoint)));
// Include composable parts in the Dashboard assembly
// Include composable parts in the Dashboard assembly
list.Add(GetAssembly(typeof(DashboardService)));
// Include composable parts in the Model assembly
// Include composable parts in the Model assembly
list.Add(GetAssembly(typeof(SystemInfo)));
// Include composable parts in the Common assembly
// Include composable parts in the Common assembly
list.Add(GetAssembly(typeof(IApplicationHost)));
// Include composable parts in the Controller assembly
// Include composable parts in the Controller assembly
list.Add(GetAssembly(typeof(IServerApplicationHost)));
// Include composable parts in the Providers assembly
// Include composable parts in the Providers assembly
list.Add(GetAssembly(typeof(ProviderUtils)));
// Include composable parts in the Photos assembly
// Include composable parts in the Photos assembly
list.Add(GetAssembly(typeof(PhotoProvider)));
// Emby.Server implementations
@ -1674,16 +1673,16 @@ namespace Emby.Server.Implementations
// MediaEncoding
list.Add(GetAssembly(typeof(MediaBrowser.MediaEncoding.Encoder.MediaEncoder)));
// Dlna
// Dlna
list.Add(GetAssembly(typeof(DlnaEntryPoint)));
// Local metadata
// Local metadata
list.Add(GetAssembly(typeof(BoxSetXmlSaver)));
// Notifications
list.Add(GetAssembly(typeof(NotificationManager)));
// Xbmc
// Xbmc
list.Add(GetAssembly(typeof(ArtistNfoProvider)));
list.AddRange(GetAssembliesWithPartsInternal().Select(i => new Tuple<Assembly, string>(i, null)));
@ -2219,7 +2218,7 @@ namespace Emby.Server.Implementations
}
/// <summary>
/// This returns localhost in the case of no external dns, and the hostname if the
/// This returns localhost in the case of no external dns, and the hostname if the
/// dns is prefixed with a valid Uri prefix.
/// </summary>
/// <param name="externalDns">The external dns prefix to get the hostname of.</param>

View File

@ -1,11 +1,9 @@
using System;
using System.IO;
using MediaBrowser.Model.System;
using System.Runtime.InteropServices;
namespace Emby.Server.Implementations.EnvironmentInfo
{
// TODO: Rework @bond
public class EnvironmentInfo : IEnvironmentInfo
{
public EnvironmentInfo(MediaBrowser.Model.System.OperatingSystem operatingSystem)
@ -39,29 +37,6 @@ namespace Emby.Server.Implementations.EnvironmentInfo
}
}
public char PathSeparator
{
get
{
return Path.PathSeparator;
}
}
public Architecture SystemArchitecture { get { return RuntimeInformation.OSArchitecture; } }
public string GetEnvironmentVariable(string name)
{
return Environment.GetEnvironmentVariable(name);
}
public string StackTrace
{
get { return Environment.StackTrace; }
}
public void SetProcessEnvironmentVariable(string name, string value)
{
Environment.SetEnvironmentVariable(name, value);
}
}
}

View File

@ -70,7 +70,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
private readonly string _originalFFMpegPath;
private readonly string _originalFFProbePath;
private readonly int DefaultImageExtractionTimeoutMs;
private readonly IEnvironmentInfo _environmentInfo;
public MediaEncoder(ILogger logger,
IJsonSerializer jsonSerializer,
@ -89,8 +88,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
IHttpClient httpClient,
IZipClient zipClient,
IProcessFactory processFactory,
int defaultImageExtractionTimeoutMs,
IEnvironmentInfo environmentInfo)
int defaultImageExtractionTimeoutMs)
{
_logger = logger;
_jsonSerializer = jsonSerializer;
@ -107,46 +105,13 @@ namespace MediaBrowser.MediaEncoding.Encoder
_zipClient = zipClient;
_processFactory = processFactory;
DefaultImageExtractionTimeoutMs = defaultImageExtractionTimeoutMs;
_environmentInfo = environmentInfo;
FFProbePath = ffProbePath;
FFMpegPath = ffMpegPath;
_originalFFProbePath = ffProbePath;
_originalFFMpegPath = ffMpegPath;
_hasExternalEncoder = hasExternalEncoder;
}
private readonly object _logLock = new object();
public void SetLogFilename(string name)
{
lock (_logLock)
{
try
{
_environmentInfo.SetProcessEnvironmentVariable("FFREPORT", "file=" + name + ":level=32");
}
catch (Exception ex)
{
_logger.LogError(ex, "Error setting FFREPORT environment variable");
}
}
}
public void ClearLogFilename()
{
lock (_logLock)
{
try
{
_environmentInfo.SetProcessEnvironmentVariable("FFREPORT", null);
}
catch (Exception ex)
{
_logger.LogError(ex, "Error setting FFREPORT environment variable");
}
}
}
public string EncoderLocationType
{
get
@ -362,7 +327,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
private Tuple<string, string> GetPathsFromDirectory(string path)
{
// Since we can't predict the file extension, first try directly within the folder
// Since we can't predict the file extension, first try directly within the folder
// If that doesn't pan out, then do a recursive search
var files = FileSystem.GetFilePaths(path);
@ -525,7 +490,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
CreateNoWindow = true,
UseShellExecute = false,
// Must consume both or ffmpeg may hang due to deadlocks. See comments below.
// Must consume both or ffmpeg may hang due to deadlocks. See comments below.
RedirectStandardOutput = true,
FileName = FFProbePath,
Arguments = string.Format(args, probeSizeArgument, inputPath).Trim(),
@ -648,7 +613,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
var tempExtractPath = Path.Combine(ConfigurationManager.ApplicationPaths.TempDirectory, Guid.NewGuid() + ".jpg");
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(tempExtractPath));
// apply some filters to thumbnail extracted below (below) crop any black lines that we made and get the correct ar then scale to width 600.
// apply some filters to thumbnail extracted below (below) crop any black lines that we made and get the correct ar then scale to width 600.
// This filter chain may have adverse effects on recorded tv thumbnails if ar changes during presentation ex. commercials @ diff ar
var vf = "scale=600:trunc(600/dar/2)*2";
@ -676,7 +641,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
break;
}
}
var mapArg = imageStreamIndex.HasValue ? (" -map 0:v:" + imageStreamIndex.Value.ToString(CultureInfo.InvariantCulture)) : string.Empty;
var enableThumbnail = !new List<string> { "wtv" }.Contains(container ?? string.Empty, StringComparer.OrdinalIgnoreCase);

View File

@ -8,10 +8,6 @@ namespace MediaBrowser.Model.System
string OperatingSystemName { get; }
string OperatingSystemVersion { get; }
Architecture SystemArchitecture { get; }
string GetEnvironmentVariable(string name);
void SetProcessEnvironmentVariable(string name, string value);
string StackTrace { get; }
char PathSeparator { get; }
}
public enum OperatingSystem