mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-10-30 15:32:31 +01:00
Fixed: Set permissions on new metadata files (mono)
This commit is contained in:
parent
044d5ad0a5
commit
96c1ceaa29
@ -7,7 +7,6 @@ using NzbDrone.Common;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnsureThat;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Exceptions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Organizer;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
|
@ -7,6 +7,7 @@ using NLog;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.MediaCover;
|
||||
using NzbDrone.Core.MediaFiles;
|
||||
@ -29,6 +30,7 @@ namespace NzbDrone.Core.Metadata
|
||||
private readonly IEpisodeService _episodeService;
|
||||
private readonly IDiskProvider _diskProvider;
|
||||
private readonly IHttpProvider _httpProvider;
|
||||
private readonly IConfigService _configService;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly Logger _logger;
|
||||
|
||||
@ -39,6 +41,7 @@ namespace NzbDrone.Core.Metadata
|
||||
IEpisodeService episodeService,
|
||||
IDiskProvider diskProvider,
|
||||
IHttpProvider httpProvider,
|
||||
IConfigService configService,
|
||||
IEventAggregator eventAggregator,
|
||||
Logger logger)
|
||||
{
|
||||
@ -49,6 +52,7 @@ namespace NzbDrone.Core.Metadata
|
||||
_episodeService = episodeService;
|
||||
_diskProvider = diskProvider;
|
||||
_httpProvider = httpProvider;
|
||||
_configService = configService;
|
||||
_eventAggregator = eventAggregator;
|
||||
_logger = logger;
|
||||
}
|
||||
@ -156,11 +160,13 @@ namespace NzbDrone.Core.Metadata
|
||||
return null;
|
||||
}
|
||||
|
||||
_logger.Debug("Writing Series Metadata to: {0}", seriesMetadata.RelativePath);
|
||||
_diskProvider.WriteAllText(seriesMetadata.RelativePath, seriesMetadata.Contents);
|
||||
var fullPath = Path.Combine(series.Path, seriesMetadata.RelativePath);
|
||||
|
||||
_logger.Debug("Writing Series Metadata to: {0}", fullPath);
|
||||
SaveMetadataFile(fullPath, seriesMetadata.Contents);
|
||||
|
||||
metadata.Hash = hash;
|
||||
metadata.RelativePath = series.Path.GetRelativePath(seriesMetadata.RelativePath);
|
||||
metadata.RelativePath = seriesMetadata.RelativePath;
|
||||
|
||||
return metadata;
|
||||
}
|
||||
@ -207,7 +213,7 @@ namespace NzbDrone.Core.Metadata
|
||||
}
|
||||
|
||||
_logger.Debug("Writing Episode Metadata to: {0}", fullPath);
|
||||
_diskProvider.WriteAllText(fullPath, episodeMetadata.Contents);
|
||||
SaveMetadataFile(fullPath, episodeMetadata.Contents);
|
||||
|
||||
metadata.Hash = hash;
|
||||
|
||||
@ -326,11 +332,12 @@ namespace NzbDrone.Core.Metadata
|
||||
return result;
|
||||
}
|
||||
|
||||
private void DownloadImage(Series series, string url, string path)
|
||||
private void DownloadImage(Series series, String url, String path)
|
||||
{
|
||||
try
|
||||
{
|
||||
_httpProvider.DownloadFile(url, path);
|
||||
SetFilePermissions(path);
|
||||
}
|
||||
catch (WebException e)
|
||||
{
|
||||
@ -341,5 +348,31 @@ namespace NzbDrone.Core.Metadata
|
||||
_logger.ErrorException("Couldn't download image " + url + " for " + series, e);
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveMetadataFile(String path, String contents)
|
||||
{
|
||||
_diskProvider.WriteAllText(path, contents);
|
||||
SetFilePermissions(path);
|
||||
}
|
||||
|
||||
private void SetFilePermissions(String path)
|
||||
{
|
||||
if (!_configService.SetPermissionsLinux)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_diskProvider.SetPermissions(path, _configService.FileChmod, _configService.ChownUser, _configService.ChownGroup);
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
_logger.WarnException("Unable to apply permissions to: " + path, ex);
|
||||
_logger.DebugException(ex.Message, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user