mirror of
https://github.com/Dvorinka/SpotifyRecAlg.git
synced 2026-06-04 04:23:02 +00:00
first commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
"""
|
||||
Swing Music API package.
|
||||
|
||||
The package intentionally avoids eager imports so a broken or optional API
|
||||
module cannot crash process boot.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import importlib
|
||||
|
||||
_MODULES = {
|
||||
"album": "swingmusic.api.album",
|
||||
"artist": "swingmusic.api.artist",
|
||||
"collections": "swingmusic.api.collections",
|
||||
"colors": "swingmusic.api.colors",
|
||||
"favorites": "swingmusic.api.favorites",
|
||||
"folder": "swingmusic.api.folder",
|
||||
"imgserver": "swingmusic.api.imgserver",
|
||||
"playlist": "swingmusic.api.playlist",
|
||||
"search": "swingmusic.api.search",
|
||||
"settings": "swingmusic.api.settings",
|
||||
"lyrics": "swingmusic.api.lyrics",
|
||||
"plugins": "swingmusic.api.plugins",
|
||||
"scrobble": "swingmusic.api.scrobble",
|
||||
"home": "swingmusic.api.home",
|
||||
"getall": "swingmusic.api.getall",
|
||||
"auth": "swingmusic.api.auth",
|
||||
"stream": "swingmusic.api.stream",
|
||||
"backup_and_restore": "swingmusic.api.backup_and_restore",
|
||||
"spotify": "swingmusic.api.spotify",
|
||||
"spotify_settings": "swingmusic.api.spotify_settings",
|
||||
"enhanced_search": "swingmusic.api.enhanced_search",
|
||||
"universal_downloader": "swingmusic.api.universal_downloader",
|
||||
"music_catalog": "swingmusic.api.music_catalog",
|
||||
"upload": "swingmusic.api.upload",
|
||||
"downloads": "swingmusic.api.downloads",
|
||||
"setup": "swingmusic.api.setup",
|
||||
"plugins_lyrics": "swingmusic.api.plugins.lyrics",
|
||||
"plugins_mixes": "swingmusic.api.plugins.mixes",
|
||||
"dragonfly": "swingmusic.api.dragonfly",
|
||||
}
|
||||
|
||||
|
||||
def __getattr__(name: str):
|
||||
module_path = _MODULES.get(name)
|
||||
if module_path is None:
|
||||
raise AttributeError(f"module 'swingmusic.api' has no attribute '{name}'")
|
||||
|
||||
module = importlib.import_module(module_path)
|
||||
globals()[name] = module
|
||||
return module
|
||||
|
||||
|
||||
__all__ = sorted(_MODULES.keys())
|
||||
Reference in New Issue
Block a user