From 7dcc4c218fdc3a61e60ca0acf6615a9d06cbf113 Mon Sep 17 00:00:00 2001 From: yoshiko2 Date: Tue, 9 May 2023 01:23:26 +0800 Subject: [PATCH] Add mapping table loading exception handling --- Movie_Data_Capture.py | 10 ++++++++-- scraper.py | 9 ++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Movie_Data_Capture.py b/Movie_Data_Capture.py index c130424..cdb4aad 100644 --- a/Movie_Data_Capture.py +++ b/Movie_Data_Capture.py @@ -13,6 +13,7 @@ import platform import config from datetime import datetime, timedelta +from lxml import etree from pathlib import Path from opencc import OpenCC @@ -575,11 +576,16 @@ def main(args: tuple) -> Path: else: print(f"[-] [{i}/{len(res)}] Mapping Table Download failed") except: - print("[!]======================= WARNING ======================") + print("[!]" + " WARNING ".center(54, "=")) print('[!]' + '-- GITHUB CONNECTION FAILED --'.center(54)) print('[!]' + 'Failed to check for updates'.center(54)) print('[!]' + '& update the mapping table'.center(54)) - print("[!]======================================================") + print("[!]" + "".center(54, "=")) + try: + etree.parse(str(Path.home() / '.local' / 'share' / 'mdc' / 'mapping_actor.xml')) + except: + print('[!]' + "Failed to load mapping table".center(54)) + print('[!]' + "".center(54, "=")) create_failed_folder(conf.failed_folder()) diff --git a/scraper.py b/scraper.py index a501780..06a64f8 100644 --- a/scraper.py +++ b/scraper.py @@ -30,9 +30,12 @@ def get_data_from_json( :param specified_url: 指定的数据查询地址, 目前未使用 :return 给定影片名称的具体信息 """ - - actor_mapping_data = etree.parse(str(Path.home() / '.local' / 'share' / 'mdc' / 'mapping_actor.xml')) - info_mapping_data = etree.parse(str(Path.home() / '.local' / 'share' / 'mdc' / 'mapping_info.xml')) + try: + actor_mapping_data = etree.parse(str(Path.home() / '.local' / 'share' / 'mdc' / 'mapping_actor.xml')) + info_mapping_data = etree.parse(str(Path.home() / '.local' / 'share' / 'mdc' / 'mapping_info.xml')) + except: + actor_mapping_data = etree.fromstring("", etree.HTMLParser()) + info_mapping_data = etree.fromstring("", etree.HTMLParser()) conf = config.getInstance() # default fetch order list, from the beginning to the end