improve lint
This commit is contained in:
parent
1738280a2c
commit
47cffef24b
2 changed files with 14 additions and 15 deletions
|
@ -10,7 +10,7 @@ ResourceContent persists as an ExternalResource which may link to an Item
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Type, TypeVar
|
from typing import TYPE_CHECKING, Type, TypeVar
|
||||||
|
|
||||||
import django_rq
|
import django_rq
|
||||||
import requests
|
import requests
|
||||||
|
@ -20,6 +20,9 @@ from validators import url as url_validate
|
||||||
|
|
||||||
from .models import ExternalResource, IdealIdTypes, IdType, Item, SiteName
|
from .models import ExternalResource, IdealIdTypes, IdType, Item, SiteName
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from ..search.models import ExternalSearchResultItem
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class ResourceContent:
|
class ResourceContent:
|
||||||
|
@ -92,12 +95,12 @@ class AbstractSite:
|
||||||
)
|
)
|
||||||
return self.resource
|
return self.resource
|
||||||
|
|
||||||
# add this method to subclass to enable external search
|
@classmethod
|
||||||
# @classmethod
|
async def search_task(
|
||||||
# async def search_task(
|
cls, q: str, page: int, category: str, page_size: int
|
||||||
# cls, query: str, page: int, category: str, page_size:int
|
) -> "list[ExternalSearchResultItem]":
|
||||||
# ) -> list[ExternalSearchResultItem]:
|
# implement this method in subclass to enable external search
|
||||||
# return []
|
return []
|
||||||
|
|
||||||
def scrape(self) -> ResourceContent:
|
def scrape(self) -> ResourceContent:
|
||||||
"""subclass should implement this, return ResourceContent object"""
|
"""subclass should implement this, return ResourceContent object"""
|
||||||
|
@ -352,9 +355,7 @@ class SiteManager:
|
||||||
def get_sites_for_search():
|
def get_sites_for_search():
|
||||||
if settings.SEARCH_SITES == ["-"]:
|
if settings.SEARCH_SITES == ["-"]:
|
||||||
return []
|
return []
|
||||||
sites = [
|
sites = SiteManager.get_all_sites()
|
||||||
cls for cls in SiteManager.get_all_sites() if hasattr(cls, "search_task")
|
|
||||||
]
|
|
||||||
if settings.SEARCH_SITES == ["*"] or not settings.SEARCH_SITES:
|
if settings.SEARCH_SITES == ["*"] or not settings.SEARCH_SITES:
|
||||||
return sites
|
return sites
|
||||||
return [s for s in sites if s.SITE_NAME.value in settings.SEARCH_SITES]
|
return [s for s in sites if s.SITE_NAME.value in settings.SEARCH_SITES]
|
||||||
|
|
|
@ -123,7 +123,7 @@ class Bangumi(AbstractSite):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def search_task(
|
async def search_task(
|
||||||
cls, query: str, page: int, category: str, page_size: int
|
cls, q: str, page: int, category: str, page_size: int
|
||||||
) -> list[ExternalSearchResultItem]:
|
) -> list[ExternalSearchResultItem]:
|
||||||
results = []
|
results = []
|
||||||
bgm_type = {
|
bgm_type = {
|
||||||
|
@ -144,7 +144,7 @@ class Bangumi(AbstractSite):
|
||||||
response = await client.post(
|
response = await client.post(
|
||||||
search_url,
|
search_url,
|
||||||
headers={"User-Agent": settings.NEODB_USER_AGENT},
|
headers={"User-Agent": settings.NEODB_USER_AGENT},
|
||||||
json={"keyword": query, "filter": {"type": bgm_type[category]}},
|
json={"keyword": q, "filter": {"type": bgm_type[category]}},
|
||||||
timeout=2,
|
timeout=2,
|
||||||
)
|
)
|
||||||
r = response.json()
|
r = response.json()
|
||||||
|
@ -162,9 +162,7 @@ class Bangumi(AbstractSite):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(
|
logger.error("Bangumi search error", extra={"query": q, "exception": e})
|
||||||
"Bangumi search error", extra={"query": query, "exception": e}
|
|
||||||
)
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def scrape(self):
|
def scrape(self):
|
||||||
|
|
Loading…
Add table
Reference in a new issue