From 5b420a654977644e7e2433a7761dc1a696babd15 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 14 Nov 2018 18:13:32 +0200 Subject: Moving PPC update, setup and machine service to Azure!!! --- .../MachineUpdate/MachineUpdateManager.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs') diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs index 6a65e4fbe..a75ca9017 100644 --- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs +++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs @@ -1,4 +1,5 @@ using FluentFTP; +using Microsoft.WindowsAzure.Storage.Blob; using System; using System.Collections.Generic; using System.IO; @@ -142,28 +143,25 @@ namespace Tango.PPC.Common.MachineUpdate LogManager.Log("Downloading software package..."); - int fileSize = 0; + long fileSize = 0; DownloadingPackagesProgress = 0; using (FileStreamWrapper fs = new FileStreamWrapper(tempFile.Path, FileMode.Create, (current) => { InvokeUINow(() => { - Thread.Sleep(2); //TODO: this is necessary only for visibility... DownloadingPackagesProgress = ((double)current / (double)fileSize) * 100d; }); })) { - using (FtpClient ftp = new FtpClient(update_response.FtpAddress, update_response.FtpUserName, update_response.FtpPassword)) - { - LogManager.Log("FTP: Connecting to site: " + update_response.FtpAddress); - ftp.ConnectAsync().Wait(); - LogManager.Log("FTP: Retrieving download size..."); - fileSize = (int)ftp.GetFileSize(update_response.FtpFilePath); - LogManager.Log("FTP: Download size: " + fileSize + " bytes."); - LogManager.Log("FTP: Starting download..."); - ftp.DownloadAsync(fs, update_response.FtpFilePath).Wait(); - } + LogManager.Log($"Connecting to storage blob with address {update_response.BlobAddress}"); + CloudBlockBlob blob = new CloudBlockBlob(new Uri(update_response.BlobAddress)); + LogManager.Log("Fetching blob attributes..."); + blob.FetchAttributes(); + fileSize = blob.Properties.Length; + LogManager.Log("Download size: " + fileSize + " bytes."); + LogManager.Log("Starting blob download..."); + blob.DownloadToStream(fs); } LogManager.Log("Extracting downloaded zip file..."); -- cgit v1.3.1