Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using Imgur.API;
- using Imgur.API.Authentication.Impl;
- using Imgur.API.Endpoints.Impl;
- using Imgur.API.Enums;
- using Imgur.API.Models;
- using Microsoft.Win32;
- using Ookii.Dialogs;
- namespace NoWaifuNoLaifu
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- private string clientId;
- private string clientSecret;
- private IAlbum album;
- private List<string> imageUrls = new List<string>();
- private ImageEndpoint imageEnd;
- private AlbumEndpoint albumEnd;
- private List<IImage> images = new List<IImage>();
- public MainWindow()
- {
- InitializeComponent();
- clientId = File.ReadAllText("clientid.txt");
- clientSecret = File.ReadAllText("clientsecret.txt");
- var client = new ImgurClient(clientId, clientSecret);
- imageEnd = new ImageEndpoint(client);
- albumEnd = new AlbumEndpoint(client);
- }
- public async Task CreateAlbum(string albumname)
- {
- try
- {
- List<string> ids = images.Select(x => x.DeleteHash).ToList();
- album = await albumEnd.CreateAlbumAsync(albumname, "",
- AlbumPrivacy.Hidden, AlbumLayout.Vertical, null, ids); //, images[0].DeleteHash, ids
- //album.Nsfw = true;
- //await albumEnd.UpdateAlbumAsync(album.DeleteHash);
- album.Link = @"http://www.imgur.com/gallery/" + album.Id;
- Debug.WriteLine("Album done: " + album.Link);
- }
- catch (ImgurException imgurEx)
- {
- Debug.Write("An error occurred uploading an image to Imgur.");
- Debug.Write(imgurEx.Message);
- }
- }
- public async Task UploadImage(string imageLocation)
- {
- try
- {
- IImage image;
- using (var fs = new FileStream(imageLocation, FileMode.Open))
- {
- image = await imageEnd.UploadImageStreamAsync(fs);
- }
- images.Add(image);
- Debug.WriteLine("Image uploaded. Image Url: " + image.Link);
- }
- catch (ImgurException imgurEx)
- {
- Debug.Write("An error occurred uploading an image to Imgur.");
- Debug.Write(imgurEx.Message);
- }
- }
- private async void StartButton_OnClick(object sender, RoutedEventArgs e)
- {
- var dialog = new Ookii.Dialogs.Wpf.VistaFolderBrowserDialog();
- // new System.Windows.Forms.FolderBrowserDialog())
- var result = dialog.ShowDialog();
- if (result == true)
- {
- string[] levels = dialog.SelectedPath.Split('\\');
- string foldername = levels[levels.Length - 1];
- string[] filenames = Directory.GetFiles(dialog.SelectedPath);
- string[] words = InputTextBox.Text.Split(' ');
- if (words.Length > filenames.Length)
- {
- MessageBox.Show("Noooooo, you don't have enough Appreciation(images), for your Message.");
- return;
- }
- for (int i = 0; i < words.Length; i++)
- {
- await UploadImage(filenames[i]);
- }
- await CreateAlbum(foldername);
- /*
- List<string> ids = images.Select(x => x.Id).ToList();
- List<string> idsd = images.Select(x => x.DeleteHash).ToList();
- try
- {
- await albumEnd.AddAlbumImagesAsync(album.DeleteHash, ids);
- }
- catch (ImgurException imgurEx)
- {
- Debug.Write("An error occurred uploading an image to Imgur.");
- Debug.Write(imgurEx.Message);
- }
- */
- string outputText = "";
- for (int i = 0; i < words.Length; i++)
- {
- outputText += "[" + words[i] + "](" + images[i].Link + ") ";
- }
- outputText += "Full album: " + album.Link;
- OutputTextBox.Text = outputText;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement