Exemplo n.º 1
0
        public virtual bool MatchesFilter(ProxyFilter pf)
        {
            if (pf == null)
            {
                return(true);
            }
            if (pf.Site != null)
            {
                var score = ProxySiteScores.FirstOrDefault(f => string.Equals(pf.Site, f.Site, StringComparison.OrdinalIgnoreCase));

                if (score != null)
                {
                    if (pf.NotBanned && score.Banned)
                    {
                        return(false);
                    }

                    if (pf.MinSiteScore != null && pf.MinSiteScore.Value > score.Score)
                    {
                        return(false);
                    }
                }

                if (pf.Score != null && pf.Score > this.Score)
                {
                    return(false);
                }
                else
                {
                    // If there are no proxies for the site, then we will consider it to match until we are told differently.
                    return(true);
                }
            }
            return(true);
        }
Exemplo n.º 2
0
        public virtual string GetLogInfo(string site = null)
        {
            string result = $"{URL} Score: {Score} ID: {ProxyId} Sess Succ: {SessionSuccesses} Sess Fail: {SessionFailures} Tot Suc: {TotalSuccesses} Tot Fail: {TotalFailures}";

            if (site != null)
            {
                result += "\n";
                var score = ProxySiteScores.FirstOrDefault(s => s.Site == site);
                if (score == null)
                {
                    result += $"No Score available for this proxy on [{site}]";
                }
                else
                {
                    result += $"Site: {score.Site} Banned: {score.Banned} Score: {score.Score} Streak: {score.Streak}";
                }
            }
            return(result);
        }