update cron list

This commit is contained in:
MuslemRahimi 2024-11-12 14:59:48 +01:00
parent 9513ebd340
commit 4a457fcb4c
2 changed files with 16 additions and 8 deletions

View File

@ -335,6 +335,16 @@ async def run():
'utilities': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' OR exchangeShortName = 'AMEX') AND (sector = 'Utilities')"
}
country_conditions = {
'de': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'DE'",
'ca': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'CA'",
'cn': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'CN'",
'in': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'IN'",
'il': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'IL'",
'gb': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'GB'",
'jp': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'JP'",
}
try:
con = sqlite3.connect('stocks.db')
@ -349,6 +359,9 @@ async def run():
await get_all_reits_list(cursor)
for category, condition in country_conditions.items():
await process_category(cursor, category, condition, 'stocks-list')
await asyncio.sleep(1) # Small delay between categories
for category, condition in market_cap_conditions.items():
await process_category(cursor, category, condition, 'market-cap')

View File

@ -1982,13 +1982,6 @@ async def filter_stock_list(data: FilterStockList, api_key: str = Security(get_a
'nyse': "exchangeShortName = 'NYSE'",
'xetra': "exchangeShortName = 'XETRA'",
'amex': "exchangeShortName = 'AMEX'",
'DE': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'DE'",
'CA': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'CA'",
'CN': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'CN'",
'IN': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'IN'",
'IL': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'IL'",
'GB': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'GB'",
'JP': "(exchangeShortName = 'NYSE' OR exchangeShortName = 'NASDAQ' or exchangeShortName = 'AMEX') AND country = 'JP'",
}
# Execute the query with the relevant country
@ -4019,7 +4012,7 @@ async def get_statistics(data: TickerData, api_key: str = Security(get_api_key))
@app.post("/list-category")
async def get_statistics(data: FilterStockList, api_key: str = Security(get_api_key)):
filter_list = data.filterList
filter_list = data.filterList.lower()
cache_key = f"filter-list-{filter_list}"
cached_result = redis_client.get(cache_key)
if cached_result:
@ -4033,6 +4026,8 @@ async def get_statistics(data: FilterStockList, api_key: str = Security(get_api_
category_type = 'sector'
elif filter_list == 'reits':
category_type = 'industry'
elif filter_list in ['ca','cn','de','gb','il','in','jp']:
category_type = 'stocks-list'
else:
category_type = 'market-cap'
try: