File size: 1,203 Bytes
9888335 a39fb5b 9888335 f04bd20 b8ca575 a39fb5b b8ca575 9888335 | 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 | from dataclasses import dataclass
import pandas as pd
# These classes are for user facing column names, to avoid having to change them
# all around the code when a modif is needed
@dataclass
class ColumnContent:
name: str
type: str
def fields(raw_class):
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
def make_clickable_model(df):
df["Model"] = df.apply(
lambda row: f'<a target="_blank" href="{row["link"]}" style="color: var(--link-text-color); text-decoration: underline; text-decoration-style: dotted;">{row["model"]} ({row["Parameters"]})</a>' if pd.notna(row["Parameters"]) else f'<a target="_blank" href="{row["link"]}" style="color: var(--link-text-color); text-decoration: underline; text-decoration-style: dotted;">{row["model"]}</a>',
axis=1
)
return df
def styled_error(error):
return f"<p style='color: red; font-size: 20px; text-align: center;'>{error}</p>"
def styled_warning(warn):
return f"<p style='color: orange; font-size: 20px; text-align: center;'>{warn}</p>"
def styled_message(message):
return f"<p style='color: green; font-size: 20px; text-align: center;'>{message}</p>"
|