private void TestCustomUploader(CustomUploaderType type, CustomUploaderItem item) { btnCustomUploaderImageUploaderTest.Enabled = btnCustomUploaderTextUploaderTest.Enabled = btnCustomUploaderFileUploaderTest.Enabled = btnCustomUploaderURLShortenerTest.Enabled = false; UploadResult result = null; txtCustomUploaderLog.ResetText(); TaskEx.Run(() => { try { switch (type) { case CustomUploaderType.Image: using (Stream stream = ShareXYZResources.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("ShareXYZ text upload test", "Test.txt"); result.Errors = textUploader.Errors; break; case CustomUploaderType.File: using (Stream stream = ShareXYZResources.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 (!IsDisposed) { if (result != null) { if ((type != CustomUploaderType.URL && !string.IsNullOrEmpty(result.URL)) || (type == CustomUploaderType.URL && !string.IsNullOrEmpty(result.ShortenedURL))) { txtCustomUploaderLog.AppendText("URL: " + result + Environment.NewLine); if (!string.IsNullOrEmpty(result.ThumbnailURL)) { txtCustomUploaderLog.AppendText("Thumbnail URL: " + result.ThumbnailURL + Environment.NewLine); } if (!string.IsNullOrEmpty(result.DeletionURL)) { txtCustomUploaderLog.AppendText("Deletion URL: " + result.DeletionURL + Environment.NewLine); } } else if (result.IsError) { txtCustomUploaderLog.AppendText(Resources.UploadersConfigForm_Error + ": " + result.ErrorsToString() + Environment.NewLine); } else { txtCustomUploaderLog.AppendText(Resources.UploadersConfigForm_TestCustomUploader_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 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; }
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; }
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(); } }