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