private static void AddAssetsToBuilder(GeneratedSite entity, JobBuilder builder) { if (!string.IsNullOrEmpty(entity.AssetPaths)) { var splitPaths = entity.AssetPaths.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var rootPath = HostingEnvironment.MapPath("~/"); foreach (var path in splitPaths) { var absolutePath = FileHelpers.PathCombine(rootPath, path); if (path.Contains("?") || path.Contains("*")) { var trimmedPath = path.TrimStart(new[] { '\\', '/' }); var directory = new DirectoryInfo(rootPath); var files = directory.GetFiles(trimmedPath, SearchOption.AllDirectories); builder.AddAssetFiles(files.Select(f => "/" + FileHelpers.GetRelativePath(rootPath, f.FullName))); } else if (Directory.Exists(absolutePath)) { builder.AddAssetFolder(path); } else if (System.IO.File.Exists(absolutePath)) { builder.AddAssetFile(path); } else { // Invalid file. } } } }
private void AddMediaCropsToBuilder(GeneratedSite entity, JobBuilder builder) { if (string.IsNullOrEmpty(entity.ImageCrops)) { return; } var crops = Crop.GetCropsFromCommaDelimitedString(entity.ImageCrops); builder.AddMediaCrops(crops); }
private async Task <List <string> > GetResults(GeneratedSite entity, JobBuilder builder) { var results = new List <string>(); var generator = _exportTypeSettings.GetGenerator(entity.ExportFormat); if (generator == null) { throw new Exception("Export format not supported"); } var job = builder.Build(); var runner = new JobRunner(generator); results.AddRange(await runner.RunJob(job)); return(results); }
private static void AddMediaToBuilder(GeneratedSite entity, UmbracoContextReference umbracoContext, JobBuilder builder) { if (!string.IsNullOrEmpty(entity.MediaRootNodes)) { var mediaRoots = entity.MediaRootNodes.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var mediaRoot in mediaRoots) { int mediaId; if (int.TryParse(mediaRoot, out mediaId)) { var rootMedia = umbracoContext.UmbracoContext.Media.GetById(mediaId); if (rootMedia != null) { builder.AddMediaWithDescendants(rootMedia); } } } } }