modify scripts

This commit is contained in:
oscarz
2025-07-01 15:48:49 +08:00
parent 3930460eb2
commit c0f6c52027
2 changed files with 21 additions and 16 deletions

View File

@ -264,7 +264,9 @@ def fetch_performers_detail_once(perfomers_list):
if data: if data:
# 检查影片数量是否有更新 # 检查影片数量是否有更新
page_movies_cnt = int(data.get('movies_cnt', '0')) page_movies_cnt = int(data.get('movies_cnt', '0'))
movies_changed = True
if page_movies_cnt <= movies_cnt: if page_movies_cnt <= movies_cnt:
movies_changed = False
if not force: if not force:
logging.info(f"actor already update. skipping... person: ({person}), url: {url}") logging.info(f"actor already update. skipping... person: ({person}), url: {url}")
last_performer_id = curr_id last_performer_id = curr_id
@ -274,7 +276,9 @@ def fetch_performers_detail_once(perfomers_list):
'href': url, 'href': url,
'person': person, 'person': person,
**data **data
}) },
movies_update=movies_changed
)
if performer_id: if performer_id:
logging.debug(f'insert one person, id: {performer_id}, person: ({person}), url: {url}') logging.debug(f'insert one person, id: {performer_id}, person: ({person}), url: {url}')
last_performer_id = performer_id last_performer_id = performer_id

View File

@ -172,7 +172,7 @@ def insert_movie_appears_in(movie_id, appears_in_id, gradation=0, notes=''):
# 插入演员信息 # 插入演员信息
def insert_or_update_performer(data): def insert_or_update_performer(data, movies_update=True):
try: try:
cursor.execute(""" cursor.execute("""
INSERT INTO iafd_performers (href, name, gender, birthday, astrology, birthplace, years_active, ethnicity, nationality, hair_colors, INSERT INTO iafd_performers (href, name, gender, birthday, astrology, birthplace, years_active, ethnicity, nationality, hair_colors,
@ -225,20 +225,21 @@ def insert_or_update_performer(data):
conn.commit() conn.commit()
# 插入影片列表,可能有 personal 和 director 两个身份 # 插入影片列表,可能有 personal 和 director 两个身份
credits = data.get('credits', {}) if movies_update:
for role, movies in credits.items(): credits = data.get('credits', {})
if movies: for role, movies in credits.items():
for movie in movies: if movies:
movie_id = get_id_by_href('iafd_movies', movie['href']) for movie in movies:
# 影片不存在,先插入 movie_id = get_id_by_href('iafd_movies', movie['href'])
if movie_id is None: # 影片不存在,先插入
movie_id = insert_movie_index(movie['title'], movie['href'], utils.to_number(movie['year']), from_performer_list=1) if movie_id is None:
if movie_id: movie_id = insert_movie_index(movie['title'], movie['href'], utils.to_number(movie['year']), from_performer_list=1)
tmp_id = insert_performer_movie(performer_id, movie_id, role, movie['notes']) if movie_id:
if tmp_id : tmp_id = insert_performer_movie(performer_id, movie_id, role, movie['notes'])
logging.debug(f"insert one performer_movie, performer_id: {performer_id}, movie_id: {movie_id}, role: {role}") if tmp_id :
else: logging.debug(f"insert one performer_movie, performer_id: {performer_id}, movie_id: {movie_id}, role: {role}")
logging.warning(f"insert performer_movie failed. performer_id: {performer_id}, moive href: {movie['href']}") else:
logging.warning(f"insert performer_movie failed. performer_id: {performer_id}, moive href: {movie['href']}")
return performer_id return performer_id