File size: 668 Bytes
7204409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from dataclasses import dataclass
from typing import List, Optional
import pandas as pd

@dataclass
class AppState:
    audio_paths: List[str] = None
    possible_values: List[str] = None
    current_chapter: Optional[str] = None
    current_page: Optional[str] = None
    verses_data: Optional[pd.DataFrame] = None
    
    @classmethod
    def initialize(cls, dataset_name: str):
        from datasets import load_dataset
        data = load_dataset(dataset_name, split="train").to_pandas()
        data[["chapter", "page"]] = data["moore_source_url"].apply(
            lambda x: pd.Series(extract_audio_identifier(x))
        )
        return cls(verses_data=data)