def test_settings(): with mock.patch("scraper.utils.Path.home", lambda: Path("/tmp")): create_base_config() config = settings() assert config["config"]["manga_directory"] == "/tmp/Downloads" assert config["config"]["source"] == "mangareader" assert config["config"]["filetype"] == "pdf"
def _create_manga_dir(self, manga_name: str) -> None: """ Create a manga directory if it does not exist. """ download_dir = settings()["config"]["manga_directory"] manga_dir = Path(download_dir) / manga_name manga_dir.mkdir(parents=True, exist_ok=True)
import logging import sys from typing import Dict, List, Optional, Tuple, Type from scraper.download import Download from scraper.exceptions import MangaDoesNotExist from scraper.manga import Manga from scraper.menu import SearchMenu from scraper.parsers.mangakaka import MangaKaka from scraper.parsers.mangareader import MangaReader from scraper.parsers.types import SiteParserClass from scraper.uploaders.types import Uploader from scraper.uploaders.uploaders import DropboxUploader, MegaUploader, PcloudUploader from scraper.utils import menu_input, settings CONFIG = settings()["config"] logging.basicConfig( level=logging.INFO, format="%(message)s", ) logger = logging.getLogger(__name__) def get_volume_values(volume: str) -> List[int]: """ Transform a string digit into a list of integers """ if "-" in volume: start, end = volume.split("-")
def _volume_upload_path(self, volume_number: int) -> Path: root = Path(settings()["config"]["upload_root"]) return root / f"{self.name}/{self.name}_volume_{volume_number}.{self.filetype}"
def _volume_path(self, volume_number: int) -> Path: manga_dir = settings()["config"]["manga_directory"] return Path(f"{manga_dir}/{self.name}/{self.name}" f"_volume_{volume_number}.{self.filetype}")
def test_settings_creates_base_config(): with mock.patch("scraper.utils.Path.home", lambda: Path("/tmp")): settings() assert Path("/tmp/.config/mangascraper.ini").exists()
def _get_config(self): return settings()[self.service]