mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-29 11:02:14 +01:00
Merge branch 'master' into culture
This commit is contained in:
@@ -156,7 +156,7 @@ namespace MediaBrowser.Providers.BoxSets
|
||||
|
||||
var dataFilePath = GetDataFilePath(_config.ApplicationPaths, tmdbId, preferredMetadataLanguage);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
|
||||
_json.SerializeToFile(mainResult, dataFilePath);
|
||||
}
|
||||
|
||||
@@ -233,14 +233,14 @@ namespace MediaBrowser.Providers.Manager
|
||||
{
|
||||
_logger.LogDebug("Saving image to {0}", path);
|
||||
|
||||
var parentFolder = _fileSystem.GetDirectoryName(path);
|
||||
var parentFolder = Path.GetDirectoryName(path);
|
||||
|
||||
try
|
||||
{
|
||||
_libraryMonitor.ReportFileSystemChangeBeginning(path);
|
||||
_libraryMonitor.ReportFileSystemChangeBeginning(parentFolder);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
_fileSystem.SetAttributes(path, false, false);
|
||||
|
||||
@@ -411,7 +411,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
filename = item is MusicAlbum ? "cdart" : "disc";
|
||||
break;
|
||||
case ImageType.Primary:
|
||||
filename = saveLocally && item is Episode ? _fileSystem.GetFileNameWithoutExtension(item.Path) : folderName;
|
||||
filename = saveLocally && item is Episode ? Path.GetFileNameWithoutExtension(item.Path) : folderName;
|
||||
break;
|
||||
case ImageType.Backdrop:
|
||||
filename = GetBackdropSaveFilename(item.GetImages(type), "backdrop", "backdrop", imageIndex);
|
||||
@@ -437,7 +437,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
{
|
||||
if (type == ImageType.Primary && item is Episode)
|
||||
{
|
||||
path = Path.Combine(_fileSystem.GetDirectoryName(item.Path), "metadata", filename + extension);
|
||||
path = Path.Combine(Path.GetDirectoryName(item.Path), "metadata", filename + extension);
|
||||
}
|
||||
|
||||
else if (item.IsInMixedFolder)
|
||||
@@ -471,7 +471,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
return zeroIndexFilename;
|
||||
}
|
||||
|
||||
var filenames = images.Select(i => _fileSystem.GetFileNameWithoutExtension(i.Path)).ToList();
|
||||
var filenames = images.Select(i => Path.GetFileNameWithoutExtension(i.Path)).ToList();
|
||||
|
||||
var current = 1;
|
||||
while (filenames.Contains(numberedIndexPrefix + current.ToString(UsCulture), StringComparer.OrdinalIgnoreCase))
|
||||
@@ -569,9 +569,9 @@ namespace MediaBrowser.Providers.Manager
|
||||
|
||||
if (item is Episode)
|
||||
{
|
||||
var seasonFolder = _fileSystem.GetDirectoryName(item.Path);
|
||||
var seasonFolder = Path.GetDirectoryName(item.Path);
|
||||
|
||||
var imageFilename = _fileSystem.GetFileNameWithoutExtension(item.Path) + "-thumb" + extension;
|
||||
var imageFilename = Path.GetFileNameWithoutExtension(item.Path) + "-thumb" + extension;
|
||||
|
||||
return new[] { Path.Combine(seasonFolder, imageFilename) };
|
||||
}
|
||||
@@ -617,9 +617,9 @@ namespace MediaBrowser.Providers.Manager
|
||||
{
|
||||
imageFilename = "poster";
|
||||
}
|
||||
var folder = _fileSystem.GetDirectoryName(item.Path);
|
||||
var folder = Path.GetDirectoryName(item.Path);
|
||||
|
||||
return Path.Combine(folder, _fileSystem.GetFileNameWithoutExtension(item.Path) + "-" + imageFilename + extension);
|
||||
return Path.Combine(folder, Path.GetFileNameWithoutExtension(item.Path) + "-" + imageFilename + extension);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
var existing = item.GetImageInfo(type, 0);
|
||||
if (existing != null)
|
||||
{
|
||||
if (existing.IsLocalFile && !_fileSystem.FileExists(existing.Path))
|
||||
if (existing.IsLocalFile && !File.Exists(existing.Path))
|
||||
{
|
||||
item.RemoveImage(existing);
|
||||
changed = true;
|
||||
|
||||
@@ -703,7 +703,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
|
||||
// Manual edit occurred
|
||||
// Even if save local is off, save locally anyway if the metadata file already exists
|
||||
if (fileSaver == null || !_fileSystem.FileExists(fileSaver.GetSavePath(item)))
|
||||
if (fileSaver == null || !File.Exists(fileSaver.GetSavePath(item)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -58,9 +58,9 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
{
|
||||
var path = GetAudioImagePath(item);
|
||||
|
||||
if (!_fileSystem.FileExists(path))
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
var imageStream = imageStreams.FirstOrDefault(i => (i.Comment ?? string.Empty).IndexOf("front", StringComparison.OrdinalIgnoreCase) != -1) ??
|
||||
imageStreams.FirstOrDefault(i => (i.Comment ?? string.Empty).IndexOf("cover", StringComparison.OrdinalIgnoreCase) != -1) ??
|
||||
@@ -70,7 +70,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
|
||||
var tempFile = await _mediaEncoder.ExtractAudioImage(item.Path, imageStreamIndex, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
_fileSystem.CopyFile(tempFile, path, true);
|
||||
File.Copy(tempFile, path, true);
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@@ -196,7 +197,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
|
||||
private void FetchShortcutInfo(BaseItem item)
|
||||
{
|
||||
item.ShortcutPath = _fileSystem.ReadAllLines(item.Path)
|
||||
item.ShortcutPath = File.ReadAllLines(item.Path)
|
||||
.Select(NormalizeStrmLine)
|
||||
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i) && !i.StartsWith("#", StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
int startIndex,
|
||||
string[] files)
|
||||
{
|
||||
var videoFileNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(videoPath);
|
||||
var videoFileNameWithoutExtension = Path.GetFileNameWithoutExtension(videoPath);
|
||||
videoFileNameWithoutExtension = NormalizeFilenameForSubtitleComparison(videoFileNameWithoutExtension);
|
||||
|
||||
foreach (var fullName in files)
|
||||
@@ -110,7 +110,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
continue;
|
||||
}
|
||||
|
||||
var fileNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(fullName);
|
||||
var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fullName);
|
||||
fileNameWithoutExtension = NormalizeFilenameForSubtitleComparison(fileNameWithoutExtension);
|
||||
|
||||
if (!string.Equals(videoFileNameWithoutExtension, fileNameWithoutExtension, StringComparison.OrdinalIgnoreCase) &&
|
||||
|
||||
@@ -254,7 +254,7 @@ namespace MediaBrowser.Providers.Movies
|
||||
|
||||
var path = GetFanartJsonPath(id);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
@@ -91,7 +92,7 @@ namespace MediaBrowser.Providers.Movies
|
||||
tmdbId = movieInfo.id.ToString(_usCulture);
|
||||
|
||||
dataFilePath = MovieDbProvider.Current.GetDataFilePath(tmdbId, language);
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
_jsonSerializer.SerializeToFile(movieInfo, dataFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ namespace MediaBrowser.Providers.Movies
|
||||
|
||||
var dataFilePath = GetDataFilePath(id, preferredMetadataLanguage);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
|
||||
_jsonSerializer.SerializeToFile(mainResult, dataFilePath);
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ namespace MediaBrowser.Providers.Music
|
||||
|
||||
var path = GetAlbumInfoPath(_config.ApplicationPaths, musicBrainzReleaseGroupId);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
using (var httpResponse = await _httpClient.SendAsync(new HttpRequestOptions
|
||||
{
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace MediaBrowser.Providers.Music
|
||||
{
|
||||
using (var response = httpResponse.Content)
|
||||
{
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
using (var xmlFileStream = _fileSystem.GetFileStream(path, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true))
|
||||
{
|
||||
|
||||
@@ -233,7 +233,7 @@ namespace MediaBrowser.Providers.Music
|
||||
|
||||
var jsonPath = GetArtistJsonPath(_config.ApplicationPaths, musicBrainzId);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(jsonPath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(jsonPath));
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -294,7 +294,7 @@ namespace MediaBrowser.Providers.Omdb
|
||||
using (var stream = response.Content)
|
||||
{
|
||||
var rootObject = await _jsonSerializer.DeserializeFromStreamAsync<RootObject>(stream).ConfigureAwait(false);
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
_jsonSerializer.SerializeToFile(rootObject, path);
|
||||
}
|
||||
}
|
||||
@@ -331,7 +331,7 @@ namespace MediaBrowser.Providers.Omdb
|
||||
using (var stream = response.Content)
|
||||
{
|
||||
var rootObject = await _jsonSerializer.DeserializeFromStreamAsync<SeasonRootObject>(stream).ConfigureAwait(false);
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
_jsonSerializer.SerializeToFile(rootObject, path);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ namespace MediaBrowser.Providers.People
|
||||
{
|
||||
using (var json = response.Content)
|
||||
{
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
|
||||
using (var fs = _fileSystem.GetFileStream(dataFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true))
|
||||
{
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace MediaBrowser.Providers.Playlists
|
||||
return Task.FromResult(ItemUpdateType.None);
|
||||
}
|
||||
|
||||
using (var stream = _fileSystem.OpenRead(path))
|
||||
using (var stream = File.OpenRead(path))
|
||||
{
|
||||
var items = GetItems(stream, extension).ToArray();
|
||||
|
||||
|
||||
@@ -151,11 +151,11 @@ namespace MediaBrowser.Providers.Studios
|
||||
|
||||
}).ConfigureAwait(false);
|
||||
|
||||
fileSystem.CreateDirectory(fileSystem.GetDirectoryName(file));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(file));
|
||||
|
||||
try
|
||||
{
|
||||
fileSystem.CopyFile(temp, file, true);
|
||||
File.Copy(temp, file, true);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -30,9 +30,7 @@ namespace MediaBrowser.Providers.Subtitles
|
||||
private readonly IFileSystem _fileSystem;
|
||||
private readonly ILibraryMonitor _monitor;
|
||||
private readonly IMediaSourceManager _mediaSourceManager;
|
||||
private readonly IServerConfigurationManager _config;
|
||||
|
||||
public event EventHandler<SubtitleDownloadEventArgs> SubtitlesDownloaded;
|
||||
public event EventHandler<SubtitleDownloadFailureEventArgs> SubtitleDownloadFailure;
|
||||
|
||||
private ILocalizationManager _localization;
|
||||
@@ -42,14 +40,12 @@ namespace MediaBrowser.Providers.Subtitles
|
||||
IFileSystem fileSystem,
|
||||
ILibraryMonitor monitor,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IServerConfigurationManager config,
|
||||
ILocalizationManager localizationManager)
|
||||
{
|
||||
_logger = loggerFactory.CreateLogger(nameof(SubtitleManager));
|
||||
_fileSystem = fileSystem;
|
||||
_monitor = monitor;
|
||||
_mediaSourceManager = mediaSourceManager;
|
||||
_config = config;
|
||||
_localization = localizationManager;
|
||||
}
|
||||
|
||||
@@ -134,11 +130,6 @@ namespace MediaBrowser.Providers.Subtitles
|
||||
return results.SelectMany(i => i).ToArray();
|
||||
}
|
||||
|
||||
private SubtitleOptions GetOptions()
|
||||
{
|
||||
return _config.GetConfiguration<SubtitleOptions>("subtitles");
|
||||
}
|
||||
|
||||
public Task DownloadSubtitles(Video video, string subtitleId, CancellationToken cancellationToken)
|
||||
{
|
||||
var libraryOptions = BaseItem.LibraryManager.GetLibraryOptions(video);
|
||||
@@ -168,7 +159,7 @@ namespace MediaBrowser.Providers.Subtitles
|
||||
memoryStream.Position = 0;
|
||||
|
||||
var savePaths = new List<string>();
|
||||
var saveFileName = _fileSystem.GetFileNameWithoutExtension(video.Path) + "." + response.Language.ToLowerInvariant();
|
||||
var saveFileName = Path.GetFileNameWithoutExtension(video.Path) + "." + response.Language.ToLowerInvariant();
|
||||
|
||||
if (response.IsForced)
|
||||
{
|
||||
@@ -217,7 +208,7 @@ namespace MediaBrowser.Providers.Subtitles
|
||||
|
||||
try
|
||||
{
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(savePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(savePath));
|
||||
|
||||
using (var fs = _fileSystem.GetFileStream(savePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, true))
|
||||
{
|
||||
|
||||
@@ -298,7 +298,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
var path = GetFanartJsonPath(tvdbId);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace MediaBrowser.Providers.TV
|
||||
}
|
||||
|
||||
// Check this in order to avoid logging an exception due to directory not existing
|
||||
if (!_fileSystem.DirectoryExists(seriesDataPath))
|
||||
if (!Directory.Exists(seriesDataPath))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
var dataFilePath = GetDataFilePath(id, seasonNumber, episodeNumber, preferredMetadataLanguage);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
_jsonSerializer.SerializeToFile(mainResult, dataFilePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
var dataFilePath = GetDataFilePath(id, seasonNumber, preferredMetadataLanguage);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
_jsonSerializer.SerializeToFile(mainResult, dataFilePath);
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace MediaBrowser.Providers.TV
|
||||
tmdbId = seriesInfo.id.ToString(_usCulture);
|
||||
|
||||
string dataFilePath = GetDataFilePath(tmdbId, language);
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
_jsonSerializer.SerializeToFile(seriesInfo, dataFilePath);
|
||||
|
||||
await EnsureSeriesInfo(tmdbId, language, cancellationToken).ConfigureAwait(false);
|
||||
@@ -351,7 +351,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
var dataFilePath = GetDataFilePath(id, preferredMetadataLanguage);
|
||||
|
||||
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(dataFilePath));
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||
|
||||
_jsonSerializer.SerializeToFile(mainResult, dataFilePath);
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
if (searchInfo.IndexNumber.HasValue)
|
||||
{
|
||||
var files = GetEpisodeXmlFiles(searchInfo.SeriesDisplayOrder, searchInfo.ParentIndexNumber, searchInfo.IndexNumber, searchInfo.IndexNumberEnd, _fileSystem.GetDirectoryName(xmlFile));
|
||||
var files = GetEpisodeXmlFiles(searchInfo.SeriesDisplayOrder, searchInfo.ParentIndexNumber, searchInfo.IndexNumber, searchInfo.IndexNumberEnd, Path.GetDirectoryName(xmlFile));
|
||||
|
||||
list = files.Select(GetXmlReader).ToList();
|
||||
}
|
||||
@@ -296,7 +296,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
private XmlReader GetXmlReader(FileSystemMetadata xmlFile)
|
||||
{
|
||||
return GetXmlReader(_fileSystem.ReadAllText(xmlFile.FullName, Encoding.UTF8));
|
||||
return GetXmlReader(File.ReadAllText(xmlFile.FullName, Encoding.UTF8));
|
||||
}
|
||||
|
||||
private XmlReader GetXmlReader(string xml)
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace MediaBrowser.Providers.TV
|
||||
{
|
||||
var path = TvdbSeriesProvider.GetSeriesDataPath(_config.CommonApplicationPaths);
|
||||
|
||||
_fileSystem.CreateDirectory(path);
|
||||
Directory.CreateDirectory(path);
|
||||
|
||||
var timestampFile = Path.Combine(path, "time.txt");
|
||||
|
||||
@@ -95,7 +95,7 @@ namespace MediaBrowser.Providers.TV
|
||||
}
|
||||
|
||||
// Find out the last time we queried tvdb for updates
|
||||
var lastUpdateTime = timestampFileInfo.Exists ? _fileSystem.ReadAllText(timestampFile, Encoding.UTF8) : string.Empty;
|
||||
var lastUpdateTime = timestampFileInfo.Exists ? File.ReadAllText(timestampFile, Encoding.UTF8) : string.Empty;
|
||||
|
||||
string newUpdateTime;
|
||||
|
||||
@@ -171,7 +171,7 @@ namespace MediaBrowser.Providers.TV
|
||||
await UpdateSeries(listToUpdate, path, nullableUpdateValue, progress, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
_fileSystem.WriteAllText(timestampFile, newUpdateTime, Encoding.UTF8);
|
||||
File.WriteAllText(timestampFile, newUpdateTime, Encoding.UTF8);
|
||||
progress.Report(100);
|
||||
}
|
||||
|
||||
@@ -390,7 +390,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
seriesDataPath = Path.Combine(seriesDataPath, id);
|
||||
|
||||
_fileSystem.CreateDirectory(seriesDataPath);
|
||||
Directory.CreateDirectory(seriesDataPath);
|
||||
|
||||
return TvdbSeriesProvider.Current.DownloadSeriesZip(id, MetadataProviders.Tvdb.ToString(), null, null, seriesDataPath, lastTvDbUpdateTime, preferredMetadataLanguage, cancellationToken);
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ namespace MediaBrowser.Providers.TV
|
||||
|
||||
if (!string.Equals(downloadLangaugeXmlFile, saveAsLanguageXmlFile, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_fileSystem.CopyFile(downloadLangaugeXmlFile, saveAsLanguageXmlFile, true);
|
||||
File.Copy(downloadLangaugeXmlFile, saveAsLanguageXmlFile, true);
|
||||
}
|
||||
|
||||
await ExtractEpisodes(seriesDataPath, downloadLangaugeXmlFile, lastTvDbUpdateTime).ConfigureAwait(false);
|
||||
@@ -1526,7 +1526,7 @@ namespace MediaBrowser.Providers.TV
|
||||
var file = Path.Combine(seriesDataPath, string.Format("episode-{0}-{1}.xml", seasonNumber, episodeNumber));
|
||||
|
||||
// Only save the file if not already there, or if the episode has changed
|
||||
if (hasEpisodeChanged || !_fileSystem.FileExists(file))
|
||||
if (hasEpisodeChanged || !File.Exists(file))
|
||||
{
|
||||
using (var fileStream = _fileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.None, true))
|
||||
{
|
||||
@@ -1546,7 +1546,7 @@ namespace MediaBrowser.Providers.TV
|
||||
file = Path.Combine(seriesDataPath, string.Format("episode-abs-{0}.xml", absoluteNumber));
|
||||
|
||||
// Only save the file if not already there, or if the episode has changed
|
||||
if (hasEpisodeChanged || !_fileSystem.FileExists(file))
|
||||
if (hasEpisodeChanged || !File.Exists(file))
|
||||
{
|
||||
using (var fileStream = _fileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.None, true))
|
||||
{
|
||||
@@ -1567,7 +1567,7 @@ namespace MediaBrowser.Providers.TV
|
||||
file = Path.Combine(seriesDataPath, string.Format("episode-dvd-{0}-{1}.xml", dvdSeasonNumber, dvdEpisodeNumber));
|
||||
|
||||
// Only save the file if not already there, or if the episode has changed
|
||||
if (hasEpisodeChanged || !_fileSystem.FileExists(file))
|
||||
if (hasEpisodeChanged || !File.Exists(file))
|
||||
{
|
||||
using (var fileStream = _fileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.None, true))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user