warp-beacon 2.4.5__tar.gz → 2.4.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {warp_beacon-2.4.5/warp_beacon.egg-info → warp_beacon-2.4.6}/PKG-INFO +1 -1
- warp_beacon-2.4.6/warp_beacon/__version__.py +2 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/__init__.py +4 -3
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/instagram/instagram.py +16 -4
- {warp_beacon-2.4.5 → warp_beacon-2.4.6/warp_beacon.egg-info}/PKG-INFO +1 -1
- warp_beacon-2.4.5/warp_beacon/__version__.py +0 -2
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/LICENSE +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/MANIFEST.in +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/README.md +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/assets/placeholder.gif +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/etc/.gitignore +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/etc/accounts.json +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/etc/proxies.json +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/etc/warp_beacon.conf +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/etc/warp_beacon.service +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/pyproject.toml +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/setup.cfg +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/setup.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/compress/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/compress/video.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/jobs/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/jobs/abstract.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/jobs/download_job.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/jobs/types.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/jobs/upload_job.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/mediainfo/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/mediainfo/abstract.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/mediainfo/audio.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/mediainfo/silencer.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/mediainfo/video.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scheduler/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scheduler/instagram_human.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scheduler/scheduler.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/abstract.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/account_selector.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/exceptions.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/fail_handler.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/instagram/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/link_resolver.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/youtube/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/youtube/abstract.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/youtube/music.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/youtube/shorts.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/scraper/youtube/youtube.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/storage/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/storage/mongo.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/bot.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/caption_shortener.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/handlers.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/placeholder_message.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/telegram/utils.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/uploader/__init__.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/warp_beacon.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon/yt_auth.py +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon.egg-info/SOURCES.txt +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon.egg-info/dependency_links.txt +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon.egg-info/entry_points.txt +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon.egg-info/requires.txt +0 -0
- {warp_beacon-2.4.5 → warp_beacon-2.4.6}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -288,12 +288,13 @@ class AsyncDownloader(object):
|
|
288
288
|
break
|
289
289
|
self.send_message_to_admin(
|
290
290
|
f"Task <code>{job.job_id}</code> failed. URL: {job.url}. Reason: '<b>UnknownError</b>'."
|
291
|
-
f"Exception
|
291
|
+
f"Exception:\n<pre code=\"python\">{exception_msg}<br></pre>"
|
292
292
|
)
|
293
293
|
self.uploader.queue_task(job.to_upload_job(
|
294
294
|
job_failed=True,
|
295
|
-
job_failed_msg=f"Unknown error occured. Please <a href=\"https://github.com/sb0y/warp_beacon/issues\">create issue</a> with service logs
|
296
|
-
f"Task <code>{job.job_id}</code> failed. URL: {job.url}
|
295
|
+
job_failed_msg=f"Unknown error occured. Please <a href=\"https://github.com/sb0y/warp_beacon/issues\">create issue</a> with service logs.<br>"
|
296
|
+
f"Task <code>{job.job_id}</code> failed. URL: {job.url}.<br>"
|
297
|
+
f"Reason: '<b>UnknownError</b>'.<br>"
|
297
298
|
f"Exception:<br><pre code=\"python\">{exception_msg}</pre>"
|
298
299
|
))
|
299
300
|
break
|
@@ -13,12 +13,13 @@ import requests
|
|
13
13
|
import urllib3
|
14
14
|
from urllib.parse import urljoin, urlparse
|
15
15
|
|
16
|
+
from instagrapi import exceptions
|
16
17
|
from instagrapi.mixins.story import Story
|
17
18
|
from instagrapi.types import Media
|
18
19
|
from instagrapi import Client
|
19
20
|
from instagrapi.mixins.challenge import ChallengeChoice
|
20
|
-
from instagrapi.exceptions import LoginRequired, PleaseWaitFewMinutes, MediaNotFound, ClientNotFoundError, UserNotFound, ChallengeRequired, \
|
21
|
-
ChallengeSelfieCaptcha, ChallengeUnknownStep, UnknownError as IGUnknownError
|
21
|
+
#from instagrapi.exceptions import LoginRequired, PleaseWaitFewMinutes, MediaNotFound, ClientNotFoundError, UserNotFound, ChallengeRequired, \
|
22
|
+
# ChallengeSelfieCaptcha, ChallengeUnknownStep, UnknownError as IGUnknownError
|
22
23
|
|
23
24
|
from warp_beacon.scraper.exceptions import NotFound, UnknownError, TimeOut, IGRateLimitOccurred, CaptchaIssue, BadProxy, extract_exception_message
|
24
25
|
from warp_beacon.scraper.abstract import ScraperAbstract
|
@@ -155,11 +156,22 @@ class InstagramScraper(ScraperAbstract):
|
|
155
156
|
except urllib3.exceptions.ProxyError as e:
|
156
157
|
logging.warning("Proxy error!")
|
157
158
|
raise BadProxy(extract_exception_message(e.original_error))
|
158
|
-
except
|
159
|
+
except exceptions.ClientConnectionError as e:
|
160
|
+
msg = str(e.message)
|
161
|
+
if "ProxyError" in msg:
|
162
|
+
raise BadProxy(msg)
|
163
|
+
logging.warning("Instagram read timeout! Retrying in 2 seconds ...")
|
164
|
+
logging.info("Your `IG_MAX_RETRIES` values is %d", max_retries)
|
165
|
+
logging.exception(e)
|
166
|
+
if max_retries <= retries:
|
167
|
+
raise TimeOut(extract_exception_message(e))
|
168
|
+
retries += 1
|
169
|
+
time.sleep(2)
|
170
|
+
except(exceptions.ChallengeRequired, exceptions.ChallengeSelfieCaptcha, exceptions.ChallengeUnknownStep) as e:
|
159
171
|
logging.warning("Instagram wants Challange!")
|
160
172
|
logging.exception(e)
|
161
173
|
raise CaptchaIssue("a captcha issue arose")
|
162
|
-
except LoginRequired as e:
|
174
|
+
except exceptions.LoginRequired as e:
|
163
175
|
logging.error("LoginRequired occurred in download handler!")
|
164
176
|
logging.exception(e)
|
165
177
|
old_session = self.cl.get_settings()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|