mirror of
https://github.com/JoeanAmier/XHS-Downloader.git
synced 2025-12-26 04:48:05 +08:00
35 lines
760 B
Python
35 lines
760 B
Python
from asyncio import sleep
|
|
from random import uniform
|
|
|
|
from rich import print
|
|
from rich.text import Text
|
|
|
|
from .static import INFO
|
|
|
|
|
|
def retry(function):
|
|
async def inner(self, *args, **kwargs):
|
|
if result := await function(self, *args, **kwargs):
|
|
return result
|
|
for _ in range(self.retry):
|
|
if result := await function(self, *args, **kwargs):
|
|
return result
|
|
return result
|
|
|
|
return inner
|
|
|
|
|
|
def logging(log, text, style=INFO):
|
|
string = Text(text, style=style)
|
|
if log:
|
|
log.write(string, animate=True, )
|
|
else:
|
|
print(string)
|
|
|
|
|
|
async def sleep_time(
|
|
min_time: int | float = 0.5,
|
|
max_time: int | float = 1.5,
|
|
):
|
|
await sleep(uniform(min_time, max_time))
|