fix: make instagrapi import lazy to prevent app crash if missing
This commit is contained in:
@@ -8,14 +8,23 @@ import time
|
|||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from instagrapi import Client
|
try:
|
||||||
from instagrapi.exceptions import (
|
from instagrapi import Client
|
||||||
|
from instagrapi.exceptions import (
|
||||||
ChallengeRequired,
|
ChallengeRequired,
|
||||||
PleaseWaitFewMinutes,
|
PleaseWaitFewMinutes,
|
||||||
LoginRequired,
|
LoginRequired,
|
||||||
UserNotFound,
|
UserNotFound,
|
||||||
PrivateAccount
|
PrivateAccount
|
||||||
)
|
)
|
||||||
|
except ImportError:
|
||||||
|
Client = None
|
||||||
|
ChallengeRequired = Exception
|
||||||
|
PleaseWaitFewMinutes = Exception
|
||||||
|
LoginRequired = Exception
|
||||||
|
UserNotFound = Exception
|
||||||
|
PrivateAccount = Exception
|
||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from ..config import settings
|
from ..config import settings
|
||||||
@@ -241,6 +250,10 @@ class InstaParserWorker:
|
|||||||
if self.client:
|
if self.client:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
if Client is None:
|
||||||
|
logger.error("instagrapi is not installed! Cannot setup client.")
|
||||||
|
raise Exception("Module instagrapi is not installed. Please install it.")
|
||||||
|
|
||||||
self.client = Client()
|
self.client = Client()
|
||||||
if proxy:
|
if proxy:
|
||||||
self.client.set_proxy(proxy)
|
self.client.set_proxy(proxy)
|
||||||
|
|||||||
Reference in New Issue
Block a user