meta property
This commit is contained in:
@ -341,7 +341,14 @@ class MediaInfo:
|
||||
if overview.split("/")[0].strip().isdigit():
|
||||
self.year = overview.split("/")[0].strip()
|
||||
|
||||
def get_detail_url(self):
|
||||
@property
|
||||
def title_year(self):
|
||||
if self.title:
|
||||
return "%s (%s)" % (self.title, self.year) if self.year else self.title
|
||||
return ""
|
||||
|
||||
@property
|
||||
def detail_link(self):
|
||||
"""
|
||||
TMDB媒体详情页地址
|
||||
"""
|
||||
@ -354,7 +361,8 @@ class MediaInfo:
|
||||
return "https://movie.douban.com/subject/%s" % self.douban_id
|
||||
return ""
|
||||
|
||||
def get_stars(self):
|
||||
@property
|
||||
def stars(self):
|
||||
"""
|
||||
返回评分星星个数
|
||||
"""
|
||||
@ -362,9 +370,10 @@ class MediaInfo:
|
||||
return ""
|
||||
return "".rjust(int(self.vote_average), "★")
|
||||
|
||||
def get_star_string(self):
|
||||
@property
|
||||
def vote_star(self):
|
||||
if self.vote_average:
|
||||
return "评分:%s" % self.get_stars()
|
||||
return "评分:%s" % self.stars
|
||||
return ""
|
||||
|
||||
def get_backdrop_image(self, default: bool = False):
|
||||
@ -391,11 +400,6 @@ class MediaInfo:
|
||||
return self.poster_path.replace("original", "w500")
|
||||
return default or ""
|
||||
|
||||
def get_title_string(self):
|
||||
if self.title:
|
||||
return "%s (%s)" % (self.title, self.year) if self.year else self.title
|
||||
return ""
|
||||
|
||||
def get_overview_string(self, max_len: int = 140):
|
||||
"""
|
||||
返回带限定长度的简介信息
|
||||
@ -487,6 +491,7 @@ class Context:
|
||||
"""
|
||||
转换为字典
|
||||
"""
|
||||
|
||||
def object_to_dict(obj):
|
||||
attributes = [
|
||||
attr for attr in dir(obj)
|
||||
|
@ -66,7 +66,8 @@ class MetaBase(object):
|
||||
self.subtitle = subtitle
|
||||
self.isfile = isfile
|
||||
|
||||
def get_name(self) -> str:
|
||||
@property
|
||||
def name(self) -> str:
|
||||
"""
|
||||
返回名称
|
||||
"""
|
||||
@ -220,9 +221,10 @@ class MetaBase(object):
|
||||
else:
|
||||
return int(episode) == self.begin_episode
|
||||
|
||||
def get_season_string(self) -> str:
|
||||
@property
|
||||
def season(self) -> str:
|
||||
"""
|
||||
返回季字符串,确定是剧集没有季的返回S01
|
||||
返回开始季、结束季字符串,确定是剧集没有季的返回S01
|
||||
"""
|
||||
if self.begin_season is not None:
|
||||
return "S%s" % str(self.begin_season).rjust(2, "0") \
|
||||
@ -236,16 +238,18 @@ class MetaBase(object):
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_season(self) -> str:
|
||||
@property
|
||||
def sea(self) -> str:
|
||||
"""
|
||||
返回季字符串,确定是剧集没有季的返回空
|
||||
返回开始季字符串,确定是剧集没有季的返回空
|
||||
"""
|
||||
if self.begin_season is not None:
|
||||
return self.get_season_string()
|
||||
return self.season
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_begin_season_string(self) -> str:
|
||||
|
||||
@property
|
||||
def season_name(self) -> str:
|
||||
"""
|
||||
返回begin_season 的Sxx
|
||||
"""
|
||||
@ -256,8 +260,9 @@ class MetaBase(object):
|
||||
return "S01"
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_season_seq(self) -> str:
|
||||
|
||||
@property
|
||||
def season_seq(self) -> str:
|
||||
"""
|
||||
返回begin_season 的数字,电视剧没有季的返回1
|
||||
"""
|
||||
@ -269,7 +274,8 @@ class MetaBase(object):
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_season_list(self) -> List[int]:
|
||||
@property
|
||||
def season_list(self) -> List[int]:
|
||||
"""
|
||||
返回季的数组
|
||||
"""
|
||||
@ -317,10 +323,10 @@ class MetaBase(object):
|
||||
self.begin_episode = int(ep)
|
||||
self.end_episode = None
|
||||
|
||||
#
|
||||
def get_episode_string(self) -> str:
|
||||
@ property
|
||||
def episode(self) -> str:
|
||||
"""
|
||||
返回集字符串
|
||||
返回开始集、结束集字符串
|
||||
"""
|
||||
if self.begin_episode is not None:
|
||||
return "E%s" % str(self.begin_episode).rjust(2, "0") \
|
||||
@ -331,8 +337,9 @@ class MetaBase(object):
|
||||
str(self.end_episode).rjust(2, "0"))
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_episode_list(self) -> List[int]:
|
||||
|
||||
@property
|
||||
def episode_list(self) -> List[int]:
|
||||
"""
|
||||
返回集的数组
|
||||
"""
|
||||
@ -343,17 +350,19 @@ class MetaBase(object):
|
||||
else:
|
||||
return [self.begin_episode]
|
||||
|
||||
def get_episode_strings(self) -> str:
|
||||
@property
|
||||
def episodes(self) -> str:
|
||||
"""
|
||||
返回集的并列表达方式,用于支持单文件多集
|
||||
"""
|
||||
return "E%s" % "E".join(str(episode).rjust(2, '0') for episode in self.get_episode_list())
|
||||
return "E%s" % "E".join(str(episode).rjust(2, '0') for episode in self.episode_list)
|
||||
|
||||
def get_episode_seqs(self) -> str:
|
||||
@property
|
||||
def episode_seqs(self) -> str:
|
||||
"""
|
||||
返回单文件多集的集数表达方式,用于支持单文件多集
|
||||
"""
|
||||
episodes = self.get_episode_list()
|
||||
episodes = self.episode_list
|
||||
if episodes:
|
||||
# 集 xx
|
||||
if len(episodes) == 1:
|
||||
@ -363,23 +372,25 @@ class MetaBase(object):
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_episode_seq(self) -> str:
|
||||
@property
|
||||
def episode_seq(self) -> str:
|
||||
"""
|
||||
返回begin_episode 的数字
|
||||
"""
|
||||
episodes = self.get_episode_list()
|
||||
episodes = self.episode_list
|
||||
if episodes:
|
||||
return str(episodes[0])
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_season_episode_string(self) -> str:
|
||||
@property
|
||||
def season_episode(self) -> str:
|
||||
"""
|
||||
返回季集字符串
|
||||
"""
|
||||
if self.type == MediaType.TV:
|
||||
seaion = self.get_season_string()
|
||||
episode = self.get_episode_string()
|
||||
seaion = self.season
|
||||
episode = self.episode
|
||||
if seaion and episode:
|
||||
return "%s %s" % (seaion, episode)
|
||||
elif seaion:
|
||||
@ -390,7 +401,8 @@ class MetaBase(object):
|
||||
return ""
|
||||
return ""
|
||||
|
||||
def get_resource_type_string(self) -> str:
|
||||
@property
|
||||
def resource(self) -> str:
|
||||
"""
|
||||
返回资源类型字符串,含分辨率
|
||||
"""
|
||||
@ -403,7 +415,8 @@ class MetaBase(object):
|
||||
ret_string = f"{ret_string} {self.resource_pix}"
|
||||
return ret_string
|
||||
|
||||
def get_edtion_string(self) -> str:
|
||||
@property
|
||||
def edtion(self) -> str:
|
||||
"""
|
||||
返回资源类型字符串,不含分辨率
|
||||
"""
|
||||
@ -414,7 +427,8 @@ class MetaBase(object):
|
||||
ret_string = f"{ret_string} {self.resource_effect}"
|
||||
return ret_string.strip()
|
||||
|
||||
def get_resource_team_string(self) -> str:
|
||||
@property
|
||||
def release_team(self) -> str:
|
||||
"""
|
||||
返回发布组/字幕组字符串
|
||||
"""
|
||||
@ -423,13 +437,15 @@ class MetaBase(object):
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_video_encode_string(self) -> str:
|
||||
@property
|
||||
def video_term(self) -> str:
|
||||
"""
|
||||
返回视频编码
|
||||
"""
|
||||
return self.video_encode or ""
|
||||
|
||||
def get_audio_encode_string(self) -> str:
|
||||
@property
|
||||
def audio_term(self) -> str:
|
||||
"""
|
||||
返回音频编码
|
||||
"""
|
||||
|
@ -190,7 +190,7 @@ class MetaVideo(MetaBase):
|
||||
# 第季集后面的不要
|
||||
if self._last_token_type == 'name_se_words':
|
||||
return
|
||||
if self.get_name():
|
||||
if self.name:
|
||||
# 名字后面以 0 开头的不要,极有可能是集
|
||||
if token.startswith('0'):
|
||||
return
|
||||
@ -245,7 +245,7 @@ class MetaVideo(MetaBase):
|
||||
self._last_token_type = "enname"
|
||||
|
||||
def __init_part(self, token: str):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
if not self.year \
|
||||
and not self.begin_season \
|
||||
@ -268,7 +268,7 @@ class MetaVideo(MetaBase):
|
||||
self._stop_name_flag = False
|
||||
|
||||
def __init_year(self, token: str):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
if not token.isdigit():
|
||||
return
|
||||
@ -290,7 +290,7 @@ class MetaVideo(MetaBase):
|
||||
self._stop_name_flag = True
|
||||
|
||||
def __init_resource_pix(self, token: str):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
re_res = re.findall(r"%s" % self._resources_pix_re, token, re.IGNORECASE)
|
||||
if re_res:
|
||||
@ -443,7 +443,7 @@ class MetaVideo(MetaBase):
|
||||
self._last_token_type = "EPISODE"
|
||||
|
||||
def __init_resource_type(self, token):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
source_res = re.search(r"(%s)" % self._source_re, token, re.IGNORECASE)
|
||||
if source_res:
|
||||
@ -481,7 +481,7 @@ class MetaVideo(MetaBase):
|
||||
self._last_token = effect.upper()
|
||||
|
||||
def __init_video_encode(self, token: str):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
if not self.year \
|
||||
and not self.resource_pix \
|
||||
@ -521,7 +521,7 @@ class MetaVideo(MetaBase):
|
||||
self.video_encode = f"{self.video_encode} 10bit"
|
||||
|
||||
def __init_audio_encode(self, token: str):
|
||||
if not self.get_name():
|
||||
if not self.name:
|
||||
return
|
||||
if not self.year \
|
||||
and not self.resource_pix \
|
||||
|
Reference in New Issue
Block a user