Example #1
0
        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);
        }
Example #2
0
        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.");
        }