From 21c5e764fcd29219e602d439ace1fecbe7ef3dbc Mon Sep 17 00:00:00 2001 From: Matthew Burnett Date: Thu, 24 Jan 2019 15:09:00 -0500 Subject: [PATCH] Correctly update preview url with object extension preferences Rename variables for consistency Early url returning for quicker pastes --- .../FileUploaders/GoogleCloudStorage.cs | 23 +++++++++++-------- .../Forms/UploadersConfigForm.cs | 3 +++ .../Forms/UploadersConfigFormHelper.cs | 5 +++- ShareX/TaskSettings.cs | 2 +- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ShareX.UploadersLib/FileUploaders/GoogleCloudStorage.cs b/ShareX.UploadersLib/FileUploaders/GoogleCloudStorage.cs index 3c22adb4c..ba0600883 100644 --- a/ShareX.UploadersLib/FileUploaders/GoogleCloudStorage.cs +++ b/ShareX.UploadersLib/FileUploaders/GoogleCloudStorage.cs @@ -108,18 +108,13 @@ public override UploadResult Upload(Stream stream, string fileName) string name = fileName; - if ((RemoveExtensionImage && Helpers.IsImageFile(fileName)) || - (RemoveExtensionText && Helpers.IsTextFile(fileName)) || - (RemoveExtensionVideo && Helpers.IsVideoFile(fileName))) - { - name = Path.GetFileNameWithoutExtension(fileName); - } + string uploadPath = GetUploadPath(name); - string uploadpath = GetUploadPath(name); + OnEarlyURLCopyRequested(GenerateURL(uploadPath)); GoogleCloudStorageMetadata metadata = new GoogleCloudStorageMetadata { - name = uploadpath, + name = uploadPath, acl = new GoogleCloudStorageAcl[] { new GoogleCloudStorageAcl @@ -137,13 +132,13 @@ public override UploadResult Upload(Stream stream, string fileName) GoogleCloudStorageResponse upload = JsonConvert.DeserializeObject(result.Response); - if (upload.name != uploadpath) + if (upload.name != uploadPath) { Errors.Add("Upload failed."); return null; } - result.URL = GenerateURL(uploadpath); + result.URL = GenerateURL(uploadPath); return result; } @@ -151,6 +146,14 @@ public override UploadResult Upload(Stream stream, string fileName) private string GetUploadPath(string fileName) { string uploadPath = NameParser.Parse(NameParserType.FolderPath, Prefix.Trim('/')); + + if ((RemoveExtensionImage && Helpers.IsImageFile(fileName)) || + (RemoveExtensionText && Helpers.IsTextFile(fileName)) || + (RemoveExtensionVideo && Helpers.IsVideoFile(fileName))) + { + fileName = Path.GetFileNameWithoutExtension(fileName); + } + return URLHelpers.CombineURL(uploadPath, fileName); } diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs index b4706deb0..f54107ddd 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs @@ -3137,16 +3137,19 @@ private void txtGoogleCloudStorageObjectPrefix_TextChanged(object sender, EventA private void cbGoogleCloudStorageStripExtensionImage_CheckedChanged(object sender, EventArgs e) { Config.GoogleCloudStorageRemoveExtensionImage = cbGoogleCloudStorageStripExtensionImage.Checked; + UpdateGoogleCloudStorageStatus(); } private void cbGoogleCloudStorageStripExtensionVideo_CheckedChanged(object sender, EventArgs e) { Config.GoogleCloudStorageRemoveExtensionVideo = cbGoogleCloudStorageStripExtensionVideo.Checked; + UpdateGoogleCloudStorageStatus(); } private void cbGoogleCloudStorageStripExtensionText_CheckedChanged(object sender, EventArgs e) { Config.GoogleCloudStorageRemoveExtensionText = cbGoogleCloudStorageStripExtensionText.Checked; + UpdateGoogleCloudStorageStatus(); } #endregion Google Cloud Storage diff --git a/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs b/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs index bfc8f9930..fbf24bb14 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigFormHelper.cs @@ -265,7 +265,10 @@ private void UpdateGoogleCloudStorageStatus() { Bucket = Config.GoogleCloudStorageBucket, Domain = Config.GoogleCloudStorageDomain, - Prefix = Config.GoogleCloudStorageObjectPrefix + Prefix = Config.GoogleCloudStorageObjectPrefix, + RemoveExtensionImage = Config.GoogleCloudStorageRemoveExtensionImage, + RemoveExtensionText = Config.GoogleCloudStorageRemoveExtensionText, + RemoveExtensionVideo = Config.GoogleCloudStorageRemoveExtensionVideo }; lblGoogleCloudStoragePathPreview.Text = gcs.GetPreviewURL(); diff --git a/ShareX/TaskSettings.cs b/ShareX/TaskSettings.cs index 163c93b2b..257b14208 100644 --- a/ShareX/TaskSettings.cs +++ b/ShareX/TaskSettings.cs @@ -455,7 +455,7 @@ public class TaskSettingsAdvanced Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))] public List ImageExtensions { get; set; } - [Category("Upload"), DefaultValue(false), Description("Copy URL before start upload. Only works for FTP, FTPS, SFTP and Dropbox public URLs.")] + [Category("Upload"), DefaultValue(false), Description("Copy URL before start upload. Only works for FTP, FTPS, SFTP, Dropbox, and Google Cloud Storage.")] public bool EarlyCopyURL { get; set; } [Category("Upload"), Description("Files with these file extensions will be uploaded using text uploader."),