Use ArgumentException.ThrowIfNullOrEmpty
This commit is contained in:
parent
93fd462b58
commit
b366dc2e6e
|
@ -265,10 +265,7 @@ namespace Emby.Dlna
|
|||
/// <inheritdoc />
|
||||
public DeviceProfile? GetProfile(string id)
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(id));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(id);
|
||||
|
||||
var info = GetProfileInfosInternal().FirstOrDefault(i => string.Equals(i.Info.Id, id, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
|
@ -371,10 +368,7 @@ namespace Emby.Dlna
|
|||
{
|
||||
profile = ReserializeProfile(profile);
|
||||
|
||||
if (string.IsNullOrEmpty(profile.Name))
|
||||
{
|
||||
throw new ArgumentException("Profile is missing Name");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(profile.Name);
|
||||
|
||||
var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".xml";
|
||||
var path = Path.Combine(UserProfilesPath, newFilename);
|
||||
|
@ -387,15 +381,9 @@ namespace Emby.Dlna
|
|||
{
|
||||
profile = ReserializeProfile(profile);
|
||||
|
||||
if (string.IsNullOrEmpty(profile.Id))
|
||||
{
|
||||
throw new ArgumentException("Profile is missing Id");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(profile.Id);
|
||||
|
||||
if (string.IsNullOrEmpty(profile.Name))
|
||||
{
|
||||
throw new ArgumentException("Profile is missing Name");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(profile.Name);
|
||||
|
||||
var current = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, profileId, StringComparison.OrdinalIgnoreCase));
|
||||
if (current.Info.Type == DeviceProfileType.System)
|
||||
|
|
|
@ -1017,10 +1017,7 @@ namespace Emby.Dlna.PlayTo
|
|||
}
|
||||
|
||||
var avService = GetServiceRenderingControl();
|
||||
if (avService is null)
|
||||
{
|
||||
throw new ArgumentException("Device AvService is null");
|
||||
}
|
||||
ArgumentNullException.ThrowIfNull(avService);
|
||||
|
||||
string url = NormalizeUrl(Properties.BaseUrl, avService.ScpdUrl);
|
||||
|
||||
|
|
|
@ -936,10 +936,7 @@ namespace Emby.Dlna.PlayTo
|
|||
|
||||
private static Guid GetItemId(string url)
|
||||
{
|
||||
if (string.IsNullOrEmpty(url))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(url));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(url);
|
||||
|
||||
var parts = url.Split('/');
|
||||
|
||||
|
@ -962,10 +959,7 @@ namespace Emby.Dlna.PlayTo
|
|||
|
||||
public static StreamParams ParseFromUrl(string url, ILibraryManager libraryManager, IMediaSourceManager mediaSourceManager)
|
||||
{
|
||||
if (string.IsNullOrEmpty(url))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(url));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(url);
|
||||
|
||||
var request = new StreamParams
|
||||
{
|
||||
|
|
|
@ -22,15 +22,8 @@ namespace Emby.Dlna.Server
|
|||
|
||||
public DescriptionXmlBuilder(DeviceProfile profile, string serverUdn, string serverAddress, string serverName, string serverId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(serverUdn))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(serverUdn));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(serverAddress))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(serverAddress));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(serverUdn);
|
||||
ArgumentException.ThrowIfNullOrEmpty(serverAddress);
|
||||
|
||||
_profile = profile;
|
||||
_serverUdn = serverUdn;
|
||||
|
|
|
@ -503,20 +503,9 @@ namespace Emby.Drawing
|
|||
/// </exception>
|
||||
public string GetCachePath(string path, string uniqueName, string fileExtension)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(uniqueName))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(uniqueName));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(fileExtension))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(fileExtension));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
ArgumentException.ThrowIfNullOrEmpty(uniqueName);
|
||||
ArgumentException.ThrowIfNullOrEmpty(fileExtension);
|
||||
|
||||
var filename = uniqueName.GetMD5() + fileExtension;
|
||||
|
||||
|
|
|
@ -601,10 +601,7 @@ namespace Emby.Server.Implementations.Channels
|
|||
|
||||
private Guid GetInternalChannelId(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
return _libraryManager.GetNewItemId("Channel " + name, typeof(Channel));
|
||||
}
|
||||
|
|
|
@ -140,10 +140,7 @@ namespace Emby.Server.Implementations.Data
|
|||
throw new ArgumentNullException(nameof(userId));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(key));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(key);
|
||||
|
||||
PersistUserData(userId, key, userData, cancellationToken);
|
||||
}
|
||||
|
@ -274,10 +271,7 @@ namespace Emby.Server.Implementations.Data
|
|||
throw new ArgumentNullException(nameof(userId));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(key));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(key);
|
||||
|
||||
using (var connection = GetConnection(true))
|
||||
{
|
||||
|
|
|
@ -23,10 +23,7 @@ namespace Emby.Server.Implementations.Data
|
|||
/// <exception cref="ArgumentNullException"><c>typeName</c> is null.</exception>
|
||||
public Type? GetType(string typeName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(typeName))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(typeName));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(typeName);
|
||||
|
||||
return _typeMap.GetOrAdd(typeName, k => AppDomain.CurrentDomain.GetAssemblies()
|
||||
.Select(a => a.GetType(k))
|
||||
|
|
|
@ -40,10 +40,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
private void AddAffectedPath(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
if (!_affectedPaths.Contains(path, StringComparer.Ordinal))
|
||||
{
|
||||
|
@ -53,10 +50,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public void AddPath(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
lock (_timerLock)
|
||||
{
|
||||
|
|
|
@ -71,20 +71,14 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public void ReportFileSystemChangeBeginning(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
TemporarilyIgnore(path);
|
||||
}
|
||||
|
||||
public async void ReportFileSystemChangeComplete(string path, bool refreshPath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
// This is an arbitrary amount of time, but delay it because file system writes often trigger events long after the file was actually written to.
|
||||
// Seeing long delays in some situations, especially over the network, sometimes up to 45 seconds
|
||||
|
@ -197,10 +191,7 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <exception cref="ArgumentNullException"><paramref name="path"/> is <c>null</c>.</exception>
|
||||
private static bool ContainsParentFolder(IEnumerable<string> lst, string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
path = path.TrimEnd(Path.DirectorySeparatorChar);
|
||||
|
||||
|
@ -356,10 +347,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public void ReportFileSystemChanged(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
var monitorPath = !IgnorePatterns.ShouldIgnore(path);
|
||||
|
||||
|
|
|
@ -48,10 +48,7 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <exception cref="ArgumentNullException"><paramref name="filename"/> is <c>null</c>.</exception>
|
||||
public virtual bool IsShortcut(string filename)
|
||||
{
|
||||
if (string.IsNullOrEmpty(filename))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(filename));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(filename);
|
||||
|
||||
var extension = Path.GetExtension(filename);
|
||||
return _shortcutHandlers.Any(i => string.Equals(extension, i.Extension, StringComparison.OrdinalIgnoreCase));
|
||||
|
@ -65,10 +62,7 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <exception cref="ArgumentNullException"><paramref name="filename"/> is <c>null</c>.</exception>
|
||||
public virtual string? ResolveShortcut(string filename)
|
||||
{
|
||||
if (string.IsNullOrEmpty(filename))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(filename));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(filename);
|
||||
|
||||
var extension = Path.GetExtension(filename);
|
||||
var handler = _shortcutHandlers.Find(i => string.Equals(extension, i.Extension, StringComparison.OrdinalIgnoreCase));
|
||||
|
@ -136,15 +130,8 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <exception cref="ArgumentNullException">The shortcutPath or target is null.</exception>
|
||||
public virtual void CreateShortcut(string shortcutPath, string target)
|
||||
{
|
||||
if (string.IsNullOrEmpty(shortcutPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(shortcutPath));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(target))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(target));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(shortcutPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(target);
|
||||
|
||||
var extension = Path.GetExtension(shortcutPath);
|
||||
var handler = _shortcutHandlers.Find(i => string.Equals(extension, i.Extension, StringComparison.OrdinalIgnoreCase));
|
||||
|
@ -488,15 +475,8 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <param name="file2">The file2.</param>
|
||||
public virtual void SwapFiles(string file1, string file2)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file1))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(file1));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(file2))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(file2));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(file1);
|
||||
ArgumentException.ThrowIfNullOrEmpty(file2);
|
||||
|
||||
var temp1 = Path.Combine(_tempPath, Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture));
|
||||
|
||||
|
@ -514,15 +494,8 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <inheritdoc />
|
||||
public virtual bool ContainsSubPath(string parentPath, string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(parentPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(parentPath));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(parentPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
return path.Contains(
|
||||
Path.TrimEndingDirectorySeparator(parentPath) + Path.DirectorySeparatorChar,
|
||||
|
@ -532,10 +505,7 @@ namespace Emby.Server.Implementations.IO
|
|||
/// <inheritdoc />
|
||||
public virtual string NormalizePath(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
if (path.EndsWith(":\\", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
|
|
@ -19,10 +19,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public string? Resolve(string shortcutPath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(shortcutPath))
|
||||
{
|
||||
throw new ArgumentException("Shortcut path is empty or null.", nameof(shortcutPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(shortcutPath);
|
||||
|
||||
if (string.Equals(Path.GetExtension(shortcutPath), ".mblink", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
@ -36,15 +33,8 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public void Create(string shortcutPath, string targetPath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(shortcutPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(shortcutPath));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(targetPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(targetPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(shortcutPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(targetPath);
|
||||
|
||||
File.WriteAllText(shortcutPath, targetPath);
|
||||
}
|
||||
|
|
|
@ -495,11 +495,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
private Guid GetNewItemIdInternal(string key, Type type, bool forceCaseInsensitive)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(key));
|
||||
}
|
||||
|
||||
ArgumentException.ThrowIfNullOrEmpty(key);
|
||||
ArgumentNullException.ThrowIfNull(type);
|
||||
|
||||
string programDataPath = _configurationManager.ApplicationPaths.ProgramDataPath;
|
||||
|
@ -818,10 +814,7 @@ namespace Emby.Server.Implementations.Library
|
|||
{
|
||||
// If this returns multiple items it could be tricky figuring out which one is correct.
|
||||
// In most cases, the newest one will be and the others obsolete but not yet cleaned up
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
var query = new InternalItemsQuery
|
||||
{
|
||||
|
@ -2340,10 +2333,7 @@ namespace Emby.Server.Implementations.Library
|
|||
string sortName,
|
||||
string uniqueId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
var parentIdString = parentId.Equals(default)
|
||||
? null
|
||||
|
@ -3125,10 +3115,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
public void RemoveMediaPath(string virtualFolderName, string mediaPath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(mediaPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(mediaPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(mediaPath);
|
||||
|
||||
var rootFolderPath = _configurationManager.ApplicationPaths.DefaultUserViewsPath;
|
||||
var virtualFolderPath = Path.Combine(rootFolderPath, virtualFolderName);
|
||||
|
|
|
@ -762,10 +762,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
public Task<Tuple<MediaSourceInfo, IDirectStreamProvider>> GetLiveStreamWithDirectStreamProvider(string id, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(id));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(id);
|
||||
|
||||
// TODO probably shouldn't throw here but it is kept for "backwards compatibility"
|
||||
var info = GetLiveStreamInfo(id) ?? throw new ResourceNotFoundException();
|
||||
|
@ -774,10 +771,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
public ILiveStream GetLiveStreamInfo(string id)
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(id));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(id);
|
||||
|
||||
if (_openStreams.TryGetValue(id, out ILiveStream info))
|
||||
{
|
||||
|
@ -801,10 +795,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
public async Task CloseLiveStream(string id)
|
||||
{
|
||||
if (string.IsNullOrEmpty(id))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(id));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(id);
|
||||
|
||||
await _liveStreamSemaphore.WaitAsync().ConfigureAwait(false);
|
||||
|
||||
|
@ -835,10 +826,7 @@ namespace Emby.Server.Implementations.Library
|
|||
|
||||
private (IMediaSourceProvider MediaSourceProvider, string KeyId) GetProvider(string key)
|
||||
{
|
||||
if (string.IsNullOrEmpty(key))
|
||||
{
|
||||
throw new ArgumentException("Key can't be empty.", nameof(key));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(key);
|
||||
|
||||
var keys = key.Split(LiveStreamIdDelimeter, 2);
|
||||
|
||||
|
|
|
@ -25,10 +25,7 @@ namespace Emby.Server.Implementations.Library
|
|||
public static bool SetInitialItemValues(BaseItem item, Folder? parent, ILibraryManager libraryManager, IDirectoryService directoryService)
|
||||
{
|
||||
// This version of the below method has no ItemResolveArgs, so we have to require the path already being set
|
||||
if (string.IsNullOrEmpty(item.Path))
|
||||
{
|
||||
throw new ArgumentException("Item must have a Path");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(item.Path);
|
||||
|
||||
// If the resolver didn't specify this
|
||||
if (parent is not null)
|
||||
|
|
|
@ -73,10 +73,7 @@ namespace Emby.Server.Implementations.Library
|
|||
{
|
||||
var searchTerm = query.SearchTerm;
|
||||
|
||||
if (string.IsNullOrEmpty(searchTerm))
|
||||
{
|
||||
throw new ArgumentException("SearchTerm can't be empty.", nameof(query));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(searchTerm);
|
||||
|
||||
searchTerm = searchTerm.Trim().RemoveDiacritics();
|
||||
|
||||
|
|
|
@ -16,10 +16,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|||
/// <inheritdoc />
|
||||
public override void Add(SeriesTimerInfo item)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.Id))
|
||||
{
|
||||
throw new ArgumentException("SeriesTimerInfo.Id cannot be null or empty.");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(item.Id);
|
||||
|
||||
base.Add(item);
|
||||
}
|
||||
|
|
|
@ -74,10 +74,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|||
|
||||
public override void Add(TimerInfo item)
|
||||
{
|
||||
if (string.IsNullOrEmpty(item.Id))
|
||||
{
|
||||
throw new ArgumentException("TimerInfo.Id cannot be null or empty.");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(item.Id);
|
||||
|
||||
base.Add(item);
|
||||
AddOrUpdateSystemTimer(item);
|
||||
|
|
|
@ -74,10 +74,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
|
||||
public async Task<IEnumerable<ProgramInfo>> GetProgramsAsync(ListingsProviderInfo info, string channelId, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(channelId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(channelId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(channelId);
|
||||
|
||||
// Normalize incoming input
|
||||
channelId = channelId.Replace(".json.schedulesdirect.org", string.Empty, StringComparison.OrdinalIgnoreCase).TrimStart('I');
|
||||
|
@ -670,15 +667,8 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
{
|
||||
var token = await GetToken(info, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
throw new ArgumentException("Authentication required.");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(info.ListingsId))
|
||||
{
|
||||
throw new ArgumentException("Listings Id required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(token);
|
||||
ArgumentException.ThrowIfNullOrEmpty(info.ListingsId);
|
||||
|
||||
_logger.LogInformation("Adding new LineUp ");
|
||||
|
||||
|
@ -689,17 +679,11 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
|
||||
private async Task<bool> HasLineup(ListingsProviderInfo info, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.ListingsId))
|
||||
{
|
||||
throw new ArgumentException("Listings Id required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(info.ListingsId);
|
||||
|
||||
var token = await GetToken(info, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
throw new ArgumentException("token required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(token);
|
||||
|
||||
_logger.LogInformation("Headends on account ");
|
||||
|
||||
|
@ -732,23 +716,13 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
{
|
||||
if (validateLogin)
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Username))
|
||||
{
|
||||
throw new ArgumentException("Username is required");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(info.Password))
|
||||
{
|
||||
throw new ArgumentException("Password is required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(info.Username);
|
||||
ArgumentException.ThrowIfNullOrEmpty(info.Password);
|
||||
}
|
||||
|
||||
if (validateListings)
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.ListingsId))
|
||||
{
|
||||
throw new ArgumentException("Listings Id required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(info.ListingsId);
|
||||
|
||||
var hasLineup = await HasLineup(info, CancellationToken.None).ConfigureAwait(false);
|
||||
|
||||
|
@ -767,17 +741,11 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
public async Task<List<ChannelInfo>> GetChannels(ListingsProviderInfo info, CancellationToken cancellationToken)
|
||||
{
|
||||
var listingsId = info.ListingsId;
|
||||
if (string.IsNullOrEmpty(listingsId))
|
||||
{
|
||||
throw new ArgumentException("ListingsId required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(listingsId);
|
||||
|
||||
var token = await GetToken(info, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
if (string.IsNullOrEmpty(token))
|
||||
{
|
||||
throw new ArgumentException("token required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(token);
|
||||
|
||||
using var options = new HttpRequestMessage(HttpMethod.Get, ApiUrl + "/lineups/" + listingsId);
|
||||
options.Headers.TryAddWithoutValidation("token", token);
|
||||
|
|
|
@ -131,10 +131,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
|||
|
||||
public async Task<List<MediaSourceInfo>> GetChannelStreamMediaSources(string channelId, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(channelId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(channelId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(channelId);
|
||||
|
||||
if (IsValidChannelId(channelId))
|
||||
{
|
||||
|
@ -166,10 +163,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
|||
|
||||
public async Task<ILiveStream> GetChannelStream(string channelId, string streamId, List<ILiveStream> currentLiveStreams, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(channelId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(channelId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(channelId);
|
||||
|
||||
if (!IsValidChannelId(channelId))
|
||||
{
|
||||
|
@ -223,10 +217,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
|||
|
||||
protected virtual bool IsValidChannelId(string channelId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(channelId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(channelId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(channelId);
|
||||
|
||||
return channelId.StartsWith(ChannelIdPrefix, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
|
|
@ -219,10 +219,7 @@ namespace Emby.Server.Implementations.Localization
|
|||
/// <inheritdoc />
|
||||
public int? GetRatingLevel(string rating)
|
||||
{
|
||||
if (string.IsNullOrEmpty(rating))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(rating));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(rating);
|
||||
|
||||
if (_unratedValues.Contains(rating.AsSpan(), StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
@ -295,10 +292,7 @@ namespace Emby.Server.Implementations.Localization
|
|||
|
||||
private Dictionary<string, string> GetLocalizationDictionary(string culture)
|
||||
{
|
||||
if (string.IsNullOrEmpty(culture))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(culture));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(culture);
|
||||
|
||||
const string Prefix = "Core";
|
||||
|
||||
|
@ -310,10 +304,7 @@ namespace Emby.Server.Implementations.Localization
|
|||
|
||||
private async Task<Dictionary<string, string>> GetDictionary(string prefix, string culture, string baseFilename)
|
||||
{
|
||||
if (string.IsNullOrEmpty(culture))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(culture));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(culture);
|
||||
|
||||
var dictionary = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
|
|
|
@ -502,15 +502,8 @@ namespace Emby.Server.Implementations.Playlists
|
|||
|
||||
private static string MakeRelativePath(string folderPath, string fileAbsolutePath)
|
||||
{
|
||||
if (string.IsNullOrEmpty(folderPath))
|
||||
{
|
||||
throw new ArgumentException("Folder path was null or empty.", nameof(folderPath));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(fileAbsolutePath))
|
||||
{
|
||||
throw new ArgumentException("File absolute path was null or empty.", nameof(fileAbsolutePath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(folderPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(fileAbsolutePath);
|
||||
|
||||
if (!folderPath.EndsWith(Path.DirectorySeparatorChar))
|
||||
{
|
||||
|
|
|
@ -210,10 +210,7 @@ namespace Emby.Server.Implementations.Plugins
|
|||
/// <param name="folder">Folder of the plugin.</param>
|
||||
public void ImportPluginFrom(string folder)
|
||||
{
|
||||
if (string.IsNullOrEmpty(folder))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(folder));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(folder);
|
||||
|
||||
// Load the plugin.
|
||||
var plugin = LoadManifest(folder);
|
||||
|
|
|
@ -71,25 +71,10 @@ namespace Emby.Server.Implementations.QuickConnect
|
|||
/// <inheritdoc/>
|
||||
public QuickConnectResult TryConnect(AuthorizationInfo authorizationInfo)
|
||||
{
|
||||
if (string.IsNullOrEmpty(authorizationInfo.DeviceId))
|
||||
{
|
||||
throw new ArgumentException(nameof(authorizationInfo.DeviceId) + " is required");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(authorizationInfo.Device))
|
||||
{
|
||||
throw new ArgumentException(nameof(authorizationInfo.Device) + " is required");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(authorizationInfo.Client))
|
||||
{
|
||||
throw new ArgumentException(nameof(authorizationInfo.Client) + " is required");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(authorizationInfo.Version))
|
||||
{
|
||||
throw new ArgumentException(nameof(authorizationInfo.Version) + "is required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(authorizationInfo.DeviceId);
|
||||
ArgumentException.ThrowIfNullOrEmpty(authorizationInfo.Device);
|
||||
ArgumentException.ThrowIfNullOrEmpty(authorizationInfo.Client);
|
||||
ArgumentException.ThrowIfNullOrEmpty(authorizationInfo.Version);
|
||||
|
||||
AssertActive();
|
||||
ExpireRequests();
|
||||
|
|
|
@ -264,20 +264,9 @@ namespace Emby.Server.Implementations.Session
|
|||
{
|
||||
CheckDisposed();
|
||||
|
||||
if (string.IsNullOrEmpty(appName))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(appName));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(appVersion))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(appVersion));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(deviceId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(deviceId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(appName);
|
||||
ArgumentException.ThrowIfNullOrEmpty(appVersion);
|
||||
ArgumentException.ThrowIfNullOrEmpty(deviceId);
|
||||
|
||||
var activityDate = DateTime.UtcNow;
|
||||
var session = await GetSessionInfo(appName, appVersion, deviceId, deviceName, remoteEndPoint, user).ConfigureAwait(false);
|
||||
|
@ -478,10 +467,7 @@ namespace Emby.Server.Implementations.Session
|
|||
{
|
||||
CheckDisposed();
|
||||
|
||||
if (string.IsNullOrEmpty(deviceId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(deviceId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(deviceId);
|
||||
|
||||
var key = GetSessionKey(appName, deviceId);
|
||||
|
||||
|
@ -1571,10 +1557,7 @@ namespace Emby.Server.Implementations.Session
|
|||
{
|
||||
CheckDisposed();
|
||||
|
||||
if (string.IsNullOrEmpty(accessToken))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(accessToken));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(accessToken);
|
||||
|
||||
var existing = (await _deviceManager.GetDevices(
|
||||
new DeviceQuery
|
||||
|
@ -1744,10 +1727,7 @@ namespace Emby.Server.Implementations.Session
|
|||
/// <inheritdoc />
|
||||
public void ReportNowViewingItem(string sessionId, string itemId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(itemId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(itemId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(itemId);
|
||||
|
||||
var item = _libraryManager.GetItemById(new Guid(itemId));
|
||||
var session = GetSession(sessionId);
|
||||
|
|
|
@ -294,10 +294,7 @@ namespace Jellyfin.Api.Controllers
|
|||
{
|
||||
var currentSession = await RequestHelpers.GetSession(_sessionManager, _userManager, HttpContext).ConfigureAwait(false);
|
||||
|
||||
if (command is null)
|
||||
{
|
||||
throw new ArgumentException("Request body may not be null");
|
||||
}
|
||||
ArgumentNullException.ThrowIfNull(command, "Request body may not be null");
|
||||
|
||||
command.ControllingUserId = currentSession.UserId;
|
||||
|
||||
|
|
|
@ -136,10 +136,7 @@ namespace Jellyfin.Api.Helpers
|
|||
/// <exception cref="ArgumentNullException">Play session id is null.</exception>
|
||||
public void PingTranscodingJob(string playSessionId, bool? isUserPaused)
|
||||
{
|
||||
if (string.IsNullOrEmpty(playSessionId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(playSessionId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(playSessionId);
|
||||
|
||||
_logger.LogDebug("PingTranscodingJob PlaySessionId={0} isUsedPaused: {1}", playSessionId, isUserPaused);
|
||||
|
||||
|
@ -522,10 +519,7 @@ namespace Jellyfin.Api.Helpers
|
|||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(_mediaEncoder.EncoderPath))
|
||||
{
|
||||
throw new ArgumentException("FFmpeg path not set.");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(_mediaEncoder.EncoderPath);
|
||||
|
||||
// If subtitles get burned in fonts may need to be extracted from the media file
|
||||
if (state.SubtitleStream is not null && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode)
|
||||
|
|
|
@ -20,15 +20,8 @@ namespace Jellyfin.Data.Entities
|
|||
/// <param name="userId">The user id.</param>
|
||||
public ActivityLog(string name, string type, Guid userId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(type))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(type));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
ArgumentException.ThrowIfNullOrEmpty(type);
|
||||
|
||||
Name = name;
|
||||
Type = type;
|
||||
|
|
|
@ -18,10 +18,7 @@ namespace Jellyfin.Data.Entities
|
|||
/// <param name="name">The name of the group.</param>
|
||||
public Group(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
Name = name;
|
||||
Id = Guid.NewGuid();
|
||||
|
|
|
@ -18,10 +18,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="kind">The kind of art.</param>
|
||||
public Artwork(string path, ArtKind kind)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
Path = path;
|
||||
Kind = kind;
|
||||
|
|
|
@ -17,10 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="startTime">The start time for this chapter.</param>
|
||||
public Chapter(string language, long startTime)
|
||||
{
|
||||
if (string.IsNullOrEmpty(language))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(language));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(language);
|
||||
|
||||
Language = language;
|
||||
StartTime = startTime;
|
||||
|
|
|
@ -18,15 +18,8 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="language">ISO-639-3 3-character language codes.</param>
|
||||
protected ItemMetadata(string title, string language)
|
||||
{
|
||||
if (string.IsNullOrEmpty(title))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(title));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(language))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(language));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(title);
|
||||
ArgumentException.ThrowIfNullOrEmpty(language);
|
||||
|
||||
Title = title;
|
||||
Language = language;
|
||||
|
|
|
@ -19,10 +19,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="kind">The file kind.</param>
|
||||
public MediaFile(string path, MediaFileKind kind)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
Path = path;
|
||||
Kind = kind;
|
||||
|
|
|
@ -16,10 +16,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="name">The name of the metadata provider.</param>
|
||||
public MetadataProvider(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
Name = name;
|
||||
}
|
||||
|
|
|
@ -17,10 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="metadataProvider">The metadata provider.</param>
|
||||
public MetadataProviderId(string providerId, MetadataProvider metadataProvider)
|
||||
{
|
||||
if (string.IsNullOrEmpty(providerId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(providerId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(providerId);
|
||||
|
||||
ProviderId = providerId;
|
||||
MetadataProvider = metadataProvider;
|
||||
|
|
|
@ -17,10 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="name">The name of the person.</param>
|
||||
public Person(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
Name = name;
|
||||
DateAdded = DateTime.UtcNow;
|
||||
|
|
|
@ -17,10 +17,7 @@ namespace Jellyfin.Data.Entities.Libraries
|
|||
/// <param name="name">The name of this release.</param>
|
||||
public Release(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
Name = name;
|
||||
|
||||
|
|
|
@ -29,20 +29,9 @@ namespace Jellyfin.Data.Entities
|
|||
/// <param name="passwordResetProviderId">The Id of the user's password reset provider.</param>
|
||||
public User(string username, string authenticationProviderId, string passwordResetProviderId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(username))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(username));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(authenticationProviderId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(authenticationProviderId));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(passwordResetProviderId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(passwordResetProviderId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(username);
|
||||
ArgumentException.ThrowIfNullOrEmpty(authenticationProviderId);
|
||||
ArgumentException.ThrowIfNullOrEmpty(passwordResetProviderId);
|
||||
|
||||
Username = username;
|
||||
AuthenticationProviderId = authenticationProviderId;
|
||||
|
|
|
@ -145,12 +145,7 @@ namespace Jellyfin.Drawing.Skia
|
|||
/// <exception cref="SkiaCodecException">The file at the specified path could not be used to generate a codec.</exception>
|
||||
public string GetImageBlurHash(int xComp, int yComp, string path)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(path);
|
||||
|
||||
if (path.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty", nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
var extension = Path.GetExtension(path.AsSpan()).TrimStart('.');
|
||||
if (!SupportedInputFormats.Contains(extension, StringComparison.OrdinalIgnoreCase))
|
||||
|
@ -389,15 +384,8 @@ namespace Jellyfin.Drawing.Skia
|
|||
/// <inheritdoc/>
|
||||
public string EncodeImage(string inputPath, DateTime dateModified, string outputPath, bool autoOrient, ImageOrientation? orientation, int quality, ImageProcessingOptions options, ImageFormat outputFormat)
|
||||
{
|
||||
if (inputPath.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty.", nameof(inputPath));
|
||||
}
|
||||
|
||||
if (outputPath.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty.", nameof(outputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(outputPath);
|
||||
|
||||
var inputFormat = Path.GetExtension(inputPath.AsSpan()).TrimStart('.');
|
||||
if (!SupportedInputFormats.Contains(inputFormat, StringComparison.OrdinalIgnoreCase))
|
||||
|
|
|
@ -222,11 +222,7 @@ namespace Jellyfin.Server.Implementations.Devices
|
|||
public bool CanAccessDevice(User user, string deviceId)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(user);
|
||||
|
||||
if (string.IsNullOrEmpty(deviceId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(deviceId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(deviceId);
|
||||
|
||||
if (user.HasPermission(PermissionKind.EnableAllDevices) || user.HasPermission(PermissionKind.IsAdministrator))
|
||||
{
|
||||
|
|
|
@ -1755,10 +1755,7 @@ namespace MediaBrowser.Controller.Entities
|
|||
/// <exception cref="ArgumentNullException">Throws if name is null.</exception>
|
||||
public void AddStudio(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
var current = Studios;
|
||||
|
||||
|
@ -1791,10 +1788,7 @@ namespace MediaBrowser.Controller.Entities
|
|||
/// <exception cref="ArgumentNullException">Throwns if name is null.</exception>
|
||||
public void AddGenre(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
var genres = Genres;
|
||||
if (!genres.Contains(name, StringComparison.OrdinalIgnoreCase))
|
||||
|
|
|
@ -17,12 +17,7 @@ namespace MediaBrowser.Controller.Entities
|
|||
/// <param name="url">Trailer URL.</param>
|
||||
public static void AddTrailerUrl(this BaseItem item, string url)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(url);
|
||||
|
||||
if (url.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty", nameof(url));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(url);
|
||||
|
||||
var current = item.RemoteTrailers.FirstOrDefault(i => string.Equals(i.Url, url, StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
|
|
|
@ -12,11 +12,7 @@ namespace MediaBrowser.Controller.Entities
|
|||
public static void AddPerson(List<PersonInfo> people, PersonInfo person)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(person);
|
||||
|
||||
if (string.IsNullOrEmpty(person.Name))
|
||||
{
|
||||
throw new ArgumentException("The person's name was empty or null.", nameof(person));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(person.Name);
|
||||
|
||||
// Normalize
|
||||
if (string.Equals(person.Role, PersonType.GuestStar, StringComparison.OrdinalIgnoreCase))
|
||||
|
|
|
@ -35,10 +35,7 @@ namespace MediaBrowser.Controller.IO
|
|||
int flattenFolderDepth = 0,
|
||||
bool resolveShortcuts = true)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
ArgumentNullException.ThrowIfNull(args);
|
||||
|
||||
|
|
|
@ -171,10 +171,7 @@ namespace MediaBrowser.Controller.Library
|
|||
/// <exception cref="ArgumentNullException"><paramref name="path"/> is <c>null</c> or empty.</exception>
|
||||
public void AddAdditionalLocation(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentException("The path was empty or null.", nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
AdditionalLocations ??= new List<string>();
|
||||
AdditionalLocations.Add(path);
|
||||
|
@ -190,10 +187,7 @@ namespace MediaBrowser.Controller.Library
|
|||
/// <exception cref="ArgumentNullException"><paramref name="name"/> is <c>null</c> or empty.</exception>
|
||||
public FileSystemMetadata GetFileSystemEntryByName(string name)
|
||||
{
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
throw new ArgumentException("The name was empty or null.", nameof(name));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(name);
|
||||
|
||||
return GetFileSystemEntryByPath(System.IO.Path.Combine(Path, name));
|
||||
}
|
||||
|
@ -206,10 +200,7 @@ namespace MediaBrowser.Controller.Library
|
|||
/// <exception cref="ArgumentNullException">Throws if path is invalid.</exception>
|
||||
public FileSystemMetadata GetFileSystemEntryByPath(string path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
{
|
||||
throw new ArgumentException("The path was empty or null.", nameof(path));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(path);
|
||||
|
||||
foreach (var file in FileSystemChildren)
|
||||
{
|
||||
|
|
|
@ -54,11 +54,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
|||
public void Fetch(MetadataResult<T> item, string metadataFile, CancellationToken cancellationToken)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(item);
|
||||
|
||||
if (string.IsNullOrEmpty(metadataFile))
|
||||
{
|
||||
throw new ArgumentException("The metadata file was empty or null.", nameof(metadataFile));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(metadataFile);
|
||||
|
||||
var settings = new XmlReaderSettings
|
||||
{
|
||||
|
|
|
@ -145,15 +145,8 @@ namespace MediaBrowser.MediaEncoding.Attachments
|
|||
bool isExternal,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(inputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(inputPath));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(outputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(outputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
ArgumentException.ThrowIfNullOrEmpty(outputPath);
|
||||
|
||||
Directory.CreateDirectory(outputPath);
|
||||
|
||||
|
@ -300,15 +293,9 @@ namespace MediaBrowser.MediaEncoding.Attachments
|
|||
string outputPath,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(inputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(inputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
|
||||
if (string.IsNullOrEmpty(outputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(outputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(outputPath);
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
|
||||
|
||||
|
|
|
@ -637,10 +637,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
|||
|
||||
private async Task<string> ExtractImageInternal(string inputPath, string container, MediaStream videoStream, int? imageStreamIndex, Video3DFormat? threedFormat, TimeSpan? offset, bool useIFrame, ImageFormat? targetFormat, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(inputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(inputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
|
||||
var outputExtension = targetFormat switch
|
||||
{
|
||||
|
|
|
@ -249,17 +249,14 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
|
||||
private bool TryGetWriter(string format, [NotNullWhen(true)] out ISubtitleWriter? value)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrEmpty(format);
|
||||
|
||||
if (string.Equals(format, SubtitleFormat.ASS, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
value = new AssWriter();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(format))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(format));
|
||||
}
|
||||
|
||||
if (string.Equals(format, "json", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
value = new JsonWriter();
|
||||
|
@ -355,15 +352,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
private async Task ConvertTextSubtitleToSrtInternal(MediaStream subtitleStream, MediaSourceInfo mediaSource, string outputPath, CancellationToken cancellationToken)
|
||||
{
|
||||
var inputPath = subtitleStream.Path;
|
||||
if (string.IsNullOrEmpty(inputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(inputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
|
||||
if (string.IsNullOrEmpty(outputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(outputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(outputPath);
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath) ?? throw new ArgumentException($"Provided path ({outputPath}) is not valid.", nameof(outputPath)));
|
||||
|
||||
|
@ -522,15 +513,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
|
|||
string outputPath,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(inputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(inputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(inputPath);
|
||||
|
||||
if (string.IsNullOrEmpty(outputPath))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(outputPath));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(outputPath);
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath) ?? throw new ArgumentException($"Provided path ({outputPath}) is not valid.", nameof(outputPath)));
|
||||
|
||||
|
|
|
@ -29,12 +29,7 @@ namespace MediaBrowser.Model.Cryptography
|
|||
|
||||
public PasswordHash(string id, byte[] hash, byte[] salt, Dictionary<string, string> parameters)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(id);
|
||||
|
||||
if (id.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty", nameof(id));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(id);
|
||||
|
||||
Id = id;
|
||||
_hash = hash;
|
||||
|
|
|
@ -9,10 +9,7 @@ namespace MediaBrowser.Model.Dlna
|
|||
{
|
||||
public SearchCriteria(string search)
|
||||
{
|
||||
if (search.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty.", nameof(search));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(search);
|
||||
|
||||
SearchType = SearchType.Unknown;
|
||||
|
||||
|
|
|
@ -1496,10 +1496,7 @@ namespace MediaBrowser.Model.Dlna
|
|||
throw new ArgumentException("ItemId is required");
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(options.DeviceId))
|
||||
{
|
||||
throw new ArgumentException("DeviceId is required");
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(options.DeviceId);
|
||||
|
||||
if (options.Profile is null)
|
||||
{
|
||||
|
|
|
@ -620,10 +620,7 @@ namespace MediaBrowser.Model.Dlna
|
|||
|
||||
public string ToUrl(string baseUrl, string accessToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(baseUrl))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(baseUrl));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(baseUrl);
|
||||
|
||||
var list = new List<string>();
|
||||
foreach (NameValuePair pair in BuildParams(this, accessToken))
|
||||
|
@ -664,10 +661,7 @@ namespace MediaBrowser.Model.Dlna
|
|||
|
||||
private string GetUrl(string baseUrl, string queryString)
|
||||
{
|
||||
if (string.IsNullOrEmpty(baseUrl))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(baseUrl));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(baseUrl);
|
||||
|
||||
string extension = string.IsNullOrEmpty(Container) ? string.Empty : "." + Container;
|
||||
|
||||
|
|
|
@ -140,10 +140,7 @@ namespace MediaBrowser.Model.Net
|
|||
[return: NotNullIfNotNull("defaultValue")]
|
||||
public static string? GetMimeType(string filename, string? defaultValue = null)
|
||||
{
|
||||
if (filename.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty.", nameof(filename));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(filename);
|
||||
|
||||
var ext = Path.GetExtension(filename);
|
||||
|
||||
|
@ -168,10 +165,7 @@ namespace MediaBrowser.Model.Net
|
|||
|
||||
public static string? ToExtension(string mimeType)
|
||||
{
|
||||
if (mimeType.Length == 0)
|
||||
{
|
||||
throw new ArgumentException("String can't be empty.", nameof(mimeType));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(mimeType);
|
||||
|
||||
// handle text/html; charset=UTF-8
|
||||
mimeType = mimeType.AsSpan().LeftPart(';').ToString();
|
||||
|
|
|
@ -87,10 +87,7 @@ namespace MediaBrowser.Providers.Manager
|
|||
|
||||
public async Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, bool? saveLocallyWithMedia, CancellationToken cancellationToken)
|
||||
{
|
||||
if (string.IsNullOrEmpty(mimeType))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(mimeType));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(mimeType);
|
||||
|
||||
var saveLocally = item.SupportsLocalMetadata && item.IsSaveLocalMetadataEnabled() && !item.ExtraType.HasValue && item is not Audio;
|
||||
|
||||
|
|
|
@ -918,15 +918,8 @@ namespace MediaBrowser.Providers.Manager
|
|||
var source = sourceResult.Item;
|
||||
var target = targetResult.Item;
|
||||
|
||||
if (source is null)
|
||||
{
|
||||
throw new ArgumentException("Item cannot be null.", nameof(sourceResult));
|
||||
}
|
||||
|
||||
if (target is null)
|
||||
{
|
||||
throw new ArgumentException("Item cannot be null.", nameof(targetResult));
|
||||
}
|
||||
ArgumentNullException.ThrowIfNull(sourceResult);
|
||||
ArgumentNullException.ThrowIfNull(targetResult);
|
||||
|
||||
if (!lockedFields.Contains(MetadataField.Name))
|
||||
{
|
||||
|
|
|
@ -365,10 +365,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
|||
|
||||
internal string GetDataFilePath(string imdbId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(imdbId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(imdbId);
|
||||
|
||||
var dataPath = Path.Combine(_configurationManager.ApplicationPaths.CachePath, "omdb");
|
||||
|
||||
|
@ -379,10 +376,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
|||
|
||||
internal string GetSeasonFilePath(string imdbId, int seasonId)
|
||||
{
|
||||
if (string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
throw new ArgumentNullException(nameof(imdbId));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(imdbId);
|
||||
|
||||
var dataPath = Path.Combine(_configurationManager.ApplicationPaths.CachePath, "omdb");
|
||||
|
||||
|
|
|
@ -90,10 +90,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
|||
throw new ArgumentException("Item can't be null.", nameof(item));
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(metadataFile))
|
||||
{
|
||||
throw new ArgumentException("The metadata filepath was empty.", nameof(metadataFile));
|
||||
}
|
||||
ArgumentException.ThrowIfNullOrEmpty(metadataFile);
|
||||
|
||||
_validProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user