Skip to content
Snippets Groups Projects
db.py 1.25 KiB
Newer Older
kjk's avatar
kjk committed
import datetime
import logging
kjk's avatar
kjk committed

kjk's avatar
kjk committed
import pandas as pd
import pandas.core.series

logger = logging.getLogger("usdbdl")
kjk's avatar
kjk committed

def load(file: str):
    with open(file, 'rb') as f:
        return pd.read_excel(f)

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_usdb_url(song: pandas.Series):
    return song["TXT Link"]

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_cover_image_url(song: pandas.Series):
    return song["Cover Link"]

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_yt_video_url(song: pandas.Series):
    return song["Video Link"]

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_artist_name(song: pandas.Series):
    return song["Artist Name"]

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_song_name(song: pandas.Series):
    return song["Track Name"]

kjk's avatar
kjk committed

kjk's avatar
kjk committed
def get_track_id(song: pandas.Series):
    return song["Spotify URI"]

kjk's avatar
kjk committed

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"]

kjk's avatar
kjk committed
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

kjk's avatar
kjk committed


kjk's avatar
kjk committed
class USDB:
    def __init__(self, file: str):
        self.data = load(file)