From 25ace8f35842ccdd0597089ccdc6d704c2ae2396 Mon Sep 17 00:00:00 2001 From: Ryszard Knop Date: Sun, 17 Mar 2024 01:15:04 +0100 Subject: [PATCH] Add Ruff linting configs, fix reported warnings --- .idea/ruff.xml | 6 ++++++ itch_dl/downloader.py | 6 +++--- itch_dl/handlers.py | 4 ++-- pyproject.toml | 7 +++++++ 4 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 .idea/ruff.xml diff --git a/.idea/ruff.xml b/.idea/ruff.xml new file mode 100644 index 0000000..a56f028 --- /dev/null +++ b/.idea/ruff.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/itch_dl/downloader.py b/itch_dl/downloader.py index dd1e070..ba645a5 100644 --- a/itch_dl/downloader.py +++ b/itch_dl/downloader.py @@ -203,7 +203,7 @@ class GameDownloader: return r.url except HTTPError as e: - raise ItchDownloadError(f"Unrecoverable download error: {e}") + raise ItchDownloadError(f"Unrecoverable download error: {e}") from e def download_file_by_upload_id(self, upload_id: int, download_path: Optional[str], credentials: dict) -> str: """Performs a request to download a given upload by its ID.""" @@ -225,7 +225,7 @@ class GameDownloader: # As metadata is the final file we write, all the files # should already be downloaded at this point. logging.info("Skipping already-downloaded game for URL: %s", url) - return DownloadResult(url, True, [f"Game already downloaded."], []) + return DownloadResult(url, True, ["Game already downloaded."], []) try: logging.info("Downloading %s", url) @@ -258,7 +258,7 @@ class GameDownloader: try: os.makedirs(paths['files'], exist_ok=True) for upload in game_uploads: - if any([key not in upload for key in ('id', 'filename', 'storage')]): + if any(key not in upload for key in ('id', 'filename', 'storage')): errors.append(f"Upload metadata incomplete: {upload}") continue diff --git a/itch_dl/handlers.py b/itch_dl/handlers.py index 9ec1c87..02c97d5 100644 --- a/itch_dl/handlers.py +++ b/itch_dl/handlers.py @@ -51,7 +51,7 @@ def get_jobs_for_browse_url(url: str, client: ItchApiClient) -> List[str]: """ page = 1 found_urls: Set[str] = set() - logging.info(f"Scraping game URLs from RSS feeds for %s", url) + logging.info("Scraping game URLs from RSS feeds for %s", url) while True: logging.info(f"Downloading page {page} (found {len(found_urls)} URLs total)") @@ -214,7 +214,7 @@ def get_jobs_for_path(path: str) -> List[str]: logging.info("Parsing provided file as a list of URLs to fetch...") return url_list - raise ValueError(f"File format is unknown - cannot read URLs to download.") + raise ValueError("File format is unknown - cannot read URLs to download.") def get_jobs_for_url_or_path(path_or_url: str, settings: Settings) -> List[str]: diff --git a/pyproject.toml b/pyproject.toml index 26db3df..e29dc90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,3 +37,10 @@ itch-dl = "itch_dl.cli:run" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" + +[tool.ruff] +line-length = 120 +target-version = "py38" + +[tool.ruff.lint] +select = ["E4", "E7", "E9", "F", "B", "C4", "T10", "N", "UP", "S"]