public override void LoadConfig() { var tempFolder = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); var sourceUrl = $"{_cdnUrl}/config.json"; var fileTarget = Path.Combine(tempFolder, "config.json"); Fs.EnsureFolder(tempFolder); DownloadContent(sourceUrl, fileTarget); Config = TemplatesSourceConfig.LoadFromFile(fileTarget); Fs.SafeDeleteDirectory(tempFolder); }
public override async Task LoadConfigAsync(CancellationToken ct) { var tempFolder = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); var sourceUrl = $"{_cdnUrl}/config.json"; var fileTarget = Path.Combine(tempFolder, "config.json"); Fs.EnsureFolderExists(tempFolder); await DownloadContentAsync(sourceUrl, fileTarget, ct); Config = TemplatesSourceConfig.LoadFromFile(fileTarget); Fs.SafeDeleteDirectory(tempFolder); }
private void RemoveTemplatesTempFolders(string workingFolder) { if (!Directory.Exists(workingFolder)) { return; } var searchOptions = $"*{_tmpExtension}"; var tempDirectories = Directory.EnumerateDirectories(workingFolder, searchOptions); foreach (var dir in tempDirectories) { Fs.SafeDeleteDirectory(dir, true); } }
public void Purge(string currentContent) { if (Directory.Exists(TemplatesFolder)) { var di = new DirectoryInfo(TemplatesFolder); foreach (var sdi in di.EnumerateDirectories()) { Version.TryParse(sdi.Name, out Version v); if (!v.IsZero() && v < GetVersionFromFolder(currentContent)) { Fs.SafeDeleteDirectory(sdi.FullName); } } } }
public override async Task <TemplatesContentInfo> GetContentAsync(TemplatesPackageInfo packageInfo, string workingFolder, CancellationToken ct) { var extractionFolder = await ExtractAsync(packageInfo, true, ct); var finalDestination = Path.Combine(workingFolder, packageInfo.Version.ToString()); await Fs.SafeMoveDirectoryAsync(Path.Combine(extractionFolder, "Templates"), finalDestination, true, ReportCopyProgress); Fs.SafeDeleteDirectory(Path.GetDirectoryName(packageInfo.LocalPath)); var templatesInfo = new TemplatesContentInfo() { Date = packageInfo.Date, Path = finalDestination, Version = packageInfo.Version }; return(templatesInfo); }
public override TemplatesContentInfo GetContent(TemplatesPackageInfo packageInfo, string workingFolder) { var extractionFolder = Extract(packageInfo); var finalDestination = Path.Combine(workingFolder, packageInfo.Version.ToString()); Fs.SafeMoveDirectory(Path.Combine(extractionFolder, "Templates"), finalDestination, true); var templatesInfo = new TemplatesContentInfo() { Date = packageInfo.Date, Path = finalDestination, Version = packageInfo.Version }; Fs.SafeDeleteDirectory(Path.GetDirectoryName(packageInfo.LocalPath)); return(templatesInfo); }
protected static void Copy(string sourceFolder, string targetFolder) { Fs.SafeDeleteDirectory(targetFolder); Fs.CopyRecursive(sourceFolder, targetFolder); }