Spaces:
Running
Running
File size: 1,522 Bytes
3fe0726 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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") |