fix selection printing
This commit is contained in:
parent
77ba1cba9c
commit
66e98dc98d
|
@ -96,7 +96,7 @@ class Session(LibrespotSession):
|
||||||
self.authenticate(session_builder.login_credentials)
|
self.authenticate(session_builder.login_credentials)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_file(cred_file: Path | str, language: str = "en") -> Session:
|
def from_file(auth: OAuth, cred_file: Path | str, language: str = "en") -> Session:
|
||||||
"""
|
"""
|
||||||
Creates session using saved credentials file
|
Creates session using saved credentials file
|
||||||
Args:
|
Args:
|
||||||
|
@ -113,11 +113,13 @@ class Session(LibrespotSession):
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
session = LibrespotSession.Builder(conf).stored_file(str(cred_file))
|
session = LibrespotSession.Builder(conf).stored_file(str(cred_file))
|
||||||
return Session(session, OAuth(), language) # TODO
|
return Session(session, auth, language) # TODO
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_oauth(
|
def from_oauth(
|
||||||
save_file: Path | str | None = None, language: str = "en"
|
auth: OAuth,
|
||||||
|
save_file: Path | str | None = None,
|
||||||
|
language: str = "en",
|
||||||
) -> Session:
|
) -> Session:
|
||||||
"""
|
"""
|
||||||
Creates a session using OAuth2
|
Creates a session using OAuth2
|
||||||
|
@ -136,15 +138,11 @@ class Session(LibrespotSession):
|
||||||
else:
|
else:
|
||||||
builder.set_store_credentials(False)
|
builder.set_store_credentials(False)
|
||||||
|
|
||||||
# TODO: this should be done in App()
|
|
||||||
username = input("Username: ")
|
|
||||||
auth = OAuth()
|
|
||||||
print(f"Click on the following link to login:\n{auth.get_authorization_url()}")
|
|
||||||
token = auth.await_token()
|
token = auth.await_token()
|
||||||
|
|
||||||
session = LibrespotSession.Builder(builder.build())
|
session = LibrespotSession.Builder(builder.build())
|
||||||
session.login_credentials = Authentication.LoginCredentials(
|
session.login_credentials = Authentication.LoginCredentials(
|
||||||
username=username,
|
username=auth.username,
|
||||||
typ=Authentication.AuthenticationType.values()[3],
|
typ=Authentication.AuthenticationType.values()[3],
|
||||||
auth_data=token.access_token.encode(),
|
auth_data=token.access_token.encode(),
|
||||||
)
|
)
|
||||||
|
@ -221,11 +219,7 @@ class Session(LibrespotSession):
|
||||||
self.__event_service = EventService(self)
|
self.__event_service = EventService(self)
|
||||||
self.__auth_lock_bool = False
|
self.__auth_lock_bool = False
|
||||||
self.__auth_lock.notify_all()
|
self.__auth_lock.notify_all()
|
||||||
self.dealer().connect()
|
|
||||||
self.mercury().interested_in("sp" + "otify:user:attributes:update", self)
|
self.mercury().interested_in("sp" + "otify:user:attributes:update", self)
|
||||||
self.dealer().add_message_listener(
|
|
||||||
self, ["hm://connect-state/v1/connect/logout"]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class ApiClient(LibrespotApiClient):
|
class ApiClient(LibrespotApiClient):
|
||||||
|
@ -303,8 +297,10 @@ class OAuth:
|
||||||
__code_verifier: str
|
__code_verifier: str
|
||||||
__server_thread: Thread
|
__server_thread: Thread
|
||||||
__token: TokenProvider.StoredToken
|
__token: TokenProvider.StoredToken
|
||||||
|
username: str
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, username: str):
|
||||||
|
self.username = username
|
||||||
self.__server_thread = Thread(target=self.__run_server)
|
self.__server_thread = Thread(target=self.__run_server)
|
||||||
self.__server_thread.start()
|
self.__server_thread.start()
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ from argparse import Namespace
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from zotify import Session
|
from zotify import OAuth, Session
|
||||||
from zotify.collections import Album, Artist, Collection, Episode, Playlist, Show, Track
|
from zotify.collections import Album, Artist, Collection, Episode, Playlist, Show, Track
|
||||||
from zotify.config import Config
|
from zotify.config import Config
|
||||||
from zotify.file import TranscodingError
|
from zotify.file import TranscodingError
|
||||||
|
@ -80,7 +80,9 @@ class Selection:
|
||||||
except KeyError:
|
except KeyError:
|
||||||
item = resp[i]
|
item = resp[i]
|
||||||
self.__items.append(item)
|
self.__items.append(item)
|
||||||
self.__print(i + 1, item)
|
print(
|
||||||
|
"{:<2} {:<38}".format(i + 1, self.__fix_string_length(item["name"], 38))
|
||||||
|
)
|
||||||
return self.__get_selection()
|
return self.__get_selection()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -162,8 +164,12 @@ class App:
|
||||||
# self.__session = Session.from_prompt(
|
# self.__session = Session.from_prompt(
|
||||||
# self.__config.credentials_path, self.__config.language
|
# self.__config.credentials_path, self.__config.language
|
||||||
# )
|
# )
|
||||||
|
username = input("Username: ")
|
||||||
|
auth = OAuth(username)
|
||||||
|
auth_url = auth.get_authorization_url()
|
||||||
|
print(f"\nClick on the following link to login:\n{auth_url}")
|
||||||
self.__session = Session.from_oauth(
|
self.__session = Session.from_oauth(
|
||||||
self.__config.credentials_path, self.__config.language
|
auth, self.__config.credentials_path, self.__config.language
|
||||||
)
|
)
|
||||||
|
|
||||||
# Get items to download
|
# Get items to download
|
||||||
|
|
Loading…
Reference in New Issue