Spaces:
Sleeping
Sleeping
import urllib | |
import pandas as pd | |
from pydantic import BaseModel | |
class Chapter(BaseModel): | |
book_name: str | |
chapter_num: int | |
verses_df: pd.DataFrame | |
highlight_verses_df: pd.DataFrame | |
class Config: | |
arbitrary_types_allowed = True | |
def __str__(self) -> str: | |
return f"{self.book_name} {self.chapter_num}" | |
def get_formatted_text(self): | |
# Construct chapter text | |
texts = [] | |
for _, row in self.verses_df.iterrows(): | |
text = row["text"] | |
if text in self.highlight_verses_df["text"].tolist(): | |
text = f"**:green[{text}]**" | |
text = f"<sup>{row['verse']}</sup> {text}" | |
texts.append(text) | |
chapter_text = " ".join(texts) | |
return chapter_text | |
def get_biblegateway_url(self, version="NIV"): | |
return f"https://www.biblegateway.com/passage/?search={urllib.parse.quote(self.book_name)}+{self.chapter_num}&version={version}" | |
def get_num_unique_highlight_verse(self): | |
return len(self.highlight_verses_df.drop_duplicates(subset="text")) | |