private PotentialAddon ToPotentialAddon(TukUiAddon addon) { return(new PotentialAddon { Author = addon.Author, DownloadCount = int.Parse(addon.Downloads), ExternalId = addon.Id, ExternalUrl = addon.WebUrl, Name = addon.Name, ProviderName = Name, ThumbnailUrl = addon.ScreenshotUrl }); }
private AddonSearchResult ToSearchResult(TukUiAddon addon, string folderName) { return(new AddonSearchResult { Author = addon.Author, ExternalId = addon.Id, Folders = new[] { folderName }, GameVersion = addon.Patch, Name = addon.Name, ThumbnailUrl = addon.ScreenshotUrl, Version = addon.Version, DownloadUrl = addon.Url, ExternalUrl = addon.WebUrl }); }
public async Task Scan( WowClientType clientType, AddonChannelType addonChannelType, IEnumerable <AddonFolder> addonFolders) { Log.Debug($"{Name} Scanning {addonFolders.Count()} addons"); var addons = await GetAllAddons(clientType); foreach (var addonFolder in addonFolders) { TukUiAddon addon = null; if (!string.IsNullOrEmpty(addonFolder.Toc.TukUiProjectId)) { addon = addons.FirstOrDefault(a => a.Id == addonFolder.Toc.TukUiProjectId); } else { var results = await SearchAddons(clientType, addonFolder.Toc.Title); addon = results.FirstOrDefault(); } if (addon != null) { addonFolder.MatchingAddon = new Addon { Author = addon.Author, AutoUpdateEnabled = false, ChannelType = addonChannelType, ClientType = clientType, DownloadUrl = addon.Url, ExternalId = addon.Id, ExternalUrl = addon.WebUrl, FolderName = addonFolder.Name, Name = addon.Name, GameVersion = addon.Patch, InstalledAt = DateTime.UtcNow, InstalledFolders = addonFolder.Name, InstalledVersion = addonFolder.Toc.Version, IsIgnored = false, LatestVersion = addon.Version, ProviderName = Name, ThumbnailUrl = addon.ScreenshotUrl }; } } }
private AddonSearchResult ToSearchResult(TukUiAddon addon, string folderName) { var latestFile = new AddonSearchResultFile { ChannelType = AddonChannelType.Stable, Folders = new[] { folderName }, DownloadUrl = addon.Url, GameVersion = addon.Patch, Version = addon.Version }; return(new AddonSearchResult { Author = addon.Author, ExternalId = addon.Id, Name = addon.Name, ThumbnailUrl = addon.ScreenshotUrl, ExternalUrl = addon.WebUrl, ProviderName = Name, Files = new[] { latestFile } }); }