public static string TestUploaders() { List <CheveretoTest> successful = new List <CheveretoTest>(); List <CheveretoTest> failed = new List <CheveretoTest>(); using (MemoryStream ms = new MemoryStream()) { using (Image logo = ShareXResources.Logo) { logo.Save(ms, ImageFormat.Png); } foreach (CheveretoUploader uploader in Uploaders) { try { Chevereto chevereto = new Chevereto(uploader); string filename = Helpers.GetRandomAlphanumeric(10) + ".png"; Stopwatch timer = Stopwatch.StartNew(); UploadResult result = chevereto.Upload(ms, filename); long uploadTime = timer.ElapsedMilliseconds; if (result != null && result.IsSuccess && !string.IsNullOrEmpty(result.URL)) { successful.Add(new CheveretoTest { Name = uploader.ToString(), UploadTime = uploadTime }); } else { failed.Add(new CheveretoTest { Name = uploader.ToString() }); } } catch (Exception e) { DebugHelper.WriteException(e); failed.Add(new CheveretoTest { Name = uploader.ToString() }); } } } return(string.Format("Successful uploads ({0}):\r\n\r\n{1}\r\n\r\nFailed uploads ({2}):\r\n\r\n{3}", successful.Count, string.Join("\r\n", successful.OrderBy(x => x.UploadTime)), failed.Count, string.Join("\r\n", failed))); }
public UploadResult UploadImage(Stream stream, string fileName) { ImageUploader imageUploader = null; switch (Info.TaskSettings.ImageDestination) { case ImageDestination.Imgur: if (Program.UploadersConfig.ImgurOAuth2Info == null) { Program.UploadersConfig.ImgurOAuth2Info = new OAuth2Info(APIKeys.ImgurClientID, APIKeys.ImgurClientSecret); } string albumID = null; if (Program.UploadersConfig.ImgurUploadSelectedAlbum && Program.UploadersConfig.ImgurSelectedAlbum != null) { albumID = Program.UploadersConfig.ImgurSelectedAlbum.id; } imageUploader = new Imgur_v3(Program.UploadersConfig.ImgurOAuth2Info) { UploadMethod = Program.UploadersConfig.ImgurAccountType, DirectLink = Program.UploadersConfig.ImgurDirectLink, ThumbnailType = Program.UploadersConfig.ImgurThumbnailType, UploadAlbumID = albumID }; break; case ImageDestination.ImageShack: Program.UploadersConfig.ImageShackSettings.ThumbnailWidth = Info.TaskSettings.AdvancedSettings.ThumbnailPreferredWidth; Program.UploadersConfig.ImageShackSettings.ThumbnailHeight = Info.TaskSettings.AdvancedSettings.ThumbnailPreferredHeight; imageUploader = new ImageShackUploader(APIKeys.ImageShackKey, Program.UploadersConfig.ImageShackSettings); break; case ImageDestination.TinyPic: imageUploader = new TinyPicUploader(APIKeys.TinyPicID, APIKeys.TinyPicKey, Program.UploadersConfig.TinyPicAccountType, Program.UploadersConfig.TinyPicRegistrationCode); break; case ImageDestination.Flickr: imageUploader = new FlickrUploader(APIKeys.FlickrKey, APIKeys.FlickrSecret, Program.UploadersConfig.FlickrAuthInfo, Program.UploadersConfig.FlickrSettings); break; case ImageDestination.Photobucket: imageUploader = new Photobucket(Program.UploadersConfig.PhotobucketOAuthInfo, Program.UploadersConfig.PhotobucketAccountInfo); break; case ImageDestination.Picasa: imageUploader = new Picasa(Program.UploadersConfig.PicasaOAuth2Info) { AlbumID = Program.UploadersConfig.PicasaAlbumID }; break; case ImageDestination.Twitter: OAuthInfo twitterOAuth = Program.UploadersConfig.TwitterOAuthInfoList.ReturnIfValidIndex(Program.UploadersConfig.TwitterSelectedAccount); imageUploader = new Twitter(twitterOAuth) { SkipMessageBox = Program.UploadersConfig.TwitterSkipMessageBox, DefaultMessage = Program.UploadersConfig.TwitterDefaultMessage ?? string.Empty }; break; case ImageDestination.Chevereto: imageUploader = new Chevereto(Program.UploadersConfig.CheveretoWebsite, Program.UploadersConfig.CheveretoAPIKey) { DirectURL = Program.UploadersConfig.CheveretoDirectURL }; break; case ImageDestination.HizliResim: imageUploader = new HizliResim() { DirectURL = true }; break; case ImageDestination.Vgyme: imageUploader = new VgymeUploader(); break; case ImageDestination.CustomImageUploader: CustomUploaderItem customUploader = GetCustomUploader(Program.UploadersConfig.CustomImageUploaderSelected); if (customUploader != null) { imageUploader = new CustomImageUploader(customUploader); } break; } if (imageUploader != null) { PrepareUploader(imageUploader); return imageUploader.Upload(stream, fileName); } return null; }
public static string TestUploaders() { List<CheveretoTest> successful = new List<CheveretoTest>(); List<CheveretoTest> failed = new List<CheveretoTest>(); using (MemoryStream ms = new MemoryStream()) { using (Image logo = ShareXResources.Logo) { logo.Save(ms, ImageFormat.Png); } foreach (CheveretoUploader uploader in Uploaders) { try { Chevereto chevereto = new Chevereto(uploader); string filename = Helpers.GetRandomAlphanumeric(10) + ".png"; Stopwatch timer = Stopwatch.StartNew(); UploadResult result = chevereto.Upload(ms, filename); long uploadTime = timer.ElapsedMilliseconds; if (result != null && result.IsSuccess && !string.IsNullOrEmpty(result.URL)) { successful.Add(new CheveretoTest { Name = uploader.ToString(), UploadTime = uploadTime }); } else { failed.Add(new CheveretoTest { Name = uploader.ToString() }); } } catch (Exception e) { DebugHelper.WriteException(e); failed.Add(new CheveretoTest { Name = uploader.ToString() }); } } } return string.Format("Successful uploads ({0}):\r\n\r\n{1}\r\n\r\nFailed uploads ({2}):\r\n\r\n{3}", successful.Count, string.Join("\r\n", successful.OrderBy(x => x.UploadTime)), failed.Count, string.Join("\r\n", failed)); }
private UploadResult UploadImage(string ssPath) { ImageUploader imageUploader = null; if (!string.IsNullOrEmpty(App.Settings.PtpImgCode)) { imageUploader = new PtpImageUploader(Crypt.Decrypt(App.Settings.PtpImgCode)); } else { switch (App.Settings.ProfileActive.ImageUploaderType) { case ImageDestination.Imgur: if (App.UploadersConfig.ImgurOAuth2Info == null) { App.UploadersConfig.ImgurOAuth2Info = new OAuth2Info(APIKeys.ImgurClientID, APIKeys.ImgurClientSecret); } string albumID = null; if (App.UploadersConfig.ImgurUploadSelectedAlbum && App.UploadersConfig.ImgurSelectedAlbum != null) { albumID = App.UploadersConfig.ImgurSelectedAlbum.id; } imageUploader = new Imgur(App.UploadersConfig.ImgurOAuth2Info) { UploadMethod = App.UploadersConfig.ImgurAccountType, DirectLink = App.UploadersConfig.ImgurDirectLink, ThumbnailType = App.UploadersConfig.ImgurThumbnailType, UploadAlbumID = albumID }; break; case ImageDestination.TinyPic: imageUploader = new TinyPicUploader(APIKeys.TinyPicID, APIKeys.TinyPicKey, App.UploadersConfig.TinyPicAccountType, App.UploadersConfig.TinyPicRegistrationCode); break; case ImageDestination.Flickr: imageUploader = new FlickrUploader(APIKeys.FlickrKey, APIKeys.FlickrSecret, App.UploadersConfig.FlickrAuthInfo, App.UploadersConfig.FlickrSettings); break; case ImageDestination.Photobucket: imageUploader = new Photobucket(App.UploadersConfig.PhotobucketOAuthInfo, App.UploadersConfig.PhotobucketAccountInfo); break; case ImageDestination.Picasa: imageUploader = new Picasa(App.UploadersConfig.PicasaOAuth2Info) { AlbumID = App.UploadersConfig.PicasaAlbumID }; break; case ImageDestination.Twitter: OAuthInfo twitterOAuth = App.UploadersConfig.TwitterOAuthInfoList.ReturnIfValidIndex(App.UploadersConfig.TwitterSelectedAccount); imageUploader = new Twitter(twitterOAuth); break; case ImageDestination.Chevereto: imageUploader = new Chevereto(App.UploadersConfig.CheveretoWebsite, App.UploadersConfig.CheveretoAPIKey) { DirectURL = App.UploadersConfig.CheveretoDirectURL }; break; case ImageDestination.HizliResim: imageUploader = new HizliResim() { DirectURL = true }; break; case ImageDestination.CustomImageUploader: if (App.UploadersConfig.CustomUploadersList.IsValidIndex(App.UploadersConfig.CustomImageUploaderSelected)) { imageUploader = new CustomImageUploader(App.UploadersConfig.CustomUploadersList[App.UploadersConfig.CustomImageUploaderSelected]); } break; case ImageDestination.FileUploader: return UploadFile(ssPath); } } if (imageUploader != null) { PrepareUploader(imageUploader); return imageUploader.Upload(ssPath); } return null; }