Fix build: Bundle schwab_scraper source and use local dependencies
All checks were successful
Build and Push Docker Image / build (push) Successful in 34s
All checks were successful
Build and Push Docker Image / build (push) Successful in 34s
This commit is contained in:
66
schwab_scraper/core/models.py
Normal file
66
schwab_scraper/core/models.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional, List
|
||||
|
||||
@dataclass
|
||||
class DividendsData:
|
||||
previous_payment: Optional[str] = None
|
||||
previous_pay_date: Optional[str] = None
|
||||
previous_ex_date: Optional[str] = None
|
||||
frequency: Optional[str] = None
|
||||
annual_dividend_rate: Optional[str] = None
|
||||
annual_dividend_yield: Optional[str] = None
|
||||
|
||||
@dataclass
|
||||
class MorningstarPdfData:
|
||||
fair_value: Optional[str] = None
|
||||
economic_moat: Optional[str] = None
|
||||
capital_allocation: Optional[str] = None
|
||||
rating: Optional[int] = None
|
||||
one_star_price: Optional[str] = None
|
||||
five_star_price: Optional[str] = None
|
||||
assessment: Optional[str] = None
|
||||
range_52_week: Optional[str] = None
|
||||
dividend_yield: Optional[str] = None
|
||||
investment_style: Optional[str] = None
|
||||
report_url: Optional[str] = None
|
||||
report_date: Optional[str] = None
|
||||
|
||||
@dataclass
|
||||
class ScrapeResult:
|
||||
ticker: str
|
||||
company_name: Optional[str]
|
||||
dividends: DividendsData
|
||||
morningstar: MorningstarPdfData
|
||||
source: str # "live" | "cache"
|
||||
|
||||
|
||||
# -------------------- Transactions Feature --------------------
|
||||
|
||||
@dataclass
|
||||
class AccountInfo:
|
||||
account_type: str # e.g., "Joint", "IRA", "Individual"
|
||||
account_ending: str # e.g., "604", "197", "873"
|
||||
full_description: str # e.g., "Joint …604 (Account ending in 6 0 4)"
|
||||
is_selected: bool = False
|
||||
|
||||
|
||||
@dataclass
|
||||
class TransactionRecord:
|
||||
date: str
|
||||
action: str
|
||||
symbol: Optional[str]
|
||||
description: str
|
||||
quantity: Optional[str]
|
||||
price: Optional[str]
|
||||
fees_comm: Optional[str]
|
||||
amount: Optional[str]
|
||||
|
||||
|
||||
@dataclass
|
||||
class TransactionData:
|
||||
account_info: AccountInfo
|
||||
transactions: List[TransactionRecord]
|
||||
date_range: str
|
||||
export_date: str
|
||||
total_transactions: int
|
||||
source: str # "live" | "cache"
|
||||
Reference in New Issue
Block a user