diff --git a/foobar_yt_add.py b/foobar_yt_add.py new file mode 100644 index 0000000..5563d1d --- /dev/null +++ b/foobar_yt_add.py @@ -0,0 +1,55 @@ +from __future__ import print_function, unicode_literals +import pandas as pd +import os +import subprocess + + +def open_link_lib_in_foobar(): + if os.name == 'nt': + foo_cmd = r'"C:\Program Files (x86)\foobar2000\foobar2000.exe"'# + else: + foo_cmd = r'wine ~/.wine/drive_c/Program\ Files\ \(x86\)/foobar2000/foobar2000.exe' + + data = pd.read_excel('youtube-links.xlsx') + data = data[pd.notnull(data.active)] + data['fb2k_title'] = data.T.apply(lambda x: '{0} - [{1}] {2}'.format(*x[['fb2k_artist', 'fb2k_date', 'fb2k_album']].tolist())) + data = data.apply(lambda x: x.map(lambda y: (str(x.name)+'='+str(y)).replace(' ','%20').replace('\'','%27'))) + data.reset_index(inplace=1) + data = data[pd.notnull(data.active)].drop('active', axis=1).T.apply(lambda x: '&'.join(x)).tolist() + from pprint import pprint + pprint(data) + + subprocess.call(foo_cmd + r' /command:"New Playlist" /add ' + ' '.join(data)) + +def write_existing_links(): + links = [ + '3dydfy://www.youtube.com/watch?v=wo8aSo5Tv1E&fb2k_artist=Air&fb2k_album=Moon%20Safari&fb2k_title=Full%20Album&fb2k_date=1998&fb2k_genre=Electronica', + '3dydfy://www.youtube.com/watch?v=pmuFYVtV7d8&fb2k_artist=Baroness&fb2k_album=Blue%20Record&fb2k_title=Full%20Album&fb2k_date=2009&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=B1hd5YCn9kE&fb2k_artist=Carcass&fb2k_album=Heartwork&fb2k_title=Full%20Album&fb2k_date=1993&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=AFCGyucLses&fb2k_artist=Dissection&fb2k_album=The%20Somberlain&fb2k_title=Full%20Album&fb2k_date=1993&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=6qoZXKHsHrs&fb2k_artist=Dragonforce&fb2k_album=Inhuman%20Rampage&fb2k_title=Full%20Album&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=cCBMPdqDAS0&fb2k_artist=Focus&fb2k_album=Moving%20Waves&fb2k_title=Full%20Album&fb2k_date=1971&fb2k_genre=Rock', + '3dydfy://www.youtube.com/watch?v=xI5ARFrBqAA&fb2k_artist=Focus&fb2k_album=Hamburger%20Concerto&fb2k_title=Full%20Album&fb2k_date=1974&fb2k_genre=Rock', + '3dydfy://www.youtube.com/watch?v=MWtV4DACpVg&fb2k_artist=Jethro%20Tull&fb2k_album=A%20Passion%20Play&fb2k_title=Full%20Album&fb2k_date=1973&fb2k_genre=Rock', + '3dydfy://www.youtube.com/watch?v=FbP-RrveKjU&fb2k_artist=Mastodon&fb2k_album=Once%20More%20%27Round%20the%20Sun&fb2k_title=Full%20Album&fb2k_date=2014&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=hdzJPCIAIdA&fb2k_artist=Origin&fb2k_album=Origin&fb2k_title=Full%20Album&fb2k_date=2000&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=o2LKnTiUv8Q&fb2k_artist=Origin&fb2k_album=Antithesis&fb2k_title=Full%20Album&fb2k_date=2008&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=dF5-yy-jopA&fb2k_artist=Pestilence&fb2k_album=Spheres&fb2k_title=Full%20Album&fb2k_date=1993&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=WxXIEE-kpq8&fb2k_artist=Psycroptic&fb2k_album=The%20Scepter%20of%20the%20Ancients&fb2k_title=Full%20Album&fb2k_date=2003&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=z9ZpI8Q0qkk&fb2k_artist=Riverside&fb2k_album=Rapid%20Eye%20Movement&fb2k_title=Full%20Album&fb2k_date=2007&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=3zrbhzjo6O0&fb2k_artist=Riverside&fb2k_album=Anno%20Domini%20High%20Definition&fb2k_title=Full%20Album&fb2k_date=2009&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=2lfBp_jBoIE&fb2k_artist=Rory%20Gallagher&fb2k_album=BBC%20Sesseions&fb2k_title=Full%20Album&fb2k_date=1999&fb2k_genre=Rock', + '3dydfy://www.youtube.com/watch?v=M7ZipHFZTaY&fb2k_artist=Spiral%20Architect&fb2k_album=A%20Sceptic%27s%20Universe&fb2k_title=Full%20Album&fb2k_date=2000&fb2k_genre=Metal', + '3dydfy://www.youtube.com/watch?v=eEsmxJvgcjU&fb2k_artist=The%20Sword&fb2k_album=Age%20of%20Winters&fb2k_title=Full%20Album&fb2k_date=2006&fb2k_genre=Metal', + ] + + links = pd.DataFrame([dict(entry.split('=') for entry in link.replace('3dydfy://','https://').replace('%20', ' ').split('&') ) for link in links ]) + links = links.rename(columns = {'https://www.youtube.com/watch?v': 'index'}) + links['index'] = links['index'].map(lambda x: 'https://www.youtube.com/watch?v='+x) + links.set_index('index', inplace=1) + del links.index.name + + links['fb2k_artist fb2k_album fb2k_title fb2k_date fb2k_genre'.split()].to_excel('links_out.xlsx') + +open_link_lib_in_foobar() +#~ write_existing_links() \ No newline at end of file diff --git a/youtube-links.xlsx b/youtube-links.xlsx new file mode 100644 index 0000000..00780b6 Binary files /dev/null and b/youtube-links.xlsx differ