|
|
def check_company_exists(my_companies, company_data): |
|
|
""" |
|
|
检查公司是否已存在(三维检查:公司名、CIK、Ticker) |
|
|
|
|
|
Args: |
|
|
my_companies: 公司列表 |
|
|
company_data: 可以是字符串(公司名)或字典(包含 company_name、cik、stock_code/ticker) |
|
|
|
|
|
Returns: |
|
|
bool: 如果公司已存在返回 True,否则返回 False |
|
|
""" |
|
|
if not isinstance(my_companies, list): |
|
|
return False |
|
|
|
|
|
|
|
|
if isinstance(company_data, str): |
|
|
return any(company.get('company_name') == company_data for company in my_companies) |
|
|
|
|
|
|
|
|
if isinstance(company_data, dict): |
|
|
company_name = company_data.get('company_name', '') |
|
|
cik = company_data.get('cik', '') |
|
|
ticker = company_data.get('stock_code') or company_data.get('ticker', '') |
|
|
|
|
|
|
|
|
for company in my_companies: |
|
|
|
|
|
if company.get('company_name') == company_name and company_name: |
|
|
return True |
|
|
|
|
|
if company.get('cik') == cik and cik: |
|
|
return True |
|
|
|
|
|
company_ticker = company.get('stock_code') or company.get('ticker', '') |
|
|
if company_ticker == ticker and ticker: |
|
|
return True |
|
|
|
|
|
return False |
|
|
|
|
|
return False |
|
|
|