mirror of
https://github.com/soxoj/maigret.git
synced 2026-05-07 14:34:33 +00:00
Mirrors (#630)
* Update checking.py * Added attempts check and mirrors Co-authored-by: Soxoj <soxoj@protonmail.com> Co-authored-by: Soxoj <31013580+soxoj@users.noreply.github.com>
This commit is contained in:
+8
-3
@@ -10,6 +10,7 @@ import re
|
|||||||
import ssl
|
import ssl
|
||||||
import sys
|
import sys
|
||||||
import tqdm
|
import tqdm
|
||||||
|
import random
|
||||||
from typing import Tuple, Optional, Dict, List
|
from typing import Tuple, Optional, Dict, List
|
||||||
from urllib.parse import quote
|
from urllib.parse import quote
|
||||||
|
|
||||||
@@ -397,7 +398,7 @@ def process_site_result(
|
|||||||
|
|
||||||
|
|
||||||
def make_site_result(
|
def make_site_result(
|
||||||
site: MaigretSite, username: str, options: QueryOptions, logger
|
site: MaigretSite, username: str, options: QueryOptions, logger, *args, **kwargs
|
||||||
) -> QueryResultWrapper:
|
) -> QueryResultWrapper:
|
||||||
results_site: QueryResultWrapper = {}
|
results_site: QueryResultWrapper = {}
|
||||||
|
|
||||||
@@ -421,6 +422,10 @@ def make_site_result(
|
|||||||
if "url" not in site.__dict__:
|
if "url" not in site.__dict__:
|
||||||
logger.error("No URL for site %s", site.name)
|
logger.error("No URL for site %s", site.name)
|
||||||
|
|
||||||
|
if kwargs.get('retry') and hasattr(site, "mirrors"):
|
||||||
|
site.url_main = random.choice(site.mirrors)
|
||||||
|
logger.info(f"Use {site.url_main} as a main url of site {site}")
|
||||||
|
|
||||||
# URL of user on site (if it exists)
|
# URL of user on site (if it exists)
|
||||||
url = site.url.format(
|
url = site.url.format(
|
||||||
urlMain=site.url_main, urlSubpath=site.url_subpath, username=quote(username)
|
urlMain=site.url_main, urlSubpath=site.url_subpath, username=quote(username)
|
||||||
@@ -524,7 +529,7 @@ def make_site_result(
|
|||||||
async def check_site_for_username(
|
async def check_site_for_username(
|
||||||
site, username, options: QueryOptions, logger, query_notify, *args, **kwargs
|
site, username, options: QueryOptions, logger, query_notify, *args, **kwargs
|
||||||
) -> Tuple[str, QueryResultWrapper]:
|
) -> Tuple[str, QueryResultWrapper]:
|
||||||
default_result = make_site_result(site, username, options, logger)
|
default_result = make_site_result(site, username, options, logger, retry=kwargs.get('retry'))
|
||||||
future = default_result.get("future")
|
future = default_result.get("future")
|
||||||
if not future:
|
if not future:
|
||||||
return site.name, default_result
|
return site.name, default_result
|
||||||
@@ -705,7 +710,7 @@ async def maigret(
|
|||||||
tasks_dict[sitename] = (
|
tasks_dict[sitename] = (
|
||||||
check_site_for_username,
|
check_site_for_username,
|
||||||
[site, username, options, logger, query_notify],
|
[site, username, options, logger, query_notify],
|
||||||
{'default': (sitename, default_result)},
|
{'default': (sitename, default_result), 'retry': retries-attempts+1},
|
||||||
)
|
)
|
||||||
|
|
||||||
cur_results = await executor.run(tasks_dict.values())
|
cur_results = await executor.run(tasks_dict.values())
|
||||||
|
|||||||
@@ -13809,8 +13809,12 @@
|
|||||||
"\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"
|
"\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"
|
||||||
],
|
],
|
||||||
"alexaRank": 495,
|
"alexaRank": 495,
|
||||||
"urlMain": "https://rutracker.org/",
|
"urlMain": "http://37.1.216.121/",
|
||||||
"url": "https://rutracker.org/forum/profile.php?mode=viewprofile&u={username}",
|
"mirrors": [
|
||||||
|
"https://rutracker.org/",
|
||||||
|
"http://37.1.216.121/"
|
||||||
|
],
|
||||||
|
"url": "{urlMain}forum/profile.php?mode=viewprofile&u={username}",
|
||||||
"usernameClaimed": "adam",
|
"usernameClaimed": "adam",
|
||||||
"usernameUnclaimed": "noonewouldeverusethis7"
|
"usernameUnclaimed": "noonewouldeverusethis7"
|
||||||
},
|
},
|
||||||
@@ -16524,10 +16528,16 @@
|
|||||||
"presenseStrs": [
|
"presenseStrs": [
|
||||||
"<div class=\"profile-tabs\">"
|
"<div class=\"profile-tabs\">"
|
||||||
],
|
],
|
||||||
|
"mirrors": [
|
||||||
|
"https://nitter.net/",
|
||||||
|
"https://nitter.42l.fr/",
|
||||||
|
"https://nitter.1d4.us/",
|
||||||
|
"https://nitter.kavin.rocks/"
|
||||||
|
],
|
||||||
"source": "Twitter",
|
"source": "Twitter",
|
||||||
"alexaRank": 48,
|
"alexaRank": 48,
|
||||||
"urlMain": "https://www.nitter.net/",
|
"urlMain": "https://nitter.kavin.rocks/",
|
||||||
"url": "https://nitter.net/{username}",
|
"url": "{urlMain}{username}",
|
||||||
"usernameClaimed": "blue",
|
"usernameClaimed": "blue",
|
||||||
"usernameUnclaimed": "noonewould123"
|
"usernameUnclaimed": "noonewould123"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user