mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-05 13:03:02 +00:00
38f1981283
- Move all backend files from swingmusic/ to root level - Backend files now display directly on GitHub repository page - Keep client applications as submodules (swingmusic-android, swingmusic-desktop, swingmusic-webclient) - Update README to reflect new structure (no cd swingmusic needed) - Cleaner, more professional GitHub repository layout Files moved to root: - src/ (main source code) - pyproject.toml, requirements.txt, run.py - swingmusic.spec, uv.lock, version.txt - services/ Result: GitHub shows backend files directly while maintaining organized structure
29 lines
547 B
Python
29 lines
547 B
Python
from dataclasses import dataclass
|
|
from typing import Any
|
|
|
|
|
|
@dataclass
|
|
class SimilarArtistEntry:
|
|
artisthash: str
|
|
name: str
|
|
weight: float
|
|
scrobbles: int
|
|
listeners: int
|
|
|
|
|
|
@dataclass
|
|
class SimilarArtist:
|
|
artisthash: str
|
|
similar_artists: list[SimilarArtistEntry]
|
|
|
|
|
|
def get_artist_hash_set(self) -> set[str]:
|
|
"""
|
|
Returns a set of similar artists.
|
|
"""
|
|
if not self.similar_artists:
|
|
return set()
|
|
|
|
# INFO:
|
|
return set(a['artisthash'] for a in self.similar_artists)
|