added youtube as music src
This commit is contained in:
parent
851f79b424
commit
609041c50f
BIN
src/__pycache__/musify.cpython-310.pyc
Normal file
BIN
src/__pycache__/musify.cpython-310.pyc
Normal file
Binary file not shown.
BIN
src/__pycache__/youtube_music.cpython-310.pyc
Normal file
BIN
src/__pycache__/youtube_music.cpython-310.pyc
Normal file
Binary file not shown.
@ -3,9 +3,11 @@ import os.path
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from mutagen.easyid3 import EasyID3
|
from mutagen.easyid3 import EasyID3
|
||||||
import json
|
import json
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import musify
|
||||||
|
import youtube_music
|
||||||
|
|
||||||
"""
|
"""
|
||||||
https://en.wikipedia.org/wiki/ID3
|
https://en.wikipedia.org/wiki/ID3
|
||||||
https://mutagen.readthedocs.io/en/latest/user/id3.html
|
https://mutagen.readthedocs.io/en/latest/user/id3.html
|
||||||
@ -87,15 +89,25 @@ class Download:
|
|||||||
|
|
||||||
for idx, row in self.dataframe.iterrows():
|
for idx, row in self.dataframe.iterrows():
|
||||||
row['artist'] = json.loads(row['artist'].replace("'", '"'))
|
row['artist'] = json.loads(row['artist'].replace("'", '"'))
|
||||||
self.download(row['path'], row['file'], row['url'])
|
if self.path_stuff(row['path'], row['file']):
|
||||||
|
continue
|
||||||
|
|
||||||
|
src = row['src']
|
||||||
|
if src == 'musify':
|
||||||
|
self.download_from_musify(row['path'], row['file'], row['url'])
|
||||||
|
elif src == 'youtube':
|
||||||
|
youtube_music.download(row)
|
||||||
self.write_metadata(row, row['file'])
|
self.write_metadata(row, row['file'])
|
||||||
|
|
||||||
def download(self, path, file, url):
|
def path_stuff(self, path: str, file_: str):
|
||||||
if os.path.exists(file):
|
# returns true if it shouldn't be downloaded
|
||||||
logging.info(f"'{file}' does already exist, thus not downloading.")
|
if os.path.exists(file_):
|
||||||
return
|
logging.info(f"'{file_}' does already exist, thus not downloading.")
|
||||||
|
return True
|
||||||
os.makedirs(path, exist_ok=True)
|
os.makedirs(path, exist_ok=True)
|
||||||
|
return False
|
||||||
|
|
||||||
|
def download_from_musify(self, path, file, url):
|
||||||
logging.info(f"downloading: '{url}'")
|
logging.info(f"downloading: '{url}'")
|
||||||
r = self.session.get(url)
|
r = self.session.get(url)
|
||||||
if r.status_code != 200:
|
if r.status_code != 200:
|
||||||
@ -118,16 +130,6 @@ class Download:
|
|||||||
row[key] = str(row[key])
|
row[key] = str(row[key])
|
||||||
audiofile[key] = row[key]
|
audiofile[key] = row[key]
|
||||||
|
|
||||||
"""
|
|
||||||
audiofile["artist"] = row['artist']
|
|
||||||
audiofile["albumartist"] = row['album_artist']
|
|
||||||
audiofile["date"] = str(row['year'])
|
|
||||||
audiofile["genre"] = row['genre']
|
|
||||||
audiofile["title"] = row['title']
|
|
||||||
audiofile["album"] = row['album']
|
|
||||||
audiofile["tracknumber"] = str(row['track'])
|
|
||||||
"""
|
|
||||||
|
|
||||||
audiofile.save()
|
audiofile.save()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,69 +1,47 @@
|
|||||||
import json
|
import json
|
||||||
import os.path
|
import os.path
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import requests
|
import requests
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import musify
|
||||||
|
import youtube_music
|
||||||
|
|
||||||
|
|
||||||
class Download:
|
class Download:
|
||||||
def __init__(self, metadata_csv: str = ".cache1.csv", session: requests.Session = requests.Session(),
|
def __init__(self, metadata_csv: str = ".cache1.csv", session: requests.Session = requests.Session(),
|
||||||
file: str = ".cache2.csv", temp: str = "temp") -> None:
|
file: str = ".cache2.csv", temp: str = "temp") -> None:
|
||||||
self.temp = temp
|
self.temp = temp
|
||||||
|
|
||||||
self.session = session
|
|
||||||
self.session.headers = {
|
|
||||||
"Connection": "keep-alive",
|
|
||||||
"Referer": "https://musify.club/"
|
|
||||||
}
|
|
||||||
|
|
||||||
self.metadata = pd.read_csv(os.path.join(self.temp, metadata_csv), index_col=0)
|
self.metadata = pd.read_csv(os.path.join(self.temp, metadata_csv), index_col=0)
|
||||||
|
|
||||||
self.urls = []
|
self.urls = []
|
||||||
missing_urls, self.urls = self.check_musify()
|
|
||||||
|
|
||||||
self.dump_urls(file)
|
|
||||||
|
|
||||||
def check_musify_track(self, row):
|
|
||||||
artist = json.loads(row['artist'].replace("'", '"'))
|
|
||||||
track = row['title']
|
|
||||||
|
|
||||||
url = f"https://musify.club/search/suggestions?term={track}"
|
|
||||||
|
|
||||||
r = self.session.get(url=url)
|
|
||||||
if r.status_code == 200:
|
|
||||||
autocomplete = r.json()
|
|
||||||
for row in autocomplete:
|
|
||||||
if any(a in row['label'] for a in artist) and "/track" in row['url']:
|
|
||||||
return row
|
|
||||||
|
|
||||||
return None
|
|
||||||
|
|
||||||
def check_musify(self, urls: list = []):
|
|
||||||
missing_urls = []
|
|
||||||
|
|
||||||
def get_download_link(default_url):
|
|
||||||
# https://musify.club/track/dl/18567672/rauw-alejandro-te-felicito-feat-shakira.mp3
|
|
||||||
# /track/sundenklang-wenn-mein-herz-schreit-3883217'
|
|
||||||
|
|
||||||
file_ = default_url.split("/")[-1]
|
|
||||||
musify_id = file_.split("-")[-1]
|
|
||||||
musify_name = "-".join(file_.split("-")[:-1])
|
|
||||||
|
|
||||||
logging.info(f"https://musify.club/track/dl/{musify_id}/{musify_name}.mp3")
|
|
||||||
|
|
||||||
return f"https://musify.club/track/dl/{musify_id}/{musify_name}.mp3"
|
|
||||||
|
|
||||||
for idx, row in self.metadata.iterrows():
|
for idx, row in self.metadata.iterrows():
|
||||||
url = self.check_musify_track(row)
|
row['artist'] = json.loads(row['artist'].replace("'", '"'))
|
||||||
if url is None:
|
|
||||||
missing_urls.append(row['id'])
|
# check musify
|
||||||
|
musify_url = musify.get_musify_url(row)
|
||||||
|
if musify_url is not None:
|
||||||
|
self.add_url(musify_url, 'musify', dict(row))
|
||||||
continue
|
continue
|
||||||
data = dict(row)
|
|
||||||
data['url'] = get_download_link(url['url'])
|
|
||||||
urls.append(data)
|
|
||||||
|
|
||||||
return missing_urls, urls
|
# check youtube
|
||||||
|
youtube_url = youtube_music.get_youtube_url(row)
|
||||||
|
if youtube_url is not None:
|
||||||
|
self.add_url(youtube_url, 'youtube', dict(row))
|
||||||
|
continue
|
||||||
|
|
||||||
|
logging.warning(f"Didn't find any sources for {row['title']}")
|
||||||
|
|
||||||
|
self.dump_urls(file)
|
||||||
|
|
||||||
|
|
||||||
|
def add_url(self, url: str, src: str, row: dict):
|
||||||
|
row['url'] = url
|
||||||
|
row['src'] = src
|
||||||
|
|
||||||
|
self.urls.append(row)
|
||||||
|
|
||||||
|
|
||||||
def dump_urls(self, file: str = ".cache2.csv"):
|
def dump_urls(self, file: str = ".cache2.csv"):
|
||||||
df = pd.DataFrame(self.urls)
|
df = pd.DataFrame(self.urls)
|
||||||
|
35
src/musify.py
Normal file
35
src/musify.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import logging
|
||||||
|
import requests
|
||||||
|
|
||||||
|
session = requests.Session()
|
||||||
|
session.headers = {
|
||||||
|
"Connection": "keep-alive",
|
||||||
|
"Referer": "https://musify.club/"
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_musify_url(row):
|
||||||
|
title = row['title']
|
||||||
|
artists = row['artist']
|
||||||
|
|
||||||
|
url = f"https://musify.club/search/suggestions?term={title}"
|
||||||
|
|
||||||
|
r = session.get(url=url)
|
||||||
|
if r.status_code == 200:
|
||||||
|
autocomplete = r.json()
|
||||||
|
for row in autocomplete:
|
||||||
|
if any(a in row['label'] for a in artists) and "/track" in row['url']:
|
||||||
|
return get_download_link(row['url'])
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_download_link(default_url):
|
||||||
|
# https://musify.club/track/dl/18567672/rauw-alejandro-te-felicito-feat-shakira.mp3
|
||||||
|
# /track/sundenklang-wenn-mein-herz-schreit-3883217'
|
||||||
|
|
||||||
|
file_ = default_url.split("/")[-1]
|
||||||
|
musify_id = file_.split("-")[-1]
|
||||||
|
musify_name = "-".join(file_.split("-")[:-1])
|
||||||
|
|
||||||
|
logging.info(f"https://musify.club/track/dl/{musify_id}/{musify_name}.mp3")
|
||||||
|
|
||||||
|
return f"https://musify.club/track/dl/{musify_id}/{musify_name}.mp3"
|
56
src/youtube_music.py
Normal file
56
src/youtube_music.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import youtube_dl
|
||||||
|
import pandas as pd
|
||||||
|
import jellyfish
|
||||||
|
import logging
|
||||||
|
|
||||||
|
|
||||||
|
YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist':'True'}
|
||||||
|
YOUTUBE_URL_KEY = 'webpage_url'
|
||||||
|
|
||||||
|
def get_youtube_from_isrc(isrc: str):
|
||||||
|
# https://stackoverflow.com/questions/63388364/searching-youtube-videos-using-youtube-dl
|
||||||
|
with youtube_dl.YoutubeDL(YDL_OPTIONS) as ydl:
|
||||||
|
video = ydl.extract_info(f"ytsearch:{isrc}", download=False)['entries'][0]
|
||||||
|
print(type(video))
|
||||||
|
if YOUTUBE_URL_KEY not in video:
|
||||||
|
return None
|
||||||
|
return {
|
||||||
|
'url': video[YOUTUBE_URL_KEY],
|
||||||
|
'title': video['title']
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_youtube_url(row):
|
||||||
|
if pd.isna(row['isrc']):
|
||||||
|
return None
|
||||||
|
real_title = row['title'].lower()
|
||||||
|
|
||||||
|
result = get_youtube_from_isrc(row['isrc'])
|
||||||
|
video_title = result['title'].lower()
|
||||||
|
|
||||||
|
phonetic_distance = jellyfish.levenshtein_distance(real_title, video_title)
|
||||||
|
|
||||||
|
print(real_title, video_title, phonetic_distance)
|
||||||
|
if phonetic_distance > 1:
|
||||||
|
logging.warning(f"dont downloading {result['url']} cuz the phonetic distance ({phonetic_distance}) between {real_title} and {video_title} is to high.")
|
||||||
|
return None
|
||||||
|
return result['url']
|
||||||
|
|
||||||
|
def download(row):
|
||||||
|
url = row['url']
|
||||||
|
file_ = row['file']
|
||||||
|
options = {
|
||||||
|
'format': 'bestaudio/best',
|
||||||
|
'keepvideo': False,
|
||||||
|
'outtmpl': file_
|
||||||
|
}
|
||||||
|
|
||||||
|
with youtube_dl.YoutubeDL(options) as ydl:
|
||||||
|
ydl.download([url])
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# example isrc that exists on youtube music
|
||||||
|
ISRC = "DEUM71500715"
|
||||||
|
result = get_youtube_from_isrc(ISRC)
|
||||||
|
print(result)
|
||||||
|
result = get_youtube_from_isrc("aslhfklasdhfjklasdfjkhasdjlfhlasdjfkuuiueiw")
|
||||||
|
print(result)
|
@ -1,2 +1,14 @@
|
|||||||
,id,title,artist,album_artist,album,year,track,total_tracks
|
,id,album,title,artist,album_artist,tracknumber,albumsort,titlesort,isrc,date,year,musicbrainz_artistid,musicbrainz_albumid,musicbrainz_albumartistid,musicbrainz_albumstatus,total_tracks,language,musicbrainz_albumtype,compilation,releasecountry,barcode
|
||||||
0,39e9dee2-6b09-4aa5-bb5b-d04fa43578db,Black Smoke Curling From the Lips of War,['Cradle of Filth'],Cradle of Filth,Existence Is Futile,2021,6,12
|
0,adae3514-9f16-4164-849b-a64f9d49770a,Hurra die Welt geht unter,Wir,['K.I.Z'],K.I.Z,1,0,1,DEUM71500709,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
1,9c566dc6-d7d6-42eb-9e4f-471824ea3d8f,Hurra die Welt geht unter,Geld,['K.I.Z'],K.I.Z,2,0,2,DEUM71500710,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
2,23d60d4c-f2b3-401e-94e0-0a3e6353d4bf,Hurra die Welt geht unter,Glücklich und satt,['K.I.Z'],K.I.Z,3,0,3,DEUM71500711,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
3,7177e7dc-813a-4e1e-8d36-1d4e38eeb796,Hurra die Welt geht unter,Boom Boom Boom,['K.I.Z'],K.I.Z,4,0,4,DEUM71500712,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
4,00192a27-f412-4eb0-a111-5cc1faa9b2d7,Hurra die Welt geht unter,AMG Mercedes,['K.I.Z'],K.I.Z,5,0,5,DEUM71500713,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
5,960e130a-53e7-4b0e-b720-c23347d2d728,Hurra die Welt geht unter,Freier Fall,['K.I.Z'],K.I.Z,6,0,6,DEUM71500714,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
6,24fbd3e5-28f5-42d3-9aff-b5356ad08470,Hurra die Welt geht unter,Ariane,['K.I.Z'],K.I.Z,7,0,7,DEUM71500715,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
7,bd087625-4cc8-4b34-8837-31d0690b7aca,Hurra die Welt geht unter,Käfigbett,['K.I.Z'],K.I.Z,8,0,8,DEUM71500716,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
8,032a80d1-f211-4dd4-ac68-f125a09a4be8,Hurra die Welt geht unter,Verrückt nach dir,['K.I.Z'],K.I.Z,9,0,9,DEUM71500717,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
9,a9d08fbc-d275-4427-a1d9-adc1c79e083a,Hurra die Welt geht unter,Ehrenlos,['K.I.Z'],K.I.Z,10,0,10,DEUM71500718,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
10,80f2b1b0-9a95-4fd0-a886-546e9dd8ceff,Hurra die Welt geht unter,Superstars,"['K.I.Z', 'Sefo']",K.I.Z,11,0,11,DEUM71500719,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
11,4db0ff20-321f-49f3-b20b-a17fc6f3709b,Hurra die Welt geht unter,Was würde Manny Marc tun?,"['K.I.Z', 'Audio88', 'Yassin', 'Manny Marc']",K.I.Z,12,0,12,DEUM71500720,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326324
|
||||||
|
12,05404ed1-4f8b-43ba-833f-54e6c2918ff6,Hurra die Welt geht unter,Hurra die Welt geht unter,"['K.I.Z', 'Henning May']",K.I.Z,13,0,13,DEUM71500721,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,f538d982-71fd-4d19-8ef5-8664b4cbe0ac,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,0602547326362
|
||||||
|
|
@ -1 +1,13 @@
|
|||||||
""
|
,id,album,title,artist,album_artist,tracknumber,albumsort,titlesort,isrc,date,year,musicbrainz_artistid,musicbrainz_albumid,musicbrainz_albumartistid,musicbrainz_albumstatus,total_tracks,language,musicbrainz_albumtype,compilation,releasecountry,barcode,url,src
|
||||||
|
0,adae3514-9f16-4164-849b-a64f9d49770a,Hurra die Welt geht unter,Wir,['K.I.Z'],K.I.Z,1,0,1,DEUM71500709,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=WizfUqQZyns,youtube
|
||||||
|
1,9c566dc6-d7d6-42eb-9e4f-471824ea3d8f,Hurra die Welt geht unter,Geld,['K.I.Z'],K.I.Z,2,0,2,DEUM71500710,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=PZd1zNX0tjs,youtube
|
||||||
|
2,23d60d4c-f2b3-401e-94e0-0a3e6353d4bf,Hurra die Welt geht unter,Glücklich und satt,['K.I.Z'],K.I.Z,3,0,3,DEUM71500711,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=s-FU9TVq9Wk,youtube
|
||||||
|
3,7177e7dc-813a-4e1e-8d36-1d4e38eeb796,Hurra die Welt geht unter,Boom Boom Boom,['K.I.Z'],K.I.Z,4,0,4,DEUM71500712,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=NDbKzEJtqRs,youtube
|
||||||
|
4,00192a27-f412-4eb0-a111-5cc1faa9b2d7,Hurra die Welt geht unter,AMG Mercedes,['K.I.Z'],K.I.Z,5,0,5,DEUM71500713,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=GsBtsh6fdKQ,youtube
|
||||||
|
5,960e130a-53e7-4b0e-b720-c23347d2d728,Hurra die Welt geht unter,Freier Fall,['K.I.Z'],K.I.Z,6,0,6,DEUM71500714,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=rWX-O3uu_GU,youtube
|
||||||
|
6,24fbd3e5-28f5-42d3-9aff-b5356ad08470,Hurra die Welt geht unter,Ariane,['K.I.Z'],K.I.Z,7,0,7,DEUM71500715,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=x3rQam9YyQo,youtube
|
||||||
|
7,bd087625-4cc8-4b34-8837-31d0690b7aca,Hurra die Welt geht unter,Käfigbett,['K.I.Z'],K.I.Z,8,0,8,DEUM71500716,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=ERCLP3d5GMU,youtube
|
||||||
|
8,032a80d1-f211-4dd4-ac68-f125a09a4be8,Hurra die Welt geht unter,Verrückt nach dir,['K.I.Z'],K.I.Z,9,0,9,DEUM71500717,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=adtEjaZP1NI,youtube
|
||||||
|
9,a9d08fbc-d275-4427-a1d9-adc1c79e083a,Hurra die Welt geht unter,Ehrenlos,['K.I.Z'],K.I.Z,10,0,10,DEUM71500718,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=2ZJ9dJJRcic,youtube
|
||||||
|
10,80f2b1b0-9a95-4fd0-a886-546e9dd8ceff,Hurra die Welt geht unter,Superstars,"['K.I.Z', 'Sefo']",K.I.Z,11,0,11,DEUM71500719,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=_lyVnfIfeqk,youtube
|
||||||
|
11,4db0ff20-321f-49f3-b20b-a17fc6f3709b,Hurra die Welt geht unter,Was würde Manny Marc tun?,"['K.I.Z', 'Audio88', 'Yassin', 'Manny Marc']",K.I.Z,12,0,12,DEUM71500720,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=3YyjUFBLMNE,youtube
|
||||||
|
|
@ -1 +1,13 @@
|
|||||||
""
|
,id,album,title,artist,album_artist,tracknumber,albumsort,titlesort,isrc,date,year,musicbrainz_artistid,musicbrainz_albumid,musicbrainz_albumartistid,musicbrainz_albumstatus,total_tracks,language,musicbrainz_albumtype,compilation,releasecountry,barcode,url,src,path,file,genre
|
||||||
|
0,adae3514-9f16-4164-849b-a64f9d49770a,Hurra die Welt geht unter,Wir,['K.I.Z'],K.I.Z,1,0,1,DEUM71500709,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=WizfUqQZyns,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Wir.mp3,dsbm
|
||||||
|
1,9c566dc6-d7d6-42eb-9e4f-471824ea3d8f,Hurra die Welt geht unter,Geld,['K.I.Z'],K.I.Z,2,0,2,DEUM71500710,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=PZd1zNX0tjs,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Geld.mp3,dsbm
|
||||||
|
2,23d60d4c-f2b3-401e-94e0-0a3e6353d4bf,Hurra die Welt geht unter,Glücklich und satt,['K.I.Z'],K.I.Z,3,0,3,DEUM71500711,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=s-FU9TVq9Wk,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Glücklich und satt.mp3,dsbm
|
||||||
|
3,7177e7dc-813a-4e1e-8d36-1d4e38eeb796,Hurra die Welt geht unter,Boom Boom Boom,['K.I.Z'],K.I.Z,4,0,4,DEUM71500712,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=NDbKzEJtqRs,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Boom Boom Boom.mp3,dsbm
|
||||||
|
4,00192a27-f412-4eb0-a111-5cc1faa9b2d7,Hurra die Welt geht unter,AMG Mercedes,['K.I.Z'],K.I.Z,5,0,5,DEUM71500713,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=GsBtsh6fdKQ,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/AMG Mercedes.mp3,dsbm
|
||||||
|
5,960e130a-53e7-4b0e-b720-c23347d2d728,Hurra die Welt geht unter,Freier Fall,['K.I.Z'],K.I.Z,6,0,6,DEUM71500714,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=rWX-O3uu_GU,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Freier Fall.mp3,dsbm
|
||||||
|
6,24fbd3e5-28f5-42d3-9aff-b5356ad08470,Hurra die Welt geht unter,Ariane,['K.I.Z'],K.I.Z,7,0,7,DEUM71500715,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=x3rQam9YyQo,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Ariane.mp3,dsbm
|
||||||
|
7,bd087625-4cc8-4b34-8837-31d0690b7aca,Hurra die Welt geht unter,Käfigbett,['K.I.Z'],K.I.Z,8,0,8,DEUM71500716,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=ERCLP3d5GMU,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Käfigbett.mp3,dsbm
|
||||||
|
8,032a80d1-f211-4dd4-ac68-f125a09a4be8,Hurra die Welt geht unter,Verrückt nach dir,['K.I.Z'],K.I.Z,9,0,9,DEUM71500717,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=adtEjaZP1NI,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Verrückt nach dir.mp3,dsbm
|
||||||
|
9,a9d08fbc-d275-4427-a1d9-adc1c79e083a,Hurra die Welt geht unter,Ehrenlos,['K.I.Z'],K.I.Z,10,0,10,DEUM71500718,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=2ZJ9dJJRcic,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Ehrenlos.mp3,dsbm
|
||||||
|
10,80f2b1b0-9a95-4fd0-a886-546e9dd8ceff,Hurra die Welt geht unter,Superstars,"['K.I.Z', 'Sefo']",K.I.Z,11,0,11,DEUM71500719,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=_lyVnfIfeqk,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Superstars.mp3,dsbm
|
||||||
|
11,4db0ff20-321f-49f3-b20b-a17fc6f3709b,Hurra die Welt geht unter,Was würde Manny Marc tun?,"['K.I.Z', 'Audio88', 'Yassin', 'Manny Marc']",K.I.Z,12,0,12,DEUM71500720,2015-07-10,2015,13c9c494-09aa-4518-8572-9f41dbdff461,27d0fac9-c7d2-48ef-8739-6b839ed7c461,13c9c494-09aa-4518-8572-9f41dbdff461,Official,13,deu,Album,,DE,602547326324,https://www.youtube.com/watch?v=3YyjUFBLMNE,youtube,dsbm/K.I.Z/Hurra die Welt geht unter,dsbm/K.I.Z/Hurra die Welt geht unter/Was würde Manny Marc tun?.mp3,dsbm
|
||||||
|
|
1
temp/.~lock..cache2.csv#
Normal file
1
temp/.~lock..cache2.csv#
Normal file
@ -0,0 +1 @@
|
|||||||
|
,lars,lars-school,20.10.2022 14:47,file:///home/lars/.config/libreoffice/4;
|
Loading…
Reference in New Issue
Block a user