diff --git a/archivers/__init__.py b/archivers/__init__.py index 26979c0..40fbb4b 100644 --- a/archivers/__init__.py +++ b/archivers/__init__.py @@ -1,8 +1,8 @@ # we need to explicitly expose the available imports here from .base_archiver import Archiver, ArchiveResult from .telegram_archiver import TelegramArchiver -from .telethon_archiver import TelethonArchiver, TelegramConfig +from .telethon_archiver import TelethonArchiver from .tiktok_archiver import TiktokArchiver -from .wayback_archiver import WaybackArchiver, WaybackConfig +from .wayback_archiver import WaybackArchiver from .youtubedl_archiver import YoutubeDLArchiver from .twitter_archiver import TwitterArchiver \ No newline at end of file diff --git a/archivers/base_archiver.py b/archivers/base_archiver.py index 43cfa10..f7d915f 100644 --- a/archivers/base_archiver.py +++ b/archivers/base_archiver.py @@ -1,23 +1,16 @@ -import os -import ffmpeg -import datetime -import shutil +import os, datetime, shutil, hashlib, time, requests from dataclasses import dataclass from abc import ABC, abstractmethod from urllib.parse import urlparse -import hashlib -import time -import requests + +import ffmpeg from loguru import logger from selenium.common.exceptions import TimeoutException +from selenium.webdriver.common.by import By from storages import Storage from utils import mkdir_if_not_exists -from selenium.webdriver.common.by import By -from loguru import logger -from selenium.common.exceptions import TimeoutException - @dataclass class ArchiveResult: diff --git a/archivers/telegram_archiver.py b/archivers/telegram_archiver.py index aafba85..06a8624 100644 --- a/archivers/telegram_archiver.py +++ b/archivers/telegram_archiver.py @@ -1,9 +1,8 @@ -import os -import requests +import os, requests, re + +import html from bs4 import BeautifulSoup from loguru import logger -import re -import html from .base_archiver import Archiver, ArchiveResult from storages import Storage diff --git a/archivers/telethon_archiver.py b/archivers/telethon_archiver.py index a64c3fd..09cb47f 100644 --- a/archivers/telethon_archiver.py +++ b/archivers/telethon_archiver.py @@ -1,20 +1,20 @@ -import os -import re +import os, re + import html from loguru import logger +from telethon.sync import TelegramClient +from telethon.errors import ChannelInvalidError from storages import Storage from .base_archiver import Archiver, ArchiveResult -from telethon.sync import TelegramClient -from telethon.errors import ChannelInvalidError -from configs import TelegramConfig +from configs import TelethonConfig class TelethonArchiver(Archiver): name = "telethon" link_pattern = re.compile(r"https:\/\/t\.me(\/c){0,1}\/(.+)\/(.+)") - def __init__(self, storage: Storage, driver, config: TelegramConfig): + def __init__(self, storage: Storage, driver, config: TelethonConfig): super().__init__(storage, driver) self.client = TelegramClient("./anon", config.api_id, config.api_hash) @@ -62,7 +62,7 @@ class TelethonArchiver(Archiver): return False media_posts = self._get_media_posts_in_group(chat, post) - + screenshot = self.get_screenshot(url) if len(media_posts) > 1: diff --git a/archivers/tiktok_archiver.py b/archivers/tiktok_archiver.py index c4534d7..f96ad59 100644 --- a/archivers/tiktok_archiver.py +++ b/archivers/tiktok_archiver.py @@ -5,6 +5,7 @@ from loguru import logger from .base_archiver import Archiver, ArchiveResult from storages import Storage + class TiktokArchiver(Archiver): name = "tiktok" diff --git a/archivers/wayback_archiver.py b/archivers/wayback_archiver.py index c76437e..72448ff 100644 --- a/archivers/wayback_archiver.py +++ b/archivers/wayback_archiver.py @@ -1,11 +1,12 @@ import time, requests + +from loguru import logger from bs4 import BeautifulSoup from storages import Storage from .base_archiver import Archiver, ArchiveResult - from configs import WaybackConfig -from loguru import logger + class WaybackArchiver(Archiver): diff --git a/archivers/youtubedl_archiver.py b/archivers/youtubedl_archiver.py index a080925..be3477d 100644 --- a/archivers/youtubedl_archiver.py +++ b/archivers/youtubedl_archiver.py @@ -1,6 +1,6 @@ -import os -import datetime +import os, datetime + import yt_dlp from loguru import logger diff --git a/configs/__init__.py b/configs/__init__.py index d7d3283..4409847 100644 --- a/configs/__init__.py +++ b/configs/__init__.py @@ -1,3 +1,3 @@ from .config import Config from .wayback_config import WaybackConfig -from .telegram_config import TelegramConfig \ No newline at end of file +from .telethon_config import TelethonConfig \ No newline at end of file diff --git a/configs/config.py b/configs/config.py index b517f4a..8e3a6ee 100644 --- a/configs/config.py +++ b/configs/config.py @@ -7,7 +7,7 @@ from dataclasses import dataclass from utils.gworksheet import GWorksheet from .wayback_config import WaybackConfig -from .telegram_config import TelegramConfig +from .telethon_config import TelethonConfig from storages import Storage, S3Config, S3Storage, GDStorage, GDConfig, LocalStorage @@ -131,7 +131,7 @@ class Config: # telethon config if "telegram" in secrets: - self.telegram_config = TelegramConfig( + self.telegram_config = TelethonConfig( api_id=secrets["telegram"]["api_id"], api_hash=secrets["telegram"]["api_hash"] ) diff --git a/configs/telegram_config.py b/configs/telethon_config.py similarity index 61% rename from configs/telegram_config.py rename to configs/telethon_config.py index f5553ad..adf121b 100644 --- a/configs/telegram_config.py +++ b/configs/telethon_config.py @@ -2,6 +2,6 @@ from dataclasses import dataclass @dataclass -class TelegramConfig: +class TelethonConfig: api_id: str api_hash: str \ No newline at end of file