aboutsummaryrefslogtreecommitdiff
path: root/modules/artists.py
blob: 3612758b4ac2409db067ecd3a991e514c46d263b (plain)
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
import os.path
import csv
from collections import namedtuple

Artist = namedtuple("Artist", ['name', 'weight', 'category'])


class ArtistsDatabase:
    def __init__(self, filename):
        self.cats = set()
        self.artists = []

        if not os.path.exists(filename):
            return

        with open(filename, "r", newline='', encoding="utf8") as file:
            reader = csv.DictReader(file)

            for row in reader:
                artist = Artist(row["artist"], float(row["score"]), row["category"])
                self.artists.append(artist)
                self.cats.add(artist.category)

    def categories(self):
        return sorted(self.cats)