nice
This commit is contained in:
parent
426ad381de
commit
b6d88d435a
6 changed files with 112 additions and 128 deletions
|
|
@ -4,77 +4,58 @@ from datetime import datetime
|
|||
from pathlib import Path
|
||||
from typing import List, Optional, Any
|
||||
|
||||
|
||||
class Entity:
|
||||
def __init__(self):
|
||||
self.id: str = None
|
||||
self.mbid : str = None
|
||||
self.mbid: str = None
|
||||
|
||||
self.title: str = None
|
||||
self.duration_ms: int = None
|
||||
|
||||
self.fav: bool = False
|
||||
self.rating: int = 0
|
||||
self.play_count : int = 0
|
||||
self.date_added : datetime = None
|
||||
self.date_released : datetime = None
|
||||
self.date_last_play : datetime = None
|
||||
self.play_count: int = 0
|
||||
self.date_added: datetime = None
|
||||
self.date_released: datetime = None
|
||||
self.date_last_play: datetime = None
|
||||
self.auto_score: float = 0
|
||||
|
||||
self.local_id: str = None
|
||||
self.resolved_percentage : float = 0
|
||||
self.local_path: Path = None
|
||||
self.resolved_percentage: float = 0
|
||||
|
||||
class Artist:
|
||||
|
||||
class Artist(Entity):
|
||||
def __init__(self):
|
||||
self.id: str = None
|
||||
self.title: str = None
|
||||
super().__init__()
|
||||
self.tracks: List[Track] = []
|
||||
self.albums: List[Album] = []
|
||||
self.local_id: str = None
|
||||
self.auto_score: float = 0
|
||||
self.fav: bool = False
|
||||
self.rating: int = 0
|
||||
self.resolved_percentage : float = 0
|
||||
|
||||
|
||||
class Track:
|
||||
class Track(Entity):
|
||||
def __init__(self):
|
||||
self.id: str = None
|
||||
self.title: str = None
|
||||
super().__init__()
|
||||
|
||||
self.artists: List[Artist] = []
|
||||
self.album: Album = None
|
||||
self.duration_ms: int = None
|
||||
self.added_at: datetime = None
|
||||
self.local_path: Path = None
|
||||
|
||||
self.has_lyrics: bool = False
|
||||
self.local_id: str = None
|
||||
self.auto_score: float = 0
|
||||
self.fav: bool = False
|
||||
self.rating: int = 0
|
||||
|
||||
|
||||
class Album:
|
||||
class Album(Entity):
|
||||
def __init__(self):
|
||||
self.id: str = None
|
||||
self.title: str = None
|
||||
self.release_date: datetime = None
|
||||
super().__init__()
|
||||
self.tracks: List[Track] = []
|
||||
self.artists: List[Artist] = []
|
||||
self.local_id: str = None
|
||||
self.auto_score: float = 0
|
||||
self.fav: bool = False
|
||||
self.rating: int = 0
|
||||
self.resolved_percentage : float = 0
|
||||
|
||||
|
||||
class Playlist:
|
||||
class Playlist(Entity):
|
||||
def __init__(self):
|
||||
self.title: str = None
|
||||
super().__init__()
|
||||
self.tracks: List[Track] = []
|
||||
self.created_at: datetime = None
|
||||
self.description: str = None
|
||||
self.auto_score: float = 0
|
||||
self.fav: bool = False
|
||||
self.rating: int = 0
|
||||
self.resolved_percentage : float = 0
|
||||
|
||||
|
||||
class Library:
|
||||
|
|
@ -120,14 +101,8 @@ class Library:
|
|||
artist.albums.append(album)
|
||||
|
||||
def auto_score(self):
|
||||
self.score_tracks()
|
||||
self.score_artists()
|
||||
self.score_albums()
|
||||
|
||||
def score_tracks(self):
|
||||
for idx, track in enumerate(self.top_tracks):
|
||||
score = len(self.top_tracks) - idx
|
||||
track.auto_score = score
|
||||
self.score_artists()
|
||||
|
||||
def score_artists(self):
|
||||
for track in self.tracks:
|
||||
|
|
@ -150,4 +125,4 @@ class Library:
|
|||
album.resolved_percentage = album_count_resolved / len(album.tracks)
|
||||
artist_count_resolved += album_count_resolved
|
||||
artist_count += len(album.tracks)
|
||||
artist.resolved_percentage = artist_count_resolved / artist_count
|
||||
artist.resolved_percentage = artist_count_resolved / artist_count
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue