mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 07:05:43 -03:00
refactor(CivArchiveModelMetadataProvider): remove session management and use downloader for HTTP requests
This commit is contained in:
@@ -4,7 +4,8 @@ import aiosqlite
|
|||||||
import logging
|
import logging
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from typing import Optional, Dict, List, Tuple, Any
|
from typing import Optional, Dict, Tuple
|
||||||
|
from .downloader import get_downloader
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -60,22 +61,6 @@ class CivitaiModelMetadataProvider(ModelMetadataProvider):
|
|||||||
class CivArchiveModelMetadataProvider(ModelMetadataProvider):
|
class CivArchiveModelMetadataProvider(ModelMetadataProvider):
|
||||||
"""Provider that uses CivArchive HTML page parsing for metadata"""
|
"""Provider that uses CivArchive HTML page parsing for metadata"""
|
||||||
|
|
||||||
def __init__(self, session: aiohttp.ClientSession = None):
|
|
||||||
self.session = session
|
|
||||||
self._own_session = session is None
|
|
||||||
|
|
||||||
async def _get_session(self):
|
|
||||||
"""Get or create HTTP session"""
|
|
||||||
if self.session is None:
|
|
||||||
self.session = aiohttp.ClientSession()
|
|
||||||
return self.session
|
|
||||||
|
|
||||||
async def close(self):
|
|
||||||
"""Close HTTP session if we own it"""
|
|
||||||
if self._own_session and self.session:
|
|
||||||
await self.session.close()
|
|
||||||
self.session = None
|
|
||||||
|
|
||||||
async def get_model_by_hash(self, model_hash: str) -> Optional[Dict]:
|
async def get_model_by_hash(self, model_hash: str) -> Optional[Dict]:
|
||||||
"""Not supported by CivArchive provider"""
|
"""Not supported by CivArchive provider"""
|
||||||
return None
|
return None
|
||||||
@@ -92,8 +77,9 @@ class CivArchiveModelMetadataProvider(ModelMetadataProvider):
|
|||||||
try:
|
try:
|
||||||
# Construct CivArchive URL
|
# Construct CivArchive URL
|
||||||
url = f"https://civarchive.com/models/{model_id}?modelVersionId={version_id}"
|
url = f"https://civarchive.com/models/{model_id}?modelVersionId={version_id}"
|
||||||
|
|
||||||
session = await self._get_session()
|
downloader = await get_downloader()
|
||||||
|
session = await downloader.session
|
||||||
async with session.get(url) as response:
|
async with session.get(url) as response:
|
||||||
if response.status != 200:
|
if response.status != 200:
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user