55 lines
4.4 KiB
Python
55 lines
4.4 KiB
Python
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() |