Skip to content

Commit 853574b

Browse files
authored
Improve logic for login errors
1 parent 3f37c38 commit 853574b

1 file changed

Lines changed: 13 additions & 16 deletions

File tree

src/instawebhooks/__main__.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
try:
1515
from aiohttp import ClientSession
1616
except ModuleNotFoundError as exc:
17-
raise SystemExit("Aiohttp not found.\n pip install [--user] aiohttp") from exc
17+
raise SystemExit(
18+
"Aiohttp not found.\n pip install [--user] aiohttp") from exc
1819

1920
try:
2021
from discord import Embed, File, SyncWebhook
@@ -93,7 +94,8 @@ def closure_check_regex(arg_value):
9394
help="don't show the post embed and only send message content",
9495
action="store_true",
9596
)
96-
parser.add_argument("--version", action="version", version="%(prog)s " + version)
97+
parser.add_argument("--version", action="version",
98+
version="%(prog)s " + version)
9799
args = parser.parse_args()
98100

99101
# Set the logger to debug if verbose is enabled
@@ -104,21 +106,10 @@ def closure_check_regex(arg_value):
104106
# Log the start of the program
105107
logger.info("Starting InstaWebhooks...")
106108

107-
# Check if we need to sign in to access the Instagram profile
108-
try:
109-
Profile.from_username(Instaloader().context, args.instagram_username).get_posts()
110-
except KeyboardInterrupt:
111-
print("\nInterrupted by user.")
112-
sys.exit(0)
113-
except LoginRequiredException as exc:
114-
logger.critical("instaloader: error: %s", exc)
115-
raise SystemExit(
116-
"Not logged into Instaloader.\n instaloader --login YOUR-USERNAME"
117-
) from exc
118-
119109
# Ensure that a message content is provided if no embed is enabled
120110
if args.no_embed and args.message_content == "":
121-
logger.critical("error: Cannot send an empty message. No message content provided.")
111+
logger.critical(
112+
"error: Cannot send an empty message. No message content provided.")
122113
raise SystemExit(
123114
"Please provide a message content with the --message-content flag."
124115
)
@@ -233,7 +224,8 @@ async def check_for_new_posts():
233224
lambda p: p.date > until, dropwhile(lambda p: p.date > since, posts)
234225
):
235226
new_posts_found = True
236-
logger.debug("New post found: https://www.instagram.com/p/%s", post.shortcode)
227+
logger.debug(
228+
"New post found: https://www.instagram.com/p/%s", post.shortcode)
237229
await send_to_discord(post)
238230
sleep(2) # Avoid 30 requests per minute rate limit
239231

@@ -255,6 +247,11 @@ def main():
255247
while True:
256248
asyncio.run(check_for_new_posts())
257249
sleep(args.refresh_interval)
250+
except LoginRequiredException as login_exc:
251+
logger.critical("instaloader: error: %s", login_exc)
252+
raise SystemExit(
253+
"Not logged into Instaloader.\n instaloader --login YOUR-USERNAME"
254+
) from login_exc
258255
except KeyboardInterrupt:
259256
print("\nInterrupted by user.")
260257
sys.exit(0)

0 commit comments

Comments
 (0)