Exemple #1
0
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"
Exemple #2
0
 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)
Exemple #3
0
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("-")
Exemple #4
0
 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}"
Exemple #5
0
 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}")
Exemple #6
0
def test_settings_creates_base_config():
    with mock.patch("scraper.utils.Path.home", lambda: Path("/tmp")):
        settings()
        assert Path("/tmp/.config/mangascraper.ini").exists()
Exemple #7
0
 def _get_config(self):
     return settings()[self.service]