2 Commits

Author SHA1 Message Date
ritiek
d18663c0e7 Join threads before exitting 2017-10-08 13:06:51 +05:30
ritiek
4db1dcc9b8 Implement basic threading 2017-10-08 12:30:43 +05:30

View File

@@ -13,6 +13,7 @@ import urllib.request
import sys
import os
import time
import threading
def generate_songname(tags):
@@ -374,19 +375,25 @@ def grab_single(raw_song, number=None):
if not check_exists(file_name, raw_song, islist=islist):
if download_song(file_name, content):
print('')
input_song = file_name + args.input_ext
output_song = file_name + args.output_ext
convert.song(input_song, output_song, args.folder,
avconv=args.avconv, verbose=args.verbose)
if not args.input_ext == args.output_ext:
os.remove(os.path.join(args.folder, input_song))
if not args.no_metadata:
metadata.embed(os.path.join(args.folder, output_song), meta_tags)
thread = threading.Thread(target=finalize, args=(file_name, meta_tags))
threads.append(thread)
thread.start()
else:
print('No audio streams available')
def finalize(file_name, meta_tags):
input_song = file_name + args.input_ext
output_song = file_name + args.output_ext
convert.song(input_song, output_song, args.folder,
avconv=args.avconv, verbose=args.verbose)
if not args.input_ext == args.output_ext:
os.remove(os.path.join(args.folder, input_song))
if not args.no_metadata:
metadata.embed(os.path.join(args.folder, output_song), meta_tags)
class TestArgs(object):
manual = False
input_ext = '.m4a'
@@ -403,6 +410,7 @@ if __name__ == '__main__':
args = misc.get_arguments()
misc.filter_path(args.folder)
threads = []
if args.song:
grab_single(raw_song=args.song)
@@ -412,6 +420,9 @@ if __name__ == '__main__':
grab_playlist(playlist=args.playlist)
elif args.username:
feed_playlist(username=args.username)
for thread in threads:
thread.join()
else:
misc.filter_path('Music')
args = TestArgs()