Projects STRLCPY maigret Commits d7cf98ac
🤬
  • ■ ■ ■ ■ ■ ■
    maigret/checking.py
    skipped 397 lines
    398 398   
    399 399   
    400 400  def make_site_result(
    401  - site: MaigretSite, username: str, options: QueryOptions, logger
     401 + site: MaigretSite, username: str, options: QueryOptions, logger, *args, **kwargs
    402 402  ) -> QueryResultWrapper:
    403 403   results_site: QueryResultWrapper = {}
    404 404   
    skipped 16 lines
    421 421   
    422 422   if "url" not in site.__dict__:
    423 423   logger.error("No URL for site %s", site.name)
    424  - if hasattr(site, "mirrors"):
    425  - results_site["url_main"] = random.choice(site.mirrors)
     424 + 
     425 + if kwargs.get('retry') and hasattr(site, "mirrors"):
     426 + site.url_main = random.choice(site.mirrors)
     427 + logger.info(f"Use {site.url_main} as a main url of site {site}")
     428 + 
    426 429   # URL of user on site (if it exists)
    427 430   url = site.url.format(
    428 431   urlMain=site.url_main, urlSubpath=site.url_subpath, username=quote(username)
    skipped 97 lines
    526 529  async def check_site_for_username(
    527 530   site, username, options: QueryOptions, logger, query_notify, *args, **kwargs
    528 531  ) -> Tuple[str, QueryResultWrapper]:
    529  - default_result = make_site_result(site, username, options, logger)
     532 + default_result = make_site_result(site, username, options, logger, retry=kwargs.get('retry'))
    530 533   future = default_result.get("future")
    531 534   if not future:
    532 535   return site.name, default_result
    skipped 174 lines
    707 710   tasks_dict[sitename] = (
    708 711   check_site_for_username,
    709 712   [site, username, options, logger, query_notify],
    710  - {'default': (sitename, default_result)},
     713 + {'default': (sitename, default_result), 'retry': retries-attempts+1},
    711 714   )
    712 715   
    713 716   cur_results = await executor.run(tasks_dict.values())
    skipped 184 lines
  • maigret/resources/data.json
    Unable to diff as the file is too large.
Please wait...
Page is in error, reload to recover