diff --git a/src/auto_archiver/archivers/instagram_api_archiver.py b/src/auto_archiver/archivers/instagram_api_archiver.py index ea64ca7..0d3bc01 100644 --- a/src/auto_archiver/archivers/instagram_api_archiver.py +++ b/src/auto_archiver/archivers/instagram_api_archiver.py @@ -102,10 +102,18 @@ class InstagramAPIArchiver(Archiver): logger.error(f"Error downloading stories for {username}: {e}") # download all posts - self.download_all_posts(result, user_id) + try: + self.download_all_posts(result, user_id) + except Exception as e: + result.append("errors", f"Error downloading posts for {username}") + logger.error(f"Error downloading posts for {username}: {e}") # download all tagged - self.download_all_tagged(result, user_id) + try: + self.download_all_tagged(result, user_id) + except Exception as e: + result.append("errors", f"Error downloading tagged posts for {username}") + logger.error(f"Error downloading tagged posts for {username}: {e}") # download all highlights try: @@ -243,8 +251,8 @@ class InstagramAPIArchiver(Archiver): if self.minimize_json_output: del item["clips_metadata"] - if code := item.get("code"): - result.set("url", f"https://www.instagram.com/p/{code}/") + if code := item.get("code") and not result.get("url"): + result.set_url(f"https://www.instagram.com/p/{code}/") resources = item.get("resources", item.get("carousel_media", [])) item, media, media_id = self.scrape_media(item, context) diff --git a/src/auto_archiver/version.py b/src/auto_archiver/version.py index 2f525ca..0e146d8 100644 --- a/src/auto_archiver/version.py +++ b/src/auto_archiver/version.py @@ -3,7 +3,7 @@ _MAJOR = "0" _MINOR = "9" # On main and in a nightly release the patch should be one ahead of the last # released build. -_PATCH = "8" +_PATCH = "9" # This is mainly for nightly builds which have the suffix ".dev$DATE". See # https://semver.org/#is-v123-a-semantic-version for the semantics. _SUFFIX = ""