30 lines
885 B
Python
30 lines
885 B
Python
import sys
|
|
import os
|
|
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__),"..", "src")))
|
|
|
|
from typing import ClassVar, Optional
|
|
|
|
from lib.custom_logger import get_logger
|
|
logger = get_logger(level=10)
|
|
from dataclasses import dataclass
|
|
|
|
from models.duck_base_model import DuckBaseModel
|
|
from providers.duck_db_provider import DuckDBProvider
|
|
|
|
@dataclass
|
|
class NewsModel(DuckBaseModel):
|
|
title: str
|
|
file_glob: ClassVar[str] = "./data_science/data/y=2025/news/news_*.csv"
|
|
default_order_by: ClassVar[Optional[str]] = "pub_date DESC"
|
|
|
|
|
|
def example_duckdb_model():
|
|
logger.info("Starting example_duckdb_model function.")
|
|
provider = DuckDBProvider()
|
|
provider.connect()
|
|
NewsModel.provider = provider
|
|
|
|
news = NewsModel.first()
|
|
logger.info(f"Total news: {news if news else 'No news found'}")
|
|
|
|
# example_duckdb_model() |