From 5d231b88b7c698f999544c7201f4368efe027bb0 Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Mon, 22 May 2023 11:25:42 +0800 Subject: [PATCH] fix: Fix Torrent Model bug --- src/module/network/request_contents.py | 28 +++++++++++++++----------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/module/network/request_contents.py b/src/module/network/request_contents.py index 45dfa54a..684325a6 100644 --- a/src/module/network/request_contents.py +++ b/src/module/network/request_contents.py @@ -1,33 +1,37 @@ import re import xml.etree.ElementTree +from dataclasses import dataclass + from bs4 import BeautifulSoup from .request_url import RequestURL from .site import mikan_parser from module.conf import settings -from module.models import TorrentBase -class TorrentInfo(TorrentBase): - _poster_link: str = None - _official_title: str = None +@dataclass +class TorrentInfo: + name: str + torrent_link: str + homepage: str + _poster_link: str | None = None + _official_title: str | None = None - @property - def poster_link(self) -> str: - if self._poster_link is None: + def __fetch_mikan_info(self): + if self._poster_link is None or self._official_title is None: with RequestContent() as req: self._poster_link, self._official_title = req.get_mikan_info( self.homepage ) + + @property + def poster_link(self) -> str: + self.__fetch_mikan_info() return self._poster_link @property def official_title(self) -> str: - if self._official_title is None: - with RequestContent() as req: - self._poster_link, self._official_title = req.get_mikan_info( - self.homepage - ) + self.__fetch_mikan_info() return self._official_title