public void CopySite(string uri, string outPath, int depthLevel, TransitionToOtherDomainsLimits transactionLimits = TransitionToOtherDomainsLimits.NoLimits, List <string> excludeFileExtensions = null) { if (string.IsNullOrEmpty(uri)) { throw new ArgumentException("Null or empty uri."); } if (depthLevel < 0) { throw new ArgumentException("Negative depth level value."); } if (excludeFileExtensions != null) { ImageExtensionsHelper.ExcludeImageExtensions(excludeFileExtensions); } _rootUri = uri; var siteNodes = GetAllSiteNodes(uri, depthLevel, transactionLimits).ToList(); WriteSiteNodesToFileSystem(siteNodes, outPath); }
public void CopySite(string uri, string outPath, int depthLevel, TransitionToOtherDomainsLimits transactionLimits = TransitionToOtherDomainsLimits.NoLimits, List <string> excludeFileExtensions = null) { if (string.IsNullOrEmpty(uri)) { NLogger.Logger.Error($"Null or empty passed argument: nameof {uri}"); throw new ArgumentException("Null or empty uri."); } if (depthLevel < 0) { NLogger.Logger.Error($"Negative depth level value: nameof {depthLevel}, value {depthLevel}"); throw new ArgumentException("Negative depth level value."); } if (excludeFileExtensions != null) { ImageExtensionsHelper.ExcludeImageExtensions(excludeFileExtensions); } _rootUri = uri; NLogger.Logger.Info($"Starting copying site. Passed uri: {uri}"); NLogger.Logger.Info("Starting getting site nodes..."); var siteNodes = GetAllSiteNodes(uri, depthLevel, transactionLimits).ToList(); NLogger.Logger.Info("Finished getting site nodes."); NLogger.Logger.Info($"Starting writing site nodes to file system. Output path: {outPath}"); WriteSiteNodesToFileSystem(siteNodes, outPath); NLogger.Logger.Info("Successfully finished copying site."); }