|
5 | 5 | # ----------------------------------------------------------------------------- |
6 | 6 |
|
7 | 7 | import logging |
| 8 | +import requests |
8 | 9 | import os.path |
9 | 10 |
|
10 | 11 | from .utils import get_command_tree, ChangeType, extract_cmd_name, extract_subgroup_name, extract_subgroup_property, \ |
|
22 | 23 | PARA_PROPERTY_ADD_BREAK_LIST, PARA_PROPERTY_ADD_WARN_LIST, |
23 | 24 | PARA_PROPERTY_UPDATE_BREAK_LIST, PARA_PROPERTY_UPDATE_WARN_LIST, |
24 | 25 | CMD_REMOVE_SUFFIX_WARN_LIST, |
| 26 | + META_CHANDE_WHITELIST_FILE_URL, |
25 | 27 | META_CHANDE_WHITELIST_FILE_PATH) |
26 | 28 |
|
27 | 29 | logger = logging.getLogger(__name__) |
@@ -53,14 +55,24 @@ def __init__(self, deep_diff=None, base_meta=None, diff_meta=None): |
53 | 55 | self.__get_meta_change_whitelist__() |
54 | 56 |
|
55 | 57 | def __get_meta_change_whitelist__(self): |
56 | | - if not os.path.exists(META_CHANDE_WHITELIST_FILE_PATH): |
57 | | - logger.info("meta_change_whitelist.txt not exist, skipped") |
58 | | - return |
59 | | - with open(META_CHANDE_WHITELIST_FILE_PATH, "r") as f_in: |
60 | | - for line in f_in: |
| 58 | + remote_res = requests.get(META_CHANDE_WHITELIST_FILE_URL) |
| 59 | + if remote_res.status_code != 200: |
| 60 | + logger.warning("remote meta change whitelist fetch error, use local dict") |
| 61 | + if not os.path.exists(META_CHANDE_WHITELIST_FILE_PATH): |
| 62 | + logger.info("meta_change_whitelist.txt not exist, skipped") |
| 63 | + return |
| 64 | + with open(META_CHANDE_WHITELIST_FILE_PATH, "r") as f_in: |
| 65 | + for line in f_in: |
| 66 | + white_key = line.rstrip() |
| 67 | + self.meta_change_whitelist.add(white_key) |
| 68 | + else: |
| 69 | + logger.info("remote meta change whitelist fetch success") |
| 70 | + content = remote_res.text |
| 71 | + for line in content.split("\n"): |
61 | 72 | white_key = line.rstrip() |
62 | 73 | self.meta_change_whitelist.add(white_key) |
63 | 74 |
|
| 75 | + |
64 | 76 | @staticmethod |
65 | 77 | def __search_cmd_obj(cmd_name, search_meta): |
66 | 78 | command_tree = get_command_tree(cmd_name) |
|
0 commit comments