diff --git a/archivers/base_archiver.py b/archivers/base_archiver.py index 76d6267..2ba7c4d 100644 --- a/archivers/base_archiver.py +++ b/archivers/base_archiver.py @@ -225,7 +225,6 @@ class Archiver(ABC): key = key_folder + fname self.storage.upload(thumbnail_filename, key) - cdn_url = self.storage.get_cdn_url(key) cdn_urls.append(cdn_url) diff --git a/archivers/vk_archiver.py b/archivers/vk_archiver.py index 91eb0db..b9d3f6c 100644 --- a/archivers/vk_archiver.py +++ b/archivers/vk_archiver.py @@ -28,12 +28,21 @@ class VkArchiver(Archiver): # detect URLs that this archiver can handle has_wall = self.wall_pattern.search(url) if has_wall: - wall_url = f'https://vk.com/{has_wall[0]}' - logger.info(f"found valid wall id from {url=} : {wall_url=}") - return self.archive_wall(wall_url, check_if_exists) + wall_id = has_wall[0] + wall_url = f'https://vk.com/{wall_id}' + logger.info(f"found valid wall id from {url=} : {wall_id=}") + key = self.get_html_key(wall_url) + + # if check if exists will not download again + if check_if_exists and self.storage.exists(key): + screenshot = self.get_screenshot(wall_url) + cdn_url = self.storage.get_cdn_url(key) + return ArchiveResult(status="already archived", cdn_url=cdn_url, screenshot=screenshot) + + return self.archive_wall(wall_url) return False - def archive_wall(self, wall_url, check_if_exists): + def archive_wall(self, wall_url): res = self.vk_session.http.get(wall_url).text soup = BeautifulSoup(res, "html.parser") image_urls = []