reddgr commited on
Commit
432b263
·
1 Parent(s): 94b5c87

minor internal changes ahead of company tab release

Browse files
Files changed (1) hide show
  1. src/app_utils.py +29 -2
src/app_utils.py CHANGED
@@ -1,5 +1,5 @@
1
  import pandas as pd
2
- from typing import Sequence, Any
3
 
4
  import re
5
 
@@ -66,4 +66,31 @@ def styler_negative_red(df: pd.DataFrame, cols: list[str] | None = None):
66
  pass
67
  return ""
68
 
69
- return df.style.applymap(_style, subset=cols)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import pandas as pd
2
+ from typing import Tuple
3
 
4
  import re
5
 
 
66
  pass
67
  return ""
68
 
69
+ return df.style.applymap(_style, subset=cols)
70
+
71
+ def get_company_info(
72
+ maestro: pd.DataFrame,
73
+ ticker: str,
74
+ rename_columns: dict
75
+ ) -> Tuple[str, str, pd.DataFrame]:
76
+ """
77
+ Returns the company name, longBusinessSummary, and a DataFrame
78
+ of all other fields for the given ticker.
79
+ """
80
+ company = maestro[maestro["ticker"] == ticker]
81
+ if company.empty:
82
+ return ticker, "No data available.", pd.DataFrame()
83
+
84
+ # extract name & summary
85
+ name = company["security"].iloc[0] if "security" in company.columns else ticker
86
+ summary = company["longBusinessSummary"].iloc[0] if "longBusinessSummary" in company.columns else ""
87
+
88
+ # build details table
89
+ details = company.drop(columns=["longBusinessSummary"], errors="ignore").iloc[0]
90
+ df = pd.DataFrame({
91
+ "Field": details.index.tolist(),
92
+ "Value": details.values.tolist()
93
+ })
94
+ df["Field"] = df["Field"].map(lambda c: rename_columns.get(c, c))
95
+
96
+ return name, summary, df