зеркало из
https://github.com/viginum-datalab/twscrape.git
synced 2025-10-28 20:54:24 +02:00
login flow improvements
Этот коммит содержится в:
родитель
5a3f7c19a6
Коммит
ef76b5de84
@ -98,10 +98,9 @@ async def imap_login(email: str, password: str):
|
||||
|
||||
try:
|
||||
imap.login(email, password)
|
||||
imap.select("INBOX", readonly=True)
|
||||
except imaplib.IMAP4.error as e:
|
||||
logger.error(f"Error logging into {email} on {domain}: {e}")
|
||||
imap.select("INBOX")
|
||||
imap.close()
|
||||
raise EmailLoginError() from e
|
||||
|
||||
return imap
|
||||
|
||||
@ -11,7 +11,7 @@ from .utils import raise_for_status, utc
|
||||
|
||||
async def get_guest_token(client: AsyncClient):
|
||||
rep = await client.post("https://api.twitter.com/1.1/guest/activate.json")
|
||||
raise_for_status(rep, "guest_token")
|
||||
raise_for_status(rep, "guest_token (most likely ip ban)")
|
||||
return rep.json()["guest_token"]
|
||||
|
||||
|
||||
@ -189,10 +189,9 @@ async def login(acc: Account, email_first=False) -> Account:
|
||||
logger.info(f"account already active {log_id}")
|
||||
return acc
|
||||
|
||||
imap = None
|
||||
if email_first:
|
||||
imap = await imap_login(acc.email, acc.email_password)
|
||||
else:
|
||||
imap = None
|
||||
|
||||
client = acc.make_client()
|
||||
guest_token = await get_guest_token(client)
|
||||
|
||||
Загрузка…
x
Ссылка в новой задаче
Block a user