public async void LoadPosts() { var client = new ImgurClient("749421e4eed8f22", "87f3637908d8c0fa86c567db9e447ad166a9abdb"); var endpoint = new GalleryEndpoint(client); var images = await endpoint.GetGalleryAsync(); foreach (var image in images) { if (image.GetType() == typeof(GalleryImage)) { var img = (GalleryImage)image; var post = new Post(img.Id); posts.AddLast(post); } else { var album = (GalleryAlbum)image; foreach (var albm in album.Images) { posts.AddLast(new Post(albm.Id)); Console.WriteLine("Album image found:" + albm.Id); } } } currentPost = posts.First; updatePicture(); }
private async void LoadMainGallery() { var galleryEndpoint = new GalleryEndpoint(_currentUser.ApiClient, _currentUser.HttpClient); _listBox = new ListBox(); ImageViewer.Content = _listBox; var images = await galleryEndpoint.GetGalleryAsync(new GalleryParametersObject()); foreach (var image in images.Where(s => s.Height > 0 && s.Width > 0 && !string.IsNullOrEmpty(s.Link))) { _listBox.Items?.Add(new Image { Source = new BitmapImage { UriSource = new Uri(image.Link), DecodePixelHeight = 300, DecodePixelWidth = 300, }, Height = 300, Width = 300, Name = image.Id }); } }
public async void GetGallery() { var client = new ImgurClient("59b901759d20a52"); var endpoint = new GalleryEndpoint(client); var gallery = await endpoint.GetGalleryAsync(); DataFromImgur.Gallery.Add(gallery); }
public static IEnumerable <GalleryAlbumWrapper> GetAlbums(string clientId, int limit, int tries) { var client = new ImgurClient(clientId); var endpoint = new GalleryEndpoint(client); var ret = new List <GalleryAlbumWrapper>(limit); int errors = 0; for (int page = 0; page < 50; page++) { try { var albumsTask = endpoint.GetGalleryAsync(GallerySection.User, GallerySortOrder.Rising, TimeWindow.Day, page, true); albumsTask.Wait(); foreach (var album in albumsTask.Result.OfType <GalleryAlbum>()) { if (ret.Count == limit) { break; } ret.Add(new GalleryAlbumWrapper(album)); } //reset the error counter errors = 0; } catch (AggregateException ex) // when(ex.InnerException.Message== "Imgur is temporarily over capacity.Please try again later.") { //after 3 errors just bail and return what we got errors++; if (errors >= tries) { return(ret); } //otherwise try the same page again page--; Thread.Sleep(1000); } if (ret.Count == limit) { return(ret); } } return(ret); }
public async Task GetGalleryAsync_DefaultParameters_Any() { var mockUrl = "https://api.imgur.com/3/gallery/hot/viral/day/?showViral=true"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockGalleryEndpointResponses.GetGallery) }; var client = new ImgurClient("123", "1234", MockOAuth2Token); var endpoint = new GalleryEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var gallery = await endpoint.GetGalleryAsync().ConfigureAwait(false); Assert.True(gallery.Any()); }
//public async Task<IImage> GetPopularImages() //{ // var client = new ImgurClient("59b901759d20a52"); // var endpoint = new GalleryEndpoint(client); // var gallery = await endpoint.GetGalleryAsync(); // foreach (var item in gallery) // { // if (item.GetType() == typeof(Imgur.API.Models.Impl.GalleryImage)) // { // var endp = new ImageEndpoint(client); // var im = endp.GetImageAsync(item.GetType().GetProperty("Id").GetValue(item).ToString()); // return im.Result; // } // } // return null; //} async void GetAlbums() { var client = new ImgurClient(ClientID); var endpoint = new GalleryEndpoint(client); var gallery = await endpoint.GetGalleryAsync(); foreach (var item in gallery) { if (item.GetType() == typeof(Imgur.API.Models.Impl.GalleryAlbum)) { var endp = new GalleryEndpoint(client); var galleryAlbum = endp.GetGalleryAlbumAsync(item.GetType().GetProperty("Id").GetValue(item).ToString()); Albums.Add(galleryAlbum.Result); } } }
public async Task GetGalleryAsync_WithUserRisingMonth2ShowViralFalse_Any() { var mockUrl = "https://api.imgur.com/3/gallery/user/rising/month/2?showViral=false"; var mockResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(MockGalleryEndpointResponses.GetGallery) }; var client = new ImgurClient("123", "1234", MockOAuth2Token); var endpoint = new GalleryEndpoint(client, new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse))); var gallery = await endpoint.GetGalleryAsync(GallerySection.User, GallerySortOrder.Rising, TimeWindow.Month, 2, false).ConfigureAwait(false); Assert.True(gallery.Any()); }
private async Task GetGalleryImagesAsync(string query) { var endpoint = new GalleryEndpoint(new ImgurClient(Constants.appId)); IEnumerable <IGalleryItem> images = await endpoint.GetGalleryAsync(); if (this.images != null) { this.images.Clear(); } this.images = FilterClass <IGalleryItem> .convertList(query, images.ToList()); _adapter = new LvImgBinder(this, Resource.Layout.listview_model, this.images, currentUser); RunOnUiThread(() => { _lv.Adapter = _adapter; _lv.ItemClick += lv_ItemClick; }); }
private async void Search_Button_Clicked(object sender, RoutedEventArgs e) { var galleryEndpoint = new GalleryEndpoint(_currentUser.ApiClient, _currentUser.HttpClient); _listBox = new ListBox(); ImageViewer.Content = _listBox; var sectionType = ConfigurationManager.Instance.ParseEnum <GallerySectionType>(((ComboBoxItem)SectionTypeComboBox.SelectedItem)?.Content?.ToString()); var sortType = ConfigurationManager.Instance.ParseEnum <GallerySortType>(((ComboBoxItem)SortTypeComboBox.SelectedItem)?.Content?.ToString()); var windowType = ConfigurationManager.Instance.ParseEnum <GalleryWindowType>(((ComboBoxItem)WindowTypeComboBox.SelectedItem)?.Content?.ToString()); var parametersObject = new GalleryParametersObject { ExactSearch = SearchBox.Text, SectionType = sectionType, SortType = sortType, WindowType = windowType }; var images = await galleryEndpoint.GetGalleryAsync(parametersObject); foreach (var image in images.Where(s => s.Height > 0 && s.Width > 0 && !string.IsNullOrEmpty(s.Link))) { _listBox.Items?.Add(new Image { Source = new BitmapImage { UriSource = new Uri(image.Link), DecodePixelHeight = 300, DecodePixelWidth = 300, }, Height = 300, Width = 300, Name = image.Id }); } }