Testing Travis CI

This commit is contained in:
Kepoor Hampond 2017-03-08 20:21:52 -08:00
parent 9d345c1672
commit 31993abc5f
7 changed files with 45 additions and 8 deletions

11
.travis.yml Normal file
View file

@ -0,0 +1,11 @@
language: python
python:
- "2.7"
- "3.5"
install: "pip install irs"
script:
- python tests/song.py
- python tests/album.py
- python tests/playlist.py

View file

@ -0,0 +1 @@
from .ripper import Ripper

View file

@ -40,9 +40,13 @@ class Ripper:
try: try:
if not song: song = self.args["song_title"] if not song: song = self.args["song_title"]
if not artist: artist = self.args["artist"] if not artist: artist = self.args["artist"]
except ValueError: except KeyError:
raise ValueError("Must specify song_title/artist in `args` with init, or in method arguments.") raise ValueError("Must specify song_title/artist in `args` with init, or in method arguments.")
clear_line()
sys.stdout.write("Finding Youtube Link ...\r")
sys.stdout.flush()
search_terms = song + " " + artist + " " + additional_search search_terms = song + " " + artist + " " + additional_search
query_string = urlencode({"search_query" : (search_terms)}) query_string = urlencode({"search_query" : (search_terms)})
link = "http://www.youtube.com/results?" + query_string link = "http://www.youtube.com/results?" + query_string
@ -117,7 +121,9 @@ class Ripper:
the_list["artists"] = [{"name": username}] the_list["artists"] = [{"name": username}]
break break
if the_list != None: if the_list != None:
print ('"%s" by "%s"' % (the_list["name"], the_list["artists"][0]["name"])) clear_line()
sys.stdout.write(type.title() + ': "%s" by "%s"\r' % (the_list["name"], the_list["artists"][0]["name"]))
sys.stdout.flush()
compilation = "" compilation = ""
if type == "album": if type == "album":
tmp_artists = [] tmp_artists = []
@ -215,7 +221,9 @@ class Ripper:
video_url, video_title = self.find_yt_url(song, artist) video_url, video_title = self.find_yt_url(song, artist)
print ('Downloading "%s" by "%s" ...' % (song, artist)) clear_line()
sys.stdout.write('Downloading "%s" by "%s" ...\r' % (song, artist))
sys.stdout.flush()
file_name = str(data["file_prefix"] + blank(song, False) + ".mp3") file_name = str(data["file_prefix"] + blank(song, False) + ".mp3")
@ -229,14 +237,14 @@ class Ripper:
}], }],
'logger': MyLogger(), 'logger': MyLogger(),
'progress_hooks': [my_hook], 'progress_hooks': [my_hook],
'output': "tmp_file",
} }
with youtube_dl.YoutubeDL(ydl_opts) as ydl: with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([video_url]) ydl.download([video_url])
print ("./*%s*" % video_title.split("/watch?v=")[-1])
for file in glob.glob("./*%s*" % video_title.split("/watch?v=")[-1]): for file in glob.glob("./*%s*" % video_url.split("/watch?v=")[-1]):
os.rename(file, file_name) os.rename(file, file_name)
# Ease of Variables (copyright) (patent pending) (git yer filthy hands off) # Ease of Variables (copyright) (patent pending) (git yer filthy hands off)
@ -256,3 +264,6 @@ class Ripper:
m.add_tag("discnumber", str(data["disc_number"])) m.add_tag("discnumber", str(data["disc_number"]))
m.add_tag("compilation", data["compilation"]) m.add_tag("compilation", data["compilation"])
m.add_album_art( str(data["album_art"])) m.add_album_art( str(data["album_art"]))
return file_name

View file

@ -5,6 +5,9 @@
# Youtube-DL Logs and Hooks # Youtube-DL Logs and Hooks
#========================== #==========================
def clear_line():
sys.stdout.write("\x1b[2K\r")
class MyLogger(object): class MyLogger(object):
def debug(self, msg): def debug(self, msg):
pass pass
@ -18,7 +21,9 @@ class MyLogger(object):
def my_hook(d): def my_hook(d):
if d['status'] == 'finished': if d['status'] == 'finished':
print ("Converting to mp3 ...") clear_line() # TODO: Make this into a method.
sys.stdout.write("Converting to mp3 ...\r")
sys.stdout.flush()
#================================= #=================================
@ -212,7 +217,7 @@ def banner():
flush_puts(center_colors("{0}Ironic Redistribution System ({1}IRS{2})"\ flush_puts(center_colors("{0}Ironic Redistribution System ({1}IRS{2})"\
.format(BYELLOW, BRED, BYELLOW), COLS)) .format(BYELLOW, BRED, BYELLOW), COLS))
flush_puts(center_colors("{0}Made with 😈 by: {1}Kepoor Hampond ({2}kepoorhampond{3})\r"\ flush_puts(center_colors("{0}Made with 😈 by: {1}Kepoor Hampond ({2}kepoorhampond{3})"\
.format(BBLUE, BYELLOW, BRED, BYELLOW) + END, COLS)) .format(BBLUE, BYELLOW, BRED, BYELLOW) + END, COLS))
flush_puts(center_colors("{0}Version: {1}".format(BBLUE, BYELLOW) + pkg_resources.get_distribution("irs").version, COLS)) flush_puts(center_colors("{0}Version: {1}".format(BBLUE, BYELLOW) + pkg_resources.get_distribution("irs").version, COLS))

3
tests/album.py Normal file
View file

@ -0,0 +1,3 @@
from irs import Ripper
locations = Ripper().spotify_list("album", "Da Frame 2R / Matador")

3
tests/playlist.py Normal file
View file

@ -0,0 +1,3 @@
from irs import Ripper
Ripper().spotify_list("playlist", "Jamboree Jams", "prakkillian")

3
tests/song.py Normal file
View file

@ -0,0 +1,3 @@
from irs import Ripper
Ripper().song("Bohemian Rhapsody", "Queen")