public string GetCustomUploaderName(int index, TaskSettings taskSettings) { if (taskSettings.OverrideCustomUploader) { index = taskSettings.CustomUploaderIndex.BetweenOrDefault(0, Program.UploadersConfig.CustomUploadersList.Count - 1); } CustomUploaderItem cui = Program.UploadersConfig.CustomUploadersList.ReturnIfValidIndex(index); if (cui != null) { return(cui.ToString()); } return(null); }
public override GenericUploader CreateUploader(UploadersConfig config, TaskReferenceHelper taskInfo) { int index; if (taskInfo.OverrideCustomUploader) { index = taskInfo.CustomUploaderIndex.BetweenOrDefault(0, config.CustomUploadersList.Count - 1); } else { index = config.CustomFileUploaderSelected; } CustomUploaderItem customUploader = config.CustomUploadersList.ReturnIfValidIndex(index); if (customUploader != null) { return(new CustomFileUploader(customUploader)); } return(null); }
public string GenerateURL(string uploadPath) { if (!string.IsNullOrEmpty(Settings.Endpoint) && !string.IsNullOrEmpty(Settings.Bucket)) { uploadPath = URLHelpers.URLPathEncode(uploadPath); string url; if (Settings.UseCustomCNAME && !string.IsNullOrEmpty(Settings.CustomDomain)) { string parsedDomain = new CustomUploaderItem().ParseURL(Settings.CustomDomain, false); url = URLHelpers.CombineURL(parsedDomain, uploadPath); } else { url = URLHelpers.CombineURL(Settings.Endpoint, Settings.Bucket, uploadPath); } return(URLHelpers.FixPrefix(url, "https://")); } return(""); }
public CustomTextUploader(CustomUploaderItem customUploaderItem) { customUploader = customUploaderItem; }
public CustomImageUploader(CustomUploaderItem customUploaderItem) { customUploader = customUploaderItem; }
public CustomURLShortener(CustomUploaderItem customUploaderItem) { customUploader = customUploaderItem; }
public CustomURLSharer(CustomUploaderItem customUploaderItem) { uploader = customUploaderItem; }
private void TestCustomUploader(CustomUploaderType type, CustomUploaderItem item) { UploadResult result = null; txtCustomUploaderLog.ResetText(); TaskEx.Run(() => { try { switch (type) { case CustomUploaderType.Image: using (Stream stream = ShareXResources.Logo.GetStream()) { CustomImageUploader imageUploader = new CustomImageUploader(item); result = imageUploader.Upload(stream, "Test.png"); result.Errors = imageUploader.Errors; } break; case CustomUploaderType.Text: CustomTextUploader textUploader = new CustomTextUploader(item); result = textUploader.UploadText(Application.ProductName + " text upload test", "Test.txt"); result.Errors = textUploader.Errors; break; case CustomUploaderType.File: using (Stream stream = ShareXResources.Logo.GetStream()) { CustomFileUploader fileUploader = new CustomFileUploader(item); result = fileUploader.Upload(stream, "Test.png"); result.Errors = fileUploader.Errors; } break; case CustomUploaderType.URL: CustomURLShortener urlShortener = new CustomURLShortener(item); result = urlShortener.ShortenURL(Links.URL_WEBSITE); result.Errors = urlShortener.Errors; break; } } catch (Exception e) { result = new UploadResult(); result.Errors.Add(e.Message); } }, () => { if (result != null) { if ((type != CustomUploaderType.URL && !string.IsNullOrEmpty(result.URL)) || (type == CustomUploaderType.URL && !string.IsNullOrEmpty(result.ShortenedURL))) { txtCustomUploaderLog.AppendText("URL: " + result + Environment.NewLine); } else if (result.IsError) { txtCustomUploaderLog.AppendText("Error: " + result.ErrorsToString() + Environment.NewLine); } else { txtCustomUploaderLog.AppendText("Error: Result is empty." + Environment.NewLine); } txtCustomUploaderLog.ScrollToCaret(); btnCustomUploaderShowLastResponse.Tag = result.Response; btnCustomUploaderShowLastResponse.Enabled = !string.IsNullOrEmpty(result.Response); } btnCustomUploaderImageUploaderTest.Enabled = btnCustomUploaderTextUploaderTest.Enabled = btnCustomUploaderFileUploaderTest.Enabled = btnCustomUploaderURLShortenerTest.Enabled = true; }); }
private void LoadCustomUploader(CustomUploaderItem customUploader) { txtCustomUploaderName.Text = customUploader.Name; cbCustomUploaderRequestType.SelectedIndex = (int)customUploader.RequestType; txtCustomUploaderRequestURL.Text = customUploader.RequestURL; txtCustomUploaderFileForm.Text = customUploader.FileFormName; txtCustomUploaderFileForm.Enabled = customUploader.RequestType == CustomUploaderRequestType.POST; txtCustomUploaderArgName.Text = string.Empty; txtCustomUploaderArgValue.Text = string.Empty; lvCustomUploaderArguments.Items.Clear(); foreach (KeyValuePair<string, string> arg in customUploader.Arguments) { lvCustomUploaderArguments.Items.Add(arg.Key).SubItems.Add(arg.Value); } cbCustomUploaderResponseType.SelectedIndex = (int)customUploader.ResponseType; txtCustomUploaderRegexp.Text = string.Empty; lvCustomUploaderRegexps.Items.Clear(); foreach (string regexp in customUploader.RegexList) { lvCustomUploaderRegexps.Items.Add(regexp); } txtCustomUploaderURL.Text = customUploader.URL; txtCustomUploaderThumbnailURL.Text = customUploader.ThumbnailURL; txtCustomUploaderDeletionURL.Text = customUploader.DeletionURL; }
public CustomFileUploader(CustomUploaderItem customUploaderItem) { customUploader = customUploaderItem; }
private void AddCustomUploader(CustomUploaderItem customUploader) { if (customUploader != null && !string.IsNullOrEmpty(customUploader.Name)) { Config.CustomUploadersList.Add(customUploader); lbCustomUploaderList.Items.Add(customUploader.Name); lbCustomUploaderList.SelectedIndex = lbCustomUploaderList.Items.Count - 1; PrepareCustomUploaderList(); } }
public static void AddCustomUploader(string filePath) { if (Program.UploadersConfig != null) { try { CustomUploaderItem cui = JsonHelpers.DeserializeFromFilePath <CustomUploaderItem>(filePath); if (cui != null) { bool activate = false; if (cui.DestinationType == CustomUploaderDestinationType.None) { DialogResult result = MessageBox.Show($"Would you like to add \"{cui.Name}\" custom uploader?", "ShareX - Custom uploader confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.No) { return; } } else { List <string> destinations = new List <string>(); if (cui.DestinationType.Has(CustomUploaderDestinationType.ImageUploader)) { destinations.Add("images"); } if (cui.DestinationType.Has(CustomUploaderDestinationType.TextUploader)) { destinations.Add("texts"); } if (cui.DestinationType.Has(CustomUploaderDestinationType.FileUploader)) { destinations.Add("files"); } if (cui.DestinationType.Has(CustomUploaderDestinationType.URLShortener)) { destinations.Add("urls"); } string destinationsText = string.Join("/", destinations); DialogResult result = MessageBox.Show($"Would you like to set \"{cui.Name}\" as the active custom uploader for {destinationsText}?", "ShareX - Custom uploader confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { activate = true; } else if (result == DialogResult.Cancel) { return; } } Program.UploadersConfig.CustomUploadersList.Add(cui); if (activate) { int index = Program.UploadersConfig.CustomUploadersList.Count - 1; if (cui.DestinationType.Has(CustomUploaderDestinationType.ImageUploader)) { Program.UploadersConfig.CustomImageUploaderSelected = index; Program.DefaultTaskSettings.ImageDestination = ImageDestination.CustomImageUploader; } if (cui.DestinationType.Has(CustomUploaderDestinationType.TextUploader)) { Program.UploadersConfig.CustomTextUploaderSelected = index; Program.DefaultTaskSettings.TextDestination = TextDestination.CustomTextUploader; } if (cui.DestinationType.Has(CustomUploaderDestinationType.FileUploader)) { Program.UploadersConfig.CustomFileUploaderSelected = index; Program.DefaultTaskSettings.FileDestination = FileDestination.CustomFileUploader; } if (cui.DestinationType.Has(CustomUploaderDestinationType.URLShortener)) { Program.UploadersConfig.CustomURLShortenerSelected = index; Program.DefaultTaskSettings.URLShortenerDestination = UrlShortenerType.CustomURLShortener; } Program.MainForm.UpdateCheckStates(); Program.MainForm.UpdateUploaderMenuNames(); if (UploadersConfigForm.IsInstanceActive) { UploadersConfigForm.UpdateCustomUploaderTab(); } } } } catch (Exception e) { DebugHelper.WriteException(e); } } }
public CustomFileUploader(CustomUploaderItem customUploaderItem) { uploader = customUploaderItem; }
private CustomUploaderItem GetCustomUploaderFromFields() { CustomUploaderItem item = new CustomUploaderItem(txtCustomUploaderName.Text); foreach (ListViewItem lvItem in lvCustomUploaderArguments.Items) { item.Arguments.Add(lvItem.Text, lvItem.SubItems[1].Text); } item.RequestType = (CustomUploaderRequestType)cbCustomUploaderRequestType.SelectedIndex; item.RequestURL = txtCustomUploaderRequestURL.Text; item.FileFormName = txtCustomUploaderFileForm.Text; item.ResponseType = (ResponseType)cbCustomUploaderResponseType.SelectedIndex; foreach (ListViewItem lvItem in lvCustomUploaderRegexps.Items) { item.RegexList.Add(lvItem.Text); } item.URL = txtCustomUploaderURL.Text; item.ThumbnailURL = txtCustomUploaderThumbnailURL.Text; item.DeletionURL = txtCustomUploaderDeletionURL.Text; return item; }