add proxy and set it to init score :param proxy: proxy, ip:port, like 8.8.8.8:88 :param score: int score :return: result
(self, proxy: Proxy, score=PROXY_SCORE_INIT, redis_key=REDIS_KEY)
| 35 | host=host, port=port, password=password, db=db, decode_responses=True, **kwargs) |
| 36 | |
| 37 | def add(self, proxy: Proxy, score=PROXY_SCORE_INIT, redis_key=REDIS_KEY) -> int: |
| 38 | """ |
| 39 | add proxy and set it to init score |
| 40 | :param proxy: proxy, ip:port, like 8.8.8.8:88 |
| 41 | :param score: int score |
| 42 | :return: result |
| 43 | """ |
| 44 | if not is_valid_proxy(f'{proxy.host}:{proxy.port}'): |
| 45 | logger.info(f'invalid proxy {proxy}, throw it') |
| 46 | return |
| 47 | if not self.exists(proxy, redis_key): |
| 48 | if IS_REDIS_VERSION_2: |
| 49 | return self.db.zadd(redis_key, score, proxy.string()) |
| 50 | return self.db.zadd(redis_key, {proxy.string(): score}) |
| 51 | |
| 52 | def random(self, redis_key=REDIS_KEY, proxy_score_min=PROXY_SCORE_MIN, proxy_score_max=PROXY_SCORE_MAX) -> Proxy: |
| 53 | """ |
no test coverage detected