Ejemplo n.º 1
0
            public static string DownloadExtension(string packagesPath, string userName, string name, string version)
            {
                var fileName = $"{userName}.{name}.{version}";

                var directoryPath = PathUtils.Combine(packagesPath, fileName);
                var filePath      = PathUtils.Combine(directoryPath, name + ".zip");

                if (FileUtils.IsFileExists(filePath))
                {
                    return(filePath);
                }

                DirectoryUtils.CreateDirectoryIfNotExists(directoryPath);

                var directoryNames = DirectoryUtils.GetDirectoryNames(packagesPath);

                foreach (var directoryName in directoryNames.Where(directoryName => StringUtils.StartsWithIgnoreCase(directoryName, $"{userName}.{name}.")))
                {
                    DirectoryUtils.DeleteDirectoryIfExists(PathUtils.Combine(packagesPath, directoryName));
                }

                var url = GetExtensionsDownloadUrl(userName, name, version);

                RestUtils.Download(url, filePath);

                //FileUtils.WriteText(filePath, string.Empty);
                //using (var writer = File.OpenWrite(filePath))
                //{
                //    var client = new RestClient(GetExtensionsDownloadUrl(userName, name, version));
                //    var request = new RestRequest();
                //    request.ResponseWriter = responseStream =>
                //    {
                //        using (responseStream)
                //        {
                //            responseStream.CopyTo(writer);
                //        }
                //    };
                //    client.DownloadData(request);
                //}

                //var repo = PackageRepositoryFactory.Default.CreateRepository(WebConfigUtils.IsNightlyUpdate
                //? MyGetPackageSource
                //: NuGetPackageSource);

                //var packageManager = new PackageManager(repo, packagesPath);

                ////Download and unzip the package
                //packageManager.InstallPackage(packageId, SemanticVersion.Parse(version), true, WebConfigUtils.IsNightlyUpdate);

                //ZipUtils.UnpackFilesByExtension(PathUtils.Combine(directoryPath, idWithVersion + ".nupkg"),
                //    directoryPath, ".nuspec");

                return(filePath);
            }
Ejemplo n.º 2
0
            public static string DownloadCms(IPathManager pathManager, string osArchitecture, string version)
            {
                var packagesPath  = pathManager.GetPackagesPath();
                var name          = GetCmsDownloadName(osArchitecture, version);
                var directoryPath = PathUtils.Combine(packagesPath, name);

                var directoryNames = DirectoryUtils.GetDirectoryNames(packagesPath);

                foreach (var directoryName in directoryNames.Where(directoryName => StringUtils.StartsWithIgnoreCase(directoryName, "sscms-")))
                {
                    DirectoryUtils.DeleteDirectoryIfExists(PathUtils.Combine(packagesPath, directoryName));
                }

                DirectoryUtils.CreateDirectoryIfNotExists(directoryPath);

                var filePath = PathUtils.Combine(packagesPath, $"{GetCmsDownloadName(osArchitecture, version)}.zip");

                var url = GetCmsDownloadUrl(osArchitecture, version);

                RestUtils.Download(url, filePath);
                //FileUtils.WriteText(filePath, string.Empty);
                //using (var writer = File.OpenWrite(filePath))
                //{
                //    var client = new RestClient(GetCmsDownloadUrl(osArchitecture, version));
                //    var request = new RestRequest
                //    {
                //        ResponseWriter = responseStream =>
                //        {
                //            using (responseStream)
                //            {
                //                responseStream.CopyTo(writer);
                //            }
                //        }
                //    };

                //    client.DownloadData(request);
                //}

                pathManager.ExtractZip(filePath, directoryPath);

                FileUtils.DeleteFileIfExists(filePath);

                return(directoryPath);
            }