feat: terminal spotify client (ncmpcpp-style)

This commit is contained in:
x3
2026-09-06 08:08:56 +00:00
commit 352ed02871
12 changed files with 1673 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env python3
import sys
import curses
import argparse
from .auth import SpotifyAuth
from .client import SpotifyClient
from .ui import UI
def main():
parser = argparse.ArgumentParser(description="spotify-cli - Terminal Spotify Client")
parser.add_argument("--login", action="store_true", help="Neu einloggen")
parser.add_argument("--logout", action="store_true", help="Ausloggen")
args = parser.parse_args()
auth = SpotifyAuth()
if args.logout:
auth.logout()
return
if args.login:
auth._full_auth()
return
token = auth.get_token()
if not token:
print("Nicht eingelogged. Fuehre 'spotify-cli --login' aus.")
sys.exit(1)
client = SpotifyClient(token)
try:
client.get_current_user()
except Exception:
print("Token abgelaufen. Bitte erneut einloggen: spotify-cli --login")
sys.exit(1)
curses.wrapper(lambda stdscr: UI(stdscr, client).run())
if __name__ == "__main__":
main()