public Mapping(AddonSiteId addonSiteId, string addonTag) { AddonSiteId = addonSiteId; AddonTag = addonTag; RemoteVersion = String.Empty; LastUpdated = DateTime.MinValue; }
private void CreateMappings(string tag, AddonSiteId siteId) { txtOut.Text = string.Empty; var tagList = tag.Split(','); foreach (var itTag in tagList) { var currTag = itTag.Trim(); try { var site = AddonSiteBase.GetSite(siteId); var map = new Mapping(siteId, currTag) { Addon = new Addon("tag") }; var downLink = site.GetFilePath(map); var archiveFilePath = WebHelper.DownloadFileToTemp(downLink); var cont = ArchiveHelper.GetArchiveContent(archiveFilePath); var folderList = new List <string>(); foreach (var s in cont) { var index = s.IndexOf("\\"); if (index > 0) { Helpers.AddIfNeeded(folderList, s.Substring(0, index)); } } var main = string.Empty; for (var i = 0; i < folderList.Count; i++) { var s = folderList[i]; if (i == 0) { txtOut.Text += string.Format(@"GetAddon(""{0}"").Mappings.Add(new Mapping(""{1}"", AddonSiteId.{2}));{3}", s, currTag, siteId, Environment.NewLine); main = s; } else { txtOut.Text += string.Format(@"GetAddon(""{0}"").SubAddons.Add(GetAddon(""{1}""));{2}", main, s, Environment.NewLine); } } } catch { txtOut.Text += string.Format(@"Tag ""{0}"" failed{1}", currTag, Environment.NewLine); } txtOut.Text += Environment.NewLine; Application.DoEvents(); //System.Threading.Thread.Sleep(1000); } }
public static AddonSiteBase GetSite(AddonSiteId addonSiteId) { AddonSiteBase site = null; // Lock the Dictionary lock (SiteDict) { // Get the Site if it's already created if (SiteDict.ContainsKey(addonSiteId)) { site = SiteDict[addonSiteId]; } // If not, create it if (site == null) { if (addonSiteId == AddonSiteId.wowace) { site = new SiteWowAce(); } else if (addonSiteId == AddonSiteId.wowinterface) { site = new SiteWowInterface(); } else if (addonSiteId == AddonSiteId.curse) { site = new SiteCurse(); } else if (addonSiteId == AddonSiteId.curseforge) { site = new SiteCurseForge(); } else if (addonSiteId == AddonSiteId.blizzard) { site = new SiteBlizzard(); } else if (addonSiteId == AddonSiteId.wowspecial) { site = new SiteWowSpecial(); } else if (addonSiteId == AddonSiteId.direct) { site = new SiteDirect(); } // Add the Site to the Dict SiteDict.Add(addonSiteId, site); } } // Return the site return(site); }
public WebBrowserForm(string url, AddonSiteId addonSiteId, string addonName) { _addonSiteId = addonSiteId; InitializeComponent(); ChangeUserAgent(); // Set the Title Text = "DL: " + addonName; // Initialize Browser btnBack.Enabled = false; btnForward.Enabled = false; webBrowser1.CanGoBackChanged += webBrowser1_CanGoBackChanged; webBrowser1.CanGoForwardChanged += webBrowser1_CanGoForwardChanged; webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.NewWindow += webBrowser1_NewWindow; // Navigate webBrowser1.Navigate(url); }
public static CookieContainer GetCookies(AddonSiteId addonSiteId) { lock (CookieDict) { if (CookieDict.ContainsKey(addonSiteId)) { return(CookieDict[addonSiteId]); } CookieContainer cookies = null; if (addonSiteId == AddonSiteId.curseforge) { cookies = GetCurseForgeCookies(Config.Instance.CurseLogin, Config.Instance.CursePassword); } else if (addonSiteId == AddonSiteId.wowace) { cookies = GetWowAceCookies(Config.Instance.CurseLogin, Config.Instance.CursePassword); } CookieDict.Add(addonSiteId, cookies); return(CookieDict[addonSiteId]); } }
public static List <string> GetHtml(string url, AddonSiteId addonSiteId) { return(GetHtml(url, CookieManager.GetCookies(addonSiteId))); }