import datetime import logging import pandas as pd import pandas.core.series logger = logging.getLogger("usdbdl") def load(file: str): with open(file, 'rb') as f: return pd.read_excel(f) def get_usdb_url(song: pandas.Series): return song["TXT Link"] def get_cover_image_url(song: pandas.Series): return song["Cover Link"] def get_yt_video_url(song: pandas.Series): return song["Video Link"] def get_artist_name(song: pandas.Series): return song["Artist Name"] def get_song_name(song: pandas.Series): return song["Track Name"] def get_track_id(song: pandas.Series): return song["Spotify URI"] def get_gap(song: pandas.Series): return song["GAP"] def get_video_gap(song: pandas.Series): return song["VideoGAP"] def get_start(song: pandas.Series): return song["Start"] def get_end(song: pandas.Series): return song["End"] def get_language(song: pandas.Series): return song["Language"] def get_date(song: pandas.Series): logger.debug(f"{type(song['Release Date'])}, {song['Release Date']}") try: return datetime.date.fromisoformat(song["Release Date"]) except TypeError: return datetime.date.min class USDB: def __init__(self, file: str): self.data = load(file)