Programming
common_functions
import oracledb
import environ
env = environ.Env()
environ.Env.read_env()
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
portfel_svod_folder = BASE_DIR / "datasets" / "portfel" / "svod"
def find_recent_date(max_days_back=366):
today = datetime.date.today()
for i in range(max_days_back):
active_date = str(today - datetime.timedelta(days=i))
filepath = f"{portfel_svod_folder}/svod_{active_date}.parquet"
if os.path.isfile(filepath):
return active_date
raise FileNotFoundError(f"No processed file found in the last {max_days_back} days.")
def get_oracle_connection():
"""Centralized connection manager pulling from your environment configurations."""
return oracledb.connect(
user = env("ORACLE_USER"),
password = env("ORACLE_PASSWORD"),
dsn = env("ORACLE_DSN"))
def format_number(value):
try:
value = float(value)
"""Format large numbers to B (billions) or T (trillions)."""
if abs(value) >= 1_000_000_000_000:
return f"{value / 1_000_000_000_000:.1f} Трлн."
elif abs(value) >= 1_000_000_000:
return f"{value / 1_000_000_000:.1f} Млрд."
elif abs(value) >= 1_000_000:
return f"{value / 1_000_000:.1f} Млн."
return f"{value:,.0f} Сум"
except (ValueError, TypeError):
return value
PO
powerty
Author
· Staff
Aug. 14, 2026
Aug. 18, 2026
9
Views
0
Likes
1m
Read