Intention/api/globalData.py

102 lines
4.4 KiB
Python
Raw Normal View History

# globalData.py
import time
class GlobalData:
# 数据字段
standard_company_program = {}
standard_company_name_list = []
simply_to_standard_company_name_map = {}
pinyin_simply_to_standard_company_name_map = {}
standard_project_name_list = []
simply_to_standard_project_name_map = {}
pinyin_simply_to_standard_project_name_map = {}
standard_construct_name_list = []
simply_to_standard_construct_name_map = {}
pinyin_simply_to_standard_construct_name_map = {}
standard_constractor_name_list = []
simply_to_standard_constractor_name_map = {}
pinyin_simply_to_standard_constractor_name_map = {}
@classmethod
def update_from_local(cls):
from utils import (
load_standard_data,
load_standard_name,
clean_useless_company_name,
clean_useless_project_name,
text_to_pinyin
)
# 公司数据
temp_standard_company_program = load_standard_data("./standard_data/standard_company_program.json")
if temp_standard_company_program != cls.standard_company_program:
cls.standard_company_program.clear()
cls.standard_company_program.update(temp_standard_company_program)
cls.standard_company_name_list.clear()
cls.standard_company_name_list.extend(list(cls.standard_company_program.keys()))
cls.simply_to_standard_company_name_map.clear()
cls.simply_to_standard_company_name_map.update({
clean_useless_company_name(kw): kw for kw in cls.standard_company_name_list
})
cls.pinyin_simply_to_standard_company_name_map.clear()
cls.pinyin_simply_to_standard_company_name_map.update({
text_to_pinyin(clean_useless_company_name(kw)): kw for kw in cls.standard_company_name_list
})
# 工程名数据
temp_standard_project_name_list = load_standard_name('./standard_data/standard_project.txt')
if temp_standard_project_name_list != cls.standard_project_name_list:
cls.standard_project_name_list.clear()
cls.standard_project_name_list.extend(temp_standard_project_name_list)
cls.simply_to_standard_project_name_map.clear()
cls.simply_to_standard_project_name_map.update({
clean_useless_project_name(kw): kw for kw in cls.standard_project_name_list
})
cls.pinyin_simply_to_standard_project_name_map.clear()
cls.pinyin_simply_to_standard_project_name_map.update({
text_to_pinyin(clean_useless_project_name(kw)): kw for kw in cls.standard_project_name_list
})
# 建管单位数据
temp_standard_construct_name_list = load_standard_name('./standard_data/construct_unit.txt')
if temp_standard_construct_name_list != cls.standard_construct_name_list:
cls.standard_construct_name_list.clear()
cls.standard_construct_name_list.extend(temp_standard_construct_name_list)
cls.simply_to_standard_construct_name_map.clear()
cls.simply_to_standard_construct_name_map.update({
clean_useless_company_name(kw): kw for kw in cls.standard_construct_name_list
})
cls.pinyin_simply_to_standard_construct_name_map.clear()
cls.pinyin_simply_to_standard_construct_name_map.update({
text_to_pinyin(clean_useless_company_name(kw)): kw for kw in cls.standard_construct_name_list
})
# 分包单位数据
temp_standard_constractor_name_list = load_standard_name('./standard_data/sub_contract.txt')
if temp_standard_constractor_name_list != cls.standard_constractor_name_list:
cls.standard_constractor_name_list.clear()
cls.standard_constractor_name_list.extend(temp_standard_constractor_name_list)
cls.simply_to_standard_constractor_name_map.clear()
cls.simply_to_standard_constractor_name_map.update({
clean_useless_company_name(kw): kw for kw in cls.standard_constractor_name_list
})
cls.pinyin_simply_to_standard_constractor_name_map.clear()
cls.pinyin_simply_to_standard_constractor_name_map.update({
text_to_pinyin(clean_useless_company_name(kw)): kw for kw in cls.standard_constractor_name_list
})
print(f"✅ Data updated from local at {time.strftime('%Y-%m-%d %H:%M:%S')}")