Merge pull request #33 from kokarare1212/deepsource-transform-957c827d
Format code with yapf
This commit is contained in:
@@ -1,13 +1,15 @@
|
|||||||
|
import os
|
||||||
|
import platform
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
from librespot.audio.decoders import AudioQuality
|
from librespot.audio.decoders import AudioQuality
|
||||||
from librespot.core import Session
|
from librespot.core import Session
|
||||||
from librespot.metadata import TrackId
|
from librespot.metadata import TrackId
|
||||||
from librespot.player.codecs import VorbisOnlyAudioQuality
|
from librespot.player.codecs import VorbisOnlyAudioQuality
|
||||||
import os
|
|
||||||
import platform
|
|
||||||
import re
|
|
||||||
import requests
|
|
||||||
import subprocess
|
|
||||||
import time
|
|
||||||
|
|
||||||
quality: AudioQuality = AudioQuality.VERY_HIGH
|
quality: AudioQuality = AudioQuality.VERY_HIGH
|
||||||
session: Session = None
|
session: Session = None
|
||||||
@@ -30,10 +32,16 @@ def client():
|
|||||||
if args[0] == "exit" or args[0] == "quit":
|
if args[0] == "exit" or args[0] == "quit":
|
||||||
return
|
return
|
||||||
if (args[0] == "p" or args[0] == "play") and len(args) == 2:
|
if (args[0] == "p" or args[0] == "play") and len(args) == 2:
|
||||||
track_uri_search = re.search(r"^spotify:track:(?P<TrackID>[0-9a-zA-Z]{22})$", args[1])
|
track_uri_search = re.search(
|
||||||
track_url_search = re.search(r"^(https?://)?open.spotify.com/track/(?P<TrackID>[0-9a-zA-Z]{22})(\?si=.+?)?$", args[1])
|
r"^spotify:track:(?P<TrackID>[0-9a-zA-Z]{22})$", args[1])
|
||||||
|
track_url_search = re.search(
|
||||||
|
r"^(https?://)?open.spotify.com/track/(?P<TrackID>[0-9a-zA-Z]{22})(\?si=.+?)?$",
|
||||||
|
args[1],
|
||||||
|
)
|
||||||
if track_uri_search is not None or track_url_search is not None:
|
if track_uri_search is not None or track_url_search is not None:
|
||||||
track_id_str = (track_uri_search if track_uri_search is not None else track_url_search).group("TrackID")
|
track_id_str = (track_uri_search
|
||||||
|
if track_uri_search is not None else
|
||||||
|
track_url_search).group("TrackID")
|
||||||
play(track_id_str)
|
play(track_id_str)
|
||||||
wait()
|
wait()
|
||||||
if args[0] == "q" or args[0] == "quality":
|
if args[0] == "q" or args[0] == "quality":
|
||||||
@@ -51,11 +59,24 @@ def client():
|
|||||||
wait()
|
wait()
|
||||||
if (args[0] == "s" or args[0] == "search") and len(args) >= 2:
|
if (args[0] == "s" or args[0] == "search") and len(args) >= 2:
|
||||||
token = session.tokens().get("user-read-email")
|
token = session.tokens().get("user-read-email")
|
||||||
resp = requests.get("https://api.spotify.com/v1/search", {"limit": "5", "offset": "0", "q": cmd[2:], "type": "track"}, headers={"Authorization": "Bearer %s" % token})
|
resp = requests.get(
|
||||||
|
"https://api.spotify.com/v1/search",
|
||||||
|
{
|
||||||
|
"limit": "5",
|
||||||
|
"offset": "0",
|
||||||
|
"q": cmd[2:],
|
||||||
|
"type": "track"
|
||||||
|
},
|
||||||
|
headers={"Authorization": "Bearer %s" % token},
|
||||||
|
)
|
||||||
i = 1
|
i = 1
|
||||||
tracks = resp.json()["tracks"]["items"]
|
tracks = resp.json()["tracks"]["items"]
|
||||||
for track in tracks:
|
for track in tracks:
|
||||||
print("%d, %s | %s" % (i, track["name"], ",".join([artist["name"] for artist in track["artists"]])))
|
print("%d, %s | %s" % (
|
||||||
|
i,
|
||||||
|
track["name"],
|
||||||
|
",".join([artist["name"] for artist in track["artists"]]),
|
||||||
|
))
|
||||||
i += 1
|
i += 1
|
||||||
position = -1
|
position = -1
|
||||||
while True:
|
while True:
|
||||||
@@ -92,12 +113,14 @@ def login():
|
|||||||
|
|
||||||
def play(track_id_str: str):
|
def play(track_id_str: str):
|
||||||
track_id = TrackId.from_base62(track_id_str)
|
track_id = TrackId.from_base62(track_id_str)
|
||||||
stream = session.content_feeder().load(track_id,
|
stream = session.content_feeder().load(
|
||||||
VorbisOnlyAudioQuality(AudioQuality.VERY_HIGH),
|
track_id, VorbisOnlyAudioQuality(AudioQuality.VERY_HIGH), False, None)
|
||||||
False,
|
ffplay = subprocess.Popen(
|
||||||
None)
|
["ffplay", "-"],
|
||||||
ffplay = subprocess.Popen(["ffplay", "-"], stdin=subprocess.PIPE, stdout=subprocess.DEVNULL,
|
stdin=subprocess.PIPE,
|
||||||
stderr=subprocess.DEVNULL)
|
stdout=subprocess.DEVNULL,
|
||||||
|
stderr=subprocess.DEVNULL,
|
||||||
|
)
|
||||||
while True:
|
while True:
|
||||||
byte = stream.input_stream.stream().read()
|
byte = stream.input_stream.stream().read()
|
||||||
if byte == -1:
|
if byte == -1:
|
||||||
@@ -106,8 +129,7 @@ def play(track_id_str: str):
|
|||||||
|
|
||||||
|
|
||||||
def splash():
|
def splash():
|
||||||
print(
|
print("=================================\n"
|
||||||
"=================================\n"
|
|
||||||
"| Librespot-Python Player |\n"
|
"| Librespot-Python Player |\n"
|
||||||
"| |\n"
|
"| |\n"
|
||||||
"| by kokarare1212 |\n"
|
"| by kokarare1212 |\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user