diff --git a/README.md b/README.md index baa3cb3..8676805 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,32 @@ network = pylast.LastFMNetwork( password_hash=password_hash, ) +# You can also authenticate with a session key +SESSION_KEY_FILE = os.path.join(os.path.expanduser("~"), ".session_key") +network = pylast.LastFMNetwork(API_KEY, API_SECRET) +if not os.path.exists(SESSION_KEY_FILE): + skg = pylast.SessionKeyGenerator(network) + url = skg.get_web_auth_url() + + print(f"Please authorize this script to access your account: {url}\n") + import time + import webbrowser + + webbrowser.open(url) + + while True: + try: + session_key = skg.get_web_auth_session_key(url) + with open(SESSION_KEY_FILE, "w") as f: + f.write(session_key) + break + except pylast.WSError: + time.sleep(1) +else: + session_key = open(SESSION_KEY_FILE).read() + +network.session_key = session_key + # Now you can use that object everywhere track = network.get_track("Iron Maiden", "The Nomad") track.love()