from datetime import datetime, timedelta from db.local_database import LocalDatabase, DatabaseEntry, DataType from db.adapters import ( CalendarAdapter, FundamentalAdapter, NewsAdapter, TechnicalAnalysisAdapter ) def get_events(type:str, date_str:str): """Retrieve event data from the local database for a given type, ticker, and date""" db = LocalDatabase() entries = db.query(date_from=date_str, data_type=type) for entry in entries: if entry: return entry.data ## RETURN FIRST MATCHING ENTRY ONLY return None def get_event_ticker(type:str, ticker:str, date_str:str): """Retrieve event data from the local database for a given type, ticker, and date""" db = LocalDatabase() entry = db.get(date_str=date_str, data_type=type,ticker=ticker) if entry: return entry.data return None if __name__ == "__main__": # Example usage date_str = datetime.now().strftime("%Y-%m-%d") ticker = "ABNB" event_types = [ DataType.DIVIDENDS.value, DataType.STOCK_SPLIT.value, DataType.IPO.value, DataType.EARNINGS.value, DataType.ECONOMIC_EVENTS.value, DataType.FUNDAMENTAL.value, DataType.NEWS.value, DataType.TECHNICAL_ANALYSIS.value ] for event_type in event_types: print(event_type) event_data = get_events(event_type, date_str) print(f"Event Type: {event_type}, Date: {date_str}") print(f"Data: {event_data}\n")