From e2a5667f81f2f1321c1f6d26078cc69af523f1d3 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Fri, 15 Nov 2024 14:54:29 +0100 Subject: [PATCH] bugfixing --- app/create_stock_db.py | 2 +- app/cron_wiim.py | 56 +++++++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/app/create_stock_db.py b/app/create_stock_db.py index f16c710..4c1a655 100755 --- a/app/create_stock_db.py +++ b/app/create_stock_db.py @@ -218,7 +218,7 @@ class StockDatabase: ticker_type = stock.get('type', '') if exchange_short_name in ['XETRA','NYSE', 'NASDAQ','AMEX', 'PNK','EURONEXT'] and ticker_type in ['stock']: symbol = stock.get('symbol', '') - if exchange_short_name == 'PNK' and symbol not in ['DRSHF','NTDOY','OTGLF','TCEHY', 'KRKNF','BYDDY','XIACY','NSRGY','TLPFY','TLPFF']: + if exchange_short_name == 'PNK' and symbol not in ['TSSI','DRSHF','NTDOY','OTGLF','TCEHY', 'KRKNF','BYDDY','XIACY','NSRGY','TLPFY','TLPFF']: pass elif exchange_short_name == 'EURONEXT' and symbol not in ['ALEUP.PA','ALNEV.PA','ALGAU.PA','ALDRV.PA','ALHYG.PA','ALVMG.PA','TEP.PA']: pass diff --git a/app/cron_wiim.py b/app/cron_wiim.py index a1a9c76..b7414b1 100755 --- a/app/cron_wiim.py +++ b/app/cron_wiim.py @@ -9,6 +9,7 @@ import time import os from dotenv import load_dotenv from datetime import datetime, timedelta +from tqdm import tqdm date_format = "%a, %d %b %Y %H:%M:%S %z" @@ -67,32 +68,38 @@ async def get_endpoint(session, symbol, con): res = ujson.loads(await response.text()) for item in res: - date_obj = datetime.strptime(item['created'], date_format) - date_obj_utc = date_obj.astimezone(pytz.utc) - - new_date_obj_utc = date_obj_utc - - start_date_obj_utc = correct_weekday(date_obj_utc) - - start_date = start_date_obj_utc.strftime("%Y-%m-%d") - end_date = new_date_obj_utc.strftime("%Y-%m-%d") - - new_date_str = new_date_obj_utc.strftime("%b %d, %Y") - query = query_template.format(symbol=symbol) - try: - df = pd.read_sql_query(query,con, params=(start_date, end_date)) - if not df.empty: - change_percent = round((df['close'].iloc[1]/df['close'].iloc[0] -1)*100,2) - else: - change_percent = '-' - except Exception as e: - change_percent = '-' + date_obj = datetime.strptime(item['created'], date_format) + date_obj_utc = date_obj.astimezone(pytz.utc) + + new_date_obj_utc = date_obj_utc + + start_date_obj_utc = correct_weekday(date_obj_utc) - res_list.append({'date': new_date_str, 'text': item['title'], 'changesPercentage': change_percent}) - with open(f"json/wiim/company/{symbol}.json", 'w') as file: + start_date = start_date_obj_utc.strftime("%Y-%m-%d") + end_date = new_date_obj_utc.strftime("%Y-%m-%d") + + new_date_str = new_date_obj_utc.strftime("%b %d, %Y") + query = query_template.format(symbol=symbol) + + try: + df = pd.read_sql_query(query,con, params=(start_date, end_date)) + if not df.empty: + change_percent = round((df['close'].iloc[1]/df['close'].iloc[0] -1)*100,2) + else: + change_percent = '-' + except Exception as e: + change_percent = '-' + res_list.append({'date': new_date_str, 'text': item['title'], 'changesPercentage': change_percent}) + except: + pass + + + if len(res_list) > 0: + with open(f"json/wiim/company/{symbol}.json", 'w') as file: ujson.dump(res_list, file) + ''' current_date = datetime.now(pytz.utc) date_difference = current_date - new_date_obj_utc @@ -144,11 +151,10 @@ async def run(): etf_cursor.execute("PRAGMA journal_mode = wal") etf_cursor.execute("SELECT DISTINCT symbol FROM etfs") etf_symbols = [row[0] for row in etf_cursor.fetchall()] - async with aiohttp.ClientSession() as session: - await get_latest_wiim(session, stock_symbols, etf_symbols) - await asyncio.gather(*(get_endpoint(session, symbol, con) for symbol in stock_symbols)) + #await get_latest_wiim(session, stock_symbols, etf_symbols) + await asyncio.gather(*(get_endpoint(session, symbol, con) for symbol in tqdm(stock_symbols))) await asyncio.gather(*(get_endpoint(session, symbol, etf_con) for symbol in etf_symbols)) con.close()