public static string GetEpicData(string gameName) { using (var client = new WebStoreClient()) { string Description = string.Empty; var catalogs = client.QuerySearch(gameName).GetAwaiter().GetResult(); if (catalogs.HasItems()) { var product = client.GetProductInfo(catalogs[0].productSlug, PlayniteLanguage).GetAwaiter().GetResult(); if (product.pages.HasItems()) { var page = product.pages.FirstOrDefault(a => a.type == "productHome"); if (page == null) { page = product.pages[0]; } Description = page.data.about.description; if (!Description.IsNullOrEmpty()) { Description = Description.Replace("\n", "\n<br>"); Description = Markup.MarkdownToHtml(Description); } } } return(Description); } }
public static List <SearchResult> GetMultiEpicData(string searchTerm) { #if DEBUG logger.Debug($"MetadataLocal - GetMultiEpicData({searchTerm})"); #endif var results = new List <SearchResult>(); try { using (var client = new WebStoreClient()) { var catalogs = client.QuerySearch(searchTerm).GetAwaiter().GetResult(); if (catalogs.HasItems()) { foreach (var gameInfo in catalogs) { results.Add(new SearchResult { Name = gameInfo.title, ImageUrl = gameInfo.keyImages.Find(x => x.type == "OfferImageWide").url, StoreName = "Epic", StoreId = gameInfo.id }); } } } } catch (Exception ex) { Common.LogError(ex, "MetadataLocal", $"Failed to download data for {searchTerm}"); } return(results); }
public static string GetEpicData(string gameName) { using (var client = new WebStoreClient()) { string Description = string.Empty; var catalogs = client.QuerySearch(gameName).GetAwaiter().GetResult(); if (catalogs.HasItems()) { var product = client.GetProductInfo(catalogs[0].productSlug, PlayniteLanguage).GetAwaiter().GetResult(); if (product.pages.HasItems()) { var page = product.pages.FirstOrDefault(a => a.type is string type && type == "productHome"); if (page == null) { page = product.pages[0]; } Description = page.data.about.description; if (!Description.IsNullOrEmpty()) { Description = Description.Replace("\n", "\n<br>"); Description = Markup.MarkdownToHtml(Description); Description = Regex.Replace( Description, "!\\[[a-zA-Z0-9- -_]*\\][\\s]*\\(((ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?)\\)", "<img src=\"$1\"/>"); } } } return(Description); } }