From 1738280a2cad129ca16a43463bd06a975184b284 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: Mon, 20 Jan 2025 10:31:01 -0500
Subject: [PATCH] fix-ruff-lint

---
 .pre-commit-config.yaml           |  3 ++-
 catalog/performance/tests.py      |  4 ++--
 catalog/sites/bangumi.py          | 10 +++++-----
 catalog/sites/bgg.py              |  1 -
 catalog/sites/imdb.py             |  1 +
 journal/views/__init__.py         |  1 -
 legacy/views.py                   |  1 -
 pyproject.toml                    |  1 +
 takahe/utils.py                   |  3 ++-
 users/management/commands/user.py |  6 +++---
 10 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5ffff0c7..37864ef3 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -25,9 +25,10 @@ repos:
       - id: mixed-line-ending
 
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.9.1
+    rev: v0.9.2
     hooks:
       - id: ruff
+        args: [ --fix ]
       - id: ruff-format
 
   # - repo: https://github.com/pycqa/isort
diff --git a/catalog/performance/tests.py b/catalog/performance/tests.py
index 7d9a848d..014aeba3 100644
--- a/catalog/performance/tests.py
+++ b/catalog/performance/tests.py
@@ -130,7 +130,7 @@ class BangumiDramaTestCase(TestCase):
     def test_scrape(self):
         t_url = "https://bgm.tv/subject/224973"
         site = SiteManager.get_site_by_url(t_url)
-        resource = site.get_resource_ready()
+        site.get_resource_ready()
         item = site.get_item()
         self.assertEqual(item.display_title, "超级弹丸论破2舞台剧~再见了绝望学园~2017")
         self.assertEqual(
@@ -145,7 +145,7 @@ class BangumiDramaTestCase(TestCase):
 
         t_url = "https://bgm.tv/subject/442025"
         site = SiteManager.get_site_by_url(t_url)
-        resource = site.get_resource_ready()
+        site.get_resource_ready()
         item = site.get_item()
         self.assertEqual(item.display_title, "LIVE STAGE「ぼっち・ざ・ろっく!」")
         self.assertEqual(
diff --git a/catalog/sites/bangumi.py b/catalog/sites/bangumi.py
index af801906..7982b521 100644
--- a/catalog/sites/bangumi.py
+++ b/catalog/sites/bangumi.py
@@ -1,10 +1,10 @@
 import logging
-from typing import Any
 from collections import OrderedDict
-from loguru import logger
-import httpx
+from typing import Any
 
+import httpx
 from django.conf import settings
+from loguru import logger
 
 from catalog.book.utils import detect_isbn_asin
 from catalog.common import *
@@ -104,7 +104,7 @@ class Bangumi(AbstractSite):
                         release_type = GameReleaseType.DLC
             case _:
                 raise ValueError(
-                    f"Unknown type {o['type']} for bangumi subject {o["id"]}"
+                    f"Unknown type {o['type']} for bangumi subject {o['id']}"
                 )
         return category, {
             "preferred_model": model,
@@ -138,7 +138,7 @@ class Bangumi(AbstractSite):
         }
         if category not in bgm_type:
             return results
-        search_url = f"https://api.bgm.tv/v0/search/subjects?limit={page_size}&offset={(page-1)*page_size}"
+        search_url = f"https://api.bgm.tv/v0/search/subjects?limit={page_size}&offset={(page - 1) * page_size}"
         async with httpx.AsyncClient() as client:
             try:
                 response = await client.post(
diff --git a/catalog/sites/bgg.py b/catalog/sites/bgg.py
index c1c01f25..f89b4eb3 100644
--- a/catalog/sites/bgg.py
+++ b/catalog/sites/bgg.py
@@ -6,7 +6,6 @@ ref: https://boardgamegeek.com/wiki/page/BGG_XML_API2
 
 import html
 
-
 from catalog.common import *
 from catalog.game.models import GameReleaseType
 from catalog.models import *
diff --git a/catalog/sites/imdb.py b/catalog/sites/imdb.py
index 93c64f2a..81f213cc 100644
--- a/catalog/sites/imdb.py
+++ b/catalog/sites/imdb.py
@@ -1,6 +1,7 @@
 import json
 import logging
 import re
+
 from catalog.common import *
 from catalog.movie.models import *
 from catalog.tv.models import *
diff --git a/journal/views/__init__.py b/journal/views/__init__.py
index c9afc8de..f3339c2c 100644
--- a/journal/views/__init__.py
+++ b/journal/views/__init__.py
@@ -33,7 +33,6 @@ from .search import search
 from .tag import user_tag_edit, user_tag_list, user_tag_member_list
 from .wrapped import WrappedShareView, WrappedView
 
-
 __all__ = [
     "add_to_collection",
     "collection_add_featured",
diff --git a/legacy/views.py b/legacy/views.py
index fb93dd96..92fb1e88 100644
--- a/legacy/views.py
+++ b/legacy/views.py
@@ -1,7 +1,6 @@
 from django.core.signing import b62_encode
 from django.shortcuts import get_object_or_404, redirect
 
-
 from .models import *
 
 
diff --git a/pyproject.toml b/pyproject.toml
index 8c52a64a..bfce02a4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -118,6 +118,7 @@ exclude = [
     "neodb",
 ]
 lint.ignore = ["F403", "F405"]
+lint.extend-select = ["I"]
 
 [tool.setuptools]
 py-modules = []
diff --git a/takahe/utils.py b/takahe/utils.py
index 00553ab8..7600637f 100644
--- a/takahe/utils.py
+++ b/takahe/utils.py
@@ -9,8 +9,9 @@ from django.core.files.images import ImageFile
 from django.core.signing import b62_encode
 from django.db.models import Count
 from django.utils import timezone
-from PIL import Image
 from loguru import logger
+from PIL import Image
+
 from .models import *
 
 if TYPE_CHECKING:
diff --git a/users/management/commands/user.py b/users/management/commands/user.py
index 850d2699..6dd33e60 100644
--- a/users/management/commands/user.py
+++ b/users/management/commands/user.py
@@ -1,10 +1,10 @@
+import httpx
 from django.core.management.base import BaseCommand
 from tqdm import tqdm
-import httpx
 
-from users.models import Preference, User
-from takahe.models import Identity, Domain
+from takahe.models import Domain, Identity
 from takahe.utils import Takahe
+from users.models import Preference, User
 
 
 class Command(BaseCommand):