Exemplo n.º 1
0
        public Mapping(AddonSiteId addonSiteId, string addonTag)
        {
            AddonSiteId = addonSiteId;
            AddonTag    = addonTag;

            RemoteVersion = String.Empty;
            LastUpdated   = DateTime.MinValue;
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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]);
            }
        }
Exemplo n.º 6
0
 public static List <string> GetHtml(string url, AddonSiteId addonSiteId)
 {
     return(GetHtml(url, CookieManager.GetCookies(addonSiteId)));
 }