From 79a18e3c154bfe781dcd92235c7bbffef1b6690a Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 12:12:01 +0200 Subject: [PATCH 1/9] prioritized the album release as release src over the single release, and optimized the conversion to mp3 with doing it only if neccesarry --- src/__pycache__/download.cpython-310.pyc | Bin 2318 -> 2423 bytes src/__pycache__/metadata.cpython-310.pyc | Bin 13942 -> 14120 bytes src/download.py | 15 ++++-- src/main.py | 2 +- src/metadata.py | 59 +++++++++++++++-------- src/temp/.cache1.csv | 6 +-- src/temp/.cache2.csv | 13 +++-- src/temp/.cache3.csv | 13 +++-- 8 files changed, 64 insertions(+), 44 deletions(-) diff --git a/src/__pycache__/download.cpython-310.pyc b/src/__pycache__/download.cpython-310.pyc index 03564b8d678fc233d483f3cb1ab158d095d3335e..e4a0c00e044bd50b27f32547436786edc5a24592 100644 GIT binary patch delta 647 zcmYjMO>fgc5ZzgSCb69~B+w#3B_wh|?Ij#aRSBt0Xv=|*@+B4!O}pC?$BALHEh@O` zAsi_Z@|8ovFDOFdFL2@ySo{kPoQfDbtyGU@-g`UGqnS_TzhyUc-8{kX-m}M>$DiFx z2VYTe!XY3GGNg=Vs4+c5gPDjlu(~$0A@yoOuA681j6+ahh0NzLCqtLH8G6jik!8Yl zZhRoz7*JLeC2n@8yek}k0<+Am!zus~ba-w=SVa^?Md*HYc>dduFB+_Uf1u9+^x}`k z+<}d2E@Ae6V|iyP643$dYfngTN+$|@>T7$`K+;h9(1_>=d^4gPI6b8JcH)0ZdhnJg zOA+55=0*f(=*o&<%p2rIecw>|2qI$&d&=t2{$gZA`tw~P*HvNYj9Vk4nElIG zD0QF&6>xz5^YnPb;&3zmXM6xTF(Y<%N?|q%LdqW2 zYXylX@i0pdp2dTn{6qSWc&hkz7Q}@2{owloFTe8-xjxo9WpwuQy_fSJ^|j$=GL~7W zn3*ydY&|!E7%O=cnFuBsui_(RRI8y%Ow#sJleXM3otC?%o3Jfrg_ZA_l_NB|$ZXWd z`e~7tGc>a{J_TR}Yc7p7GkKwlyuk8uGxzP+7Y@7M_r)4O6+X$ep``UTXa+wC9BaVi z7)tbL!Qv?bbKK(yPPh|}m$He*jGS=7!&EfifrhIJo1b7jId;<5ZJO zlQ9f-{%fVwdg$WWf6qGffo<0f!)Q@2I&JxgzTkP8g|E>)mL=k$8CVa0R1Y@8d~$#J2Gtc)prA{4!U`22W*cfXBi93Q@fVpsYGwcc diff --git a/src/__pycache__/metadata.cpython-310.pyc b/src/__pycache__/metadata.cpython-310.pyc index 1ea4948af6d2168374f3d2b07a49f48f959ca96a..764c6de23d52e4dec0eb766b8c1a315edbcc980a 100644 GIT binary patch delta 4238 zcmZuzYj7OJ5#HI|+uK|1J$1U5-qKmRlXQANjDbjizyyq9Fc>3nj?>LboGqWExf2*= zFBeCy!UQ|m3~@pk7dGLUR8e3hA%s94Bo#=2{75Q44t^w+R1#82k*biS@`EVdbLW`X zZq2tnJv}`=J>5O~uf?bGo+Y>2kl>k4@6ML5KH+I1e?QTiRVkU5PaGe)wP^Whh=z}m z*`O6X(?BC<36X#b(dbz+8@9q!ib~Vc-q38MN?VbrM9Hee_N}C?sPzHvx=f^%G$p%W ze3z7rZ3Ky*5D)K?Zy^Ex1v#`wMMG+j1HRb50$SlJ09z_aHi4yLCDm4K=}xH-DoVDx zPKso|%o=UADBIFH*)IVN{3yt;sJ0?Yg#T6UBo6LVws<|vDz378IyaxrFXb&hs&ro- zz$HuomFT367(|zK!otAFLi^C;hTask!g~OgG)t&7E7KG|t%S?{RJW9QnYyTP*fHy% zb<{j8&1!Ujx-BR0J=6<)-9=o44pN`xqJGOs1JGcc)>{egW(vErUj2 zu1cdc20RmZjsNF0(PrSef#*lwZXwu0TY>4J!#I()TP~Q~K|6uxrE$6i4D!(~+6`Yn zP0%EK16DnpaSxvGc8T`VzQYpjTbE}W#3_wz98&uTiSlP0x7NjA(@a5#^7iqdE1k~e zbH#MJnGb3IAuYVu`Po1ehLakLqf|FSf}e6ulKzdioD(uh@_J)1(E9^ka!aW9OgOz8N4 zFl_CN!d+IKB;lj+g+YQrjc2kTRo62-o0#9OlB=wnSzz3nPMjC6sA=C3sy0G zeqioyFoo$bQDgzb1YwsV^Z_K@)zcLxH-+3!BYX9d`vFswoVl|Mi<1Bi$Y{9$Pg)p?GzE! z3OpyAxDFCd;6cpXOMquUzYe0wgyx1mM2?6M4`}gFle&c#uk96DE?pV0%jOxy_F^>H z?lVeF%!OhiLI&<3^F&kwz2v(`0@_FYhxL*lBw^VF4BvpD4MEonIw0tvpzCQ+EZQJ? z4GRQI^kHdTDTRw-vw++W>5^!+@Q32ryn<8mKKt zP`b;G0(RR$z(k9!!Y61qaAIqA%x<)sX!2q8ak7B-PS3_#AmGrh#h97k4}|;5BAa$W zf6bLEuxx5ES15|Kone@=?`*;&^0wkA=8B6J!_XBeT~YIy16CGO{QRQhP(*Q|QaYL$~Pc_K1pbN)DUSJ}sR%!p0rgza8N^glg&|C9K$q)b$9W z&fI_$ZbjJ3Zba%c07k~+H*8F;-`0=Yu^&J4>ftrpT5Rs0C`Jq zK+|Oplq?f|6m%$9DikW{6B&LULc~-})AaI#&F_+({En7(cM@iSQgI0!#ilCYzE zsH1^2^X(mNsTSm;tJqf%zJ?M`vCoPlm#5aj>V_V|!32M>W596=$X5Pp$6mb|D7fw7 z!v3jFlMM3fI%fk-DEmbO6aY8G`3s$K-aF*tf9%{FVROh;7>ZSt<)vjI#?A;W`FI1l zXyb7F5Ft-+t*f2v<%zC~wK!^ff|EqOV+)X%@k3qbLf=FMt}72_t!2DJ+0!U=MhHC& zv<)Yn7L#yeH}GiU5se~qg}?Ez@e6da zI_C-gr_?0)qPxG<@eN>oo?qKPObqhzloPn7On|6 z$L|68B|b4Qv+ZRRaLh1{gJM?*{7meS_O}VZ^#n!n)wYoJeak;sM@$ z*p zwP9ZvIvD}730h$gK$jxK=hyu{ubh&JZ&N06tr?qAIp_}R`09RL(KW*nkXeLJ4)fj^ zssrar?_lJ=gD0GHFw|WAdHoqu=u|e&-yiO4JPoo1AM_2V(^#*o%}3Z9e0t<{@*4M# z-Z_o)u}&?o7B8r&I2M=gvRK6d5uICRkD-h+SD?9tT(P=@@C-T%9Qr!{#b{sSQ@9*% z&jZWBmhjzFq3JR=#+u9TvfrQ@J)J&~$>q~&_9}GQYXEEUp^P;*J~2L@vc|^7Q=@Z3 z6REk;F)KAbnwcBF$eJG6=E*1KhGsQa?8dGsDE-fs;wd$?@`D@FWJk1nXir+uB^HOoV~WZI#xl{cuL7{m1r??erg~|1fp>;W+J-&e)!FU$EM` zJNNg_Jzw|UbIv{QJzx6!T(}$xnG*aWAKp3hn=L28S@OpdeKYcIa^mF3j*=avNt#+D zlLN;SzPuy&@VxQZ+7mz-o( za+L*AC3|Gn>MB*)l@`bz325MFK!2Y~Bq~ivu8>Sf%mu@$PqkZonRPBp3@(I!Z zt^bp>@g2VV;%Q)8I?JInkI>EE@NFXfOT<_wlODd_9E$gTN@o~#M)=pwoMr*Jk)JcS znHX#I?_A~|nVof4rWzDhRwP!Pm8kw4S&$b6{+=ug;HY?Tis^Y5DfKv2lpaiJ7 zN3HpmIk0aUgb{**FhI`$4}Kb~nXUoF)KUw$0U8E*1mr=Wqwq9c{YxT-`XlzkGOQ5PZFTD}?2bmbfL##s}2qHA=k?H}spfD_OwgKS=Watfj@AOoWPBjQ) zn~;4I0v35g0rmyLhIt@tkqN#w{4iO^FNasMz+HjGNyDOQW+lBMynNOv69X_$q%>G{1=)q@q=()r_&OkWah;|Mn*^Z{5QFMT34 zVtZdi(MJAWBu{qoe?@LwyA2uGG8pFab{NhIfS@lPFyuH16ID*g3AjXfk%BN*$g0fU zXiM`>G|~|6Lih^6jE`T8rt3k7l3%Jy50XbE$SHY_P!&Lw~T|Z#LO#!ZSlYlvI zX`s3uMeS8?1~Bg?0J~iku*q!(MOSxQ+*UVBd!A9xlUaOOSWEB6H!z5%Ee|1{*`h7Jx>)=uGV|uwr@MnJTa<99WrRlf1p9 zOaCe=ZR5AL^oHI7(m~reNf3Ud28qTBsJ-JTimJt;l2D&y#IEb&D)EQfk7asC%&q4b^au}So~Z+qOmUfIoJtbF#M^`k8<6piyO5F z6GB|>3Pmm&SU#5JmsWNRv>^vW$T-52o-7BChE^<5`+#SC3WeSLk$WY6+n zboIa&!=JkzCgeP?ov>gWb%Y{Xg|Ph_nW=*p(W6`=KqI$tj{9%@>1V3 zq?-r&+p?F?9#z;&sJHCoWn^^ov3`pbc&Y#QW4O#A+43_?kbhZ1~FJ!Z@rQH$9jFX$uUe1Hh2dBpNef z(MU&Lsweyj1OGGF;xbF|SBH6D22{n{?FxS3UcsbV8beRaK=>sB#*(e&2S)l^ zk3-mH}<$ zw~e-tet!Mv9UBj$n*hR_2uTDHjCYa3HNEt{gA}H%p)lKF%{Vn638`qqxN&cp&d=F5 n!PX^bi2rRg(Jm*IuqoB0x^ch=7)etx)u0lE10`hjL)H8bSI%u! diff --git a/src/download.py b/src/download.py index dc4e053..e84aed1 100644 --- a/src/download.py +++ b/src/download.py @@ -1,3 +1,4 @@ +import mutagen.id3 import requests import os.path import pandas as pd @@ -76,6 +77,7 @@ dict_keys( ]) """ + class Download: def __init__(self, session: requests.Session = requests.Session(), file: str = ".cache3.csv", temp: str = "temp", base_path: str = ""): @@ -113,10 +115,13 @@ class Download: os.makedirs(path, exist_ok=True) return False - def write_metadata(self, row, filePath): - AudioSegment.from_file(filePath).export(filePath, format="mp3") - - audiofile = EasyID3(filePath) + def write_metadata(self, row, file_path): + # only convert the file to the proper format if mutagen doesn't work with it due to time + try: + audiofile = EasyID3(file_path) + except mutagen.id3.ID3NoHeaderError: + AudioSegment.from_file(file_path).export(file_path, format="mp3") + audiofile = EasyID3(file_path) valid_keys = list(EasyID3.valid_keys.keys()) @@ -128,7 +133,7 @@ class Download: audiofile[key] = row[key] print("saving") - audiofile.save(filePath, v1=2) + audiofile.save(file_path, v1=2) if __name__ == "__main__": diff --git a/src/main.py b/src/main.py index 47a1665..87264dc 100644 --- a/src/main.py +++ b/src/main.py @@ -71,4 +71,4 @@ def cli(start_at: int = 0): if __name__ == "__main__": - cli(start_at=3) + cli(start_at=0) diff --git a/src/metadata.py b/src/metadata.py index 763aaa3..36e0111 100644 --- a/src/metadata.py +++ b/src/metadata.py @@ -10,16 +10,18 @@ musicbrainzngs.set_useragent("metadata receiver", "0.1", "https://github.com/HeI KNOWN_KIND_OF_OPTIONS = ["artist", "release", "track"] + def output(msg: str): print(msg) -def get_elem_from_obj(current_object, keys: list, after_process=lambda x: x): + +def get_elem_from_obj(current_object, keys: list, after_process=lambda x: x, return_if_none=None): current_object = current_object for key in keys: if key in current_object or (type(key) == int and key < len(current_object)): current_object = current_object[key] else: - return None + return return_if_none return after_process(current_object) @@ -80,6 +82,7 @@ class Search: label-rels, place-rels, event-rels, recording-rels, release-rels, release-group-rels, series-rels, url-rels, work-rels, instrument-rels """ + def get_additional_artist_info(mb_id_): r = musicbrainzngs.get_artist_by_id(mb_id_, includes=["releases"]) @@ -91,10 +94,13 @@ class Search: break return album_sort + result = musicbrainzngs.get_release_by_id(mb_id, includes=["artists", "recordings", 'release-groups']) + print(result['release']) if album_sort is None: - album_sort = get_additional_artist_info(get_elem_from_obj(result, ['release', 'artist-credit', 0, 'artist', 'id'])) + album_sort = get_additional_artist_info( + get_elem_from_obj(result, ['release', 'artist-credit', 0, 'artist', 'id'])) release_type = get_elem_from_obj(result, ['release', 'release-group', 'type']) tracklist_metadata = [] @@ -107,11 +113,15 @@ class Search: track_id = track["recording"]["id"] this_track = track["position"] - tracklist_metadata.extend(self.download_track(track_id, is_various_artist=is_various_artist, track=this_track, total_tracks=track_count, album_sort=album_sort, album_type=release_type)) - + tracklist_metadata.extend( + self.download_track(track_id, is_various_artist=is_various_artist, track=this_track, + total_tracks=track_count, album_sort=album_sort, album_type=release_type, + release_data=result['release'])) + return tracklist_metadata - def download_track(self, mb_id, is_various_artist: bool = None, track: int = None, total_tracks: int = None, album_sort: int = None, album_type: str = None): + def download_track(self, mb_id, is_various_artist: bool = None, track: int = None, total_tracks: int = None, + album_sort: int = None, album_type: str = None, release_data: dict = None): """ TODO bpm its kind of possible via the AcousticBrainz API. however, the data may not be of very good @@ -159,27 +169,29 @@ class Search: recording-rels, release-rels, release-group-rels, series-rels, url-rels, work-rels, instrument-rels """ - result = musicbrainzngs.get_recording_by_id(mb_id, includes=["artists", "releases", "recording-rels", "isrcs", "work-level-rels"]) + result = musicbrainzngs.get_recording_by_id(mb_id, includes=["artists", "releases", "recording-rels", "isrcs", + "work-level-rels"]) recording_data = result['recording'] isrc = get_elem_from_obj(recording_data, ['isrc-list', 0]) - release_data = recording_data['release-list'][0] + if release_data is None: + # choosing the last release, because it is the least likely one to be a single + release_data = recording_data['release-list'][-1] mb_release_id = release_data['id'] title = recording_data['title'] - - + artist = [] mb_artist_ids = [] for artist_ in recording_data['artist-credit']: - name_ = get_elem_from_obj(artist_, ['artist', 'name']) - if name_ is None: - continue - artist.append(name_) - mb_artist_ids.append(get_elem_from_obj(artist_, ['artist', 'id'])) - # artist = [get_elem_from_obj(artist_, ['artist', 'name']) for artist_ in recording_data['artist-credit']] - # mb_artist_ids = [get_elem_from_obj(artist_, ['artist', 'id']) for artist_ in recording_data['artist-credit']] - + name_ = get_elem_from_obj(artist_, ['artist', 'name']) + if name_ is None: + continue + artist.append(name_) + mb_artist_ids.append(get_elem_from_obj(artist_, ['artist', 'id'])) + # artist = [get_elem_from_obj(artist_, ['artist', 'name']) for artist_ in recording_data['artist-credit']] + # mb_artist_ids = [get_elem_from_obj(artist_, ['artist', 'id']) for artist_ in recording_data['artist-credit']] + def get_additional_artist_info(mb_id_): r = musicbrainzngs.get_artist_by_id(mb_id_, includes=["releases"]) @@ -193,7 +205,8 @@ class Search: return album_sort def get_additional_release_info(mb_id_): - r = musicbrainzngs.get_release_by_id(mb_id_, includes=["artists", "recordings", "recording-rels", 'release-groups']) + r = musicbrainzngs.get_release_by_id(mb_id_, + includes=["artists", "recordings", "recording-rels", 'release-groups']) is_various_artist_ = len(r['release']['artist-credit']) > 1 tracklist = r['release']['medium-list'][0]['track-list'] track_count_ = len(tracklist) @@ -412,7 +425,8 @@ def interactive_demo(): search = Search(query=input("initial query: ")) print(search.options) while True: - input_ = input("d to download, q to quit, .. for previous options, . for current options, int for this element: ").lower() + input_ = input( + "d to download, q to quit, .. for previous options, . for current options, int for this element: ").lower() input_.strip() if input_ == "q": break @@ -435,9 +449,12 @@ if __name__ == "__main__": # automated_demo() search = Search(query="psychonaut 4") # search.download_release("27f00fb8-983c-4d5c-950f-51418aac55dc") + search.download_release("1aeb676f-e556-4b17-b45e-64ab69ef0375") # for track_ in search.download_artist("c0c720b5-012f-4204-a472-981403f37b12"): # print(track_) - res = search.download_track("83a30323-aee1-401a-b767-b3c1bdd026c0") + # res = search.download_track("83a30323-aee1-401a-b767-b3c1bdd026c0") + # res = search.download_track("5e1ee2c5-502c-44d3-b1bc-22803441d8c6") + res = search.download_track("86b43bec-eea6-40ae-8624-c1e404204ba1") # res = search.download_track("5cc28584-10c6-40e2-b6d4-6891e7e7c575") for key in res[0]: diff --git a/src/temp/.cache1.csv b/src/temp/.cache1.csv index 05e38b7..45e8851 100644 --- a/src/temp/.cache1.csv +++ b/src/temp/.cache1.csv @@ -1,8 +1,8 @@ ,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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Abgesägte Schrotflinte,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-03-12,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,ca933487-97ff-4a44-ab6f-9e4fcd26ceda,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851774871 +0,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Genug,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-04-30,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,e9043dfa-189e-4caa-94c8-7e329d009389,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851604161 -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Du willst mit mir gehen,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-04-02,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,2659e838-ac3b-425b-935d-7cb93043bb3f,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851783668 +2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 +3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 diff --git a/src/temp/.cache2.csv b/src/temp/.cache2.csv index 46c02c7..64a167c 100644 --- a/src/temp/.cache2.csv +++ b/src/temp/.cache2.csv @@ -1,14 +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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Abgesägte Schrotflinte,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-03-12,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,ca933487-97ff-4a44-ab6f-9e4fcd26ceda,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851774871,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube +0,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube 1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=VJESTJWnRhU,youtube -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Genug,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-04-30,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,e9043dfa-189e-4caa-94c8-7e329d009389,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851604161,https://www.youtube.com/watch?v=C0-n46T22vo,youtube -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Du willst mit mir gehen,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-04-02,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,2659e838-ac3b-425b-935d-7cb93043bb3f,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851783668,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube +2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=C0-n46T22vo,youtube +3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube 4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=3Hq0_qc3zqo,youtube 5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=sFmYIN0JNec,youtube 6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=V65bn2jN4ZE,youtube 7,ccf6d043-7157-492b-bca0-78a24c0c8372,Das Leben danach,"Blau, grün, gelb","['Crystal F', 'Ruffiction']",Crystal F,8,0,8,DEVY82000321,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=Mo7hZ984faU,youtube 8,41ad47ab-0337-4fcc-b369-5a4b1e12dc3c,Das Leben danach,Was fühlst du noch,"['Crystal F', 'Zero/Zero', 'Nils Davis', 'Taha']",Crystal F,9,0,9,DEVY82000322,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=T15QiksB7do,youtube -9,ed6cc3e1-d493-4a51-973c-3adc1a6ea978,Das Leben danach,Katzen,"['Crystal F', 'Kito', 'Kirby']",Crystal F,10,0,10,DEVY82000323,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=eKCpu74GYxs,youtube -10,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube -11,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube -12,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube +9,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube +10,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube +11,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube diff --git a/src/temp/.cache3.csv b/src/temp/.cache3.csv index bc05ea4..6573965 100644 --- a/src/temp/.cache3.csv +++ b/src/temp/.cache3.csv @@ -1,14 +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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Abgesägte Schrotflinte,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-03-12,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,ca933487-97ff-4a44-ab6f-9e4fcd26ceda,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851774871,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube,horrorcore/Crystal F/Abgesägte Schrotflinte,horrorcore/Crystal F/Abgesägte Schrotflinte/Abgesägte Schrotflinte.mp3,horrorcore +0,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Abgesägte Schrotflinte.mp3,horrorcore 1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=VJESTJWnRhU,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Schockschwerenot.mp3,horrorcore -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-04-30,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,e9043dfa-189e-4caa-94c8-7e329d009389,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851604161,https://www.youtube.com/watch?v=C0-n46T22vo,youtube,horrorcore/Crystal F/Genug,horrorcore/Crystal F/Genug/Genug.mp3,horrorcore -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Du willst mit mir gehen,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-04-02,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,2659e838-ac3b-425b-935d-7cb93043bb3f,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4062851783668,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube,horrorcore/Crystal F/Du willst mit mir gehen,horrorcore/Crystal F/Du willst mit mir gehen/Du willst mit mir gehen.mp3,horrorcore +2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=C0-n46T22vo,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Genug.mp3,horrorcore +3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Du willst mit mir gehen.mp3,horrorcore 4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=3Hq0_qc3zqo,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Komm wir tun mir weh.mp3,horrorcore 5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=sFmYIN0JNec,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/S4distentreff 4.mp3,horrorcore 6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=V65bn2jN4ZE,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Stehen geblieben.mp3,horrorcore 7,ccf6d043-7157-492b-bca0-78a24c0c8372,Das Leben danach,"Blau, grün, gelb","['Crystal F', 'Ruffiction']",Crystal F,8,0,8,DEVY82000321,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=Mo7hZ984faU,youtube,horrorcore/Crystal F/Das Leben danach,"horrorcore/Crystal F/Das Leben danach/Blau, grün, gelb.mp3",horrorcore 8,41ad47ab-0337-4fcc-b369-5a4b1e12dc3c,Das Leben danach,Was fühlst du noch,"['Crystal F', 'Zero/Zero', 'Nils Davis', 'Taha']",Crystal F,9,0,9,DEVY82000322,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=T15QiksB7do,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Was fühlst du noch.mp3,horrorcore -9,ed6cc3e1-d493-4a51-973c-3adc1a6ea978,Das Leben danach,Katzen,"['Crystal F', 'Kito', 'Kirby']",Crystal F,10,0,10,DEVY82000323,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=eKCpu74GYxs,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Katzen.mp3,horrorcore -10,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Wach sein.mp3,horrorcore -11,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Rote Augen.mp3,horrorcore -12,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Schlechtes Essen.mp3,horrorcore +9,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Wach sein.mp3,horrorcore +10,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Rote Augen.mp3,horrorcore +11,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Schlechtes Essen.mp3,horrorcore From 77e53e5e1eef8f6ffdd045b2cfb844db95e498cb Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 12:17:22 +0200 Subject: [PATCH 2/9] addet multiple tries to youtube downloading --- src/__pycache__/youtube_music.cpython-310.pyc | Bin 1776 -> 2173 bytes src/main.py | 2 +- src/youtube_music.py | 29 +++++++++++++----- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/__pycache__/youtube_music.cpython-310.pyc b/src/__pycache__/youtube_music.cpython-310.pyc index 33f5d80c89aae3d64885abacfb32cf9c1c2e00e5..09c6d05c9123095646f87279d1c842317fba0957 100644 GIT binary patch delta 1112 zcmY*Y&2QX96rUM?tk-MrI@?8QT2z@*N>^=>kdOd@D%!9Tp^%Df)D&N=ZQf+%#Id8X zmuOdx_K+O;P_!2$QYk&cg&X`6+>ki<+EX}jERm}6o>N4b(fiHseT?V5H{-wDXWsSH zb!~>j-nhSR)ERq1%F9DX;SaNr!c(nWg{S_ekZlr8YKg!&Zb0#7!ix6gw)*_LzroHN;g_RBi(KAzZT z-OdT+w0!u>JN60Xd!iv6{`nhsX20?W9ZZ~++8E-}_$mUK{>aq)>~*op-PyO|B43#O zBz`t2NIA1mdlk)vb|1~ZYj5!O>~HOh={z|rI8Wbd4P_pV(@{QpD8rG8FQ73aXmXu9 z+!2)s3pJnX&vj(#P1>mEDw690>A%B7LMbnzWPczOSkeO96SxXoHEQJ)3^1W~qzyS( zg$DH_eNUhGIXmWs{+NH~?HPq}EDAB?kFif{4495{UpwP{_BP9I?xKh0mnam`$B3M5 zYMc6a^URYQ$0pbX|A9dxuOT{*4EkR23D0X=hFYltTryRxnOhjtdZbmB`mvo`6~o*M z4&FS2xo?Dt2lm-6>$aDbJL?!CfCyhGJh}}M2Vt{=yG+9mWFELqFMyh z=F%8V^C-?r_v065_LNGM@+sgo3aEd6`$4$6vefIB?X}xWtKpsA>RPY29Nzit-r`-n z!Dw5SMixuC(>2v)+D9iTmo^(4Q7prop#VsyqaKX)I z!a#f~8V+yrtIs`g9=$eiqjb19Rrai5E={@OxUqY#Dy=kk1_=x@brEgq5`jnC%Au delta 712 zcmY+BPis>_5WshK_q}Xh-b!n+1(kDe4ig@=9t-_tGDPw8FwkAECyqR*I9)*ApKO!AritqchYHOT{j>Q|EaLb@ZN@xnzSs zrSwO>1PjR_|KQq1#!Fs_WymG(!~+Wd5M?MPOY&ZM&L(G=x3vmQ-3xc4ey{&Thketw z!FWEI$kON%NKjzP6xjm8UvX%nNY_bYBn+t4MK%Poob2pL&_Ne7Q_%!e1CH6L9Eu*> zhk-bNw}qh`$bCM5CLGY^A2MW;##jK&YV0zLt1qAg%#O#THdyiQnq2b9c{8dAPGto}36?J1%vYG!cJ==7V;_+F6qDyisz`;G@4)Ld-%fssL z*}7DPVW-jRhGFX8+PHt`TJkz`WmK58kh(jKE;eGbXb)MoIB$`+I88`J+%smuy7n3W z73?-TnhMI>was<2YBNQP<2H{!NZsf}*l+7K`vvg|K{0iXdRE{G33;x3RaB=Ww-E(C H$X|Z|h7gFw diff --git a/src/main.py b/src/main.py index 87264dc..47a1665 100644 --- a/src/main.py +++ b/src/main.py @@ -71,4 +71,4 @@ def cli(start_at: int = 0): if __name__ == "__main__": - cli(start_at=0) + cli(start_at=3) diff --git a/src/youtube_music.py b/src/youtube_music.py index 6f8eaf7..c469378 100644 --- a/src/youtube_music.py +++ b/src/youtube_music.py @@ -2,10 +2,13 @@ import youtube_dl import pandas as pd import jellyfish import logging +import time - -YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist':'True'} +YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'} YOUTUBE_URL_KEY = 'webpage_url' +WAIT_BETWEEN_BLOCK = 10 +MAX_TRIES = 3 + def get_youtube_from_isrc(isrc: str): # https://stackoverflow.com/questions/63388364/searching-youtube-videos-using-youtube-dl @@ -19,6 +22,7 @@ def get_youtube_from_isrc(isrc: str): 'title': video['title'] } + def get_youtube_url(row): if pd.isna(row['isrc']): return None @@ -31,11 +35,13 @@ def get_youtube_url(row): 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.") + 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): + +def download(row, trie: int = 0): url = row['url'] file_ = row['file'] options = { @@ -49,11 +55,20 @@ def download(row): 'outtmpl': file_ } - with youtube_dl.YoutubeDL(options) as ydl: - ydl.download([url]) + try: + with youtube_dl.YoutubeDL(options) as ydl: + ydl.download([url]) + except youtube_dl.utils.DownloadError: + logging.warning(f"youtube blocked downloading. ({trie}-{MAX_TRIES})") + if trie >= MAX_TRIES: + logging.warning("too many tries, returning") + logging.warning(f"retrying in {WAIT_BETWEEN_BLOCK} seconds again") + time.sleep(WAIT_BETWEEN_BLOCK) + return download(row, trie=trie+1) + if __name__ == "__main__": - # example isrc that exists on youtube music + # example isrc that exists on YouTube music ISRC = "DEUM71500715" result = get_youtube_from_isrc(ISRC) print(result) From 230462381746d836e7e336100eee46b349088be9 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 13:11:32 +0200 Subject: [PATCH 3/9] improved the input of genres --- src/main.py | 34 ++++++++++++++++++++++++++++++++-- src/phonetic_compares.py | 2 ++ src/temp/.cache1.csv | 31 ++++++++++++++++++------------- src/temp/.cache2.csv | 24 ++++++++++++------------ src/temp/.cache3.csv | 24 ++++++++++++------------ 5 files changed, 76 insertions(+), 39 deletions(-) create mode 100644 src/phonetic_compares.py diff --git a/src/main.py b/src/main.py index 47a1665..f46df32 100644 --- a/src/main.py +++ b/src/main.py @@ -2,6 +2,7 @@ import metadata import download_links import url_to_path import download +import phonetic_compares import logging import requests @@ -12,12 +13,22 @@ STEP_ONE_CACHE = ".cache1.csv" STEP_TWO_CACHE = ".cache2.csv" STEP_THREE_CACHE = ".cache3.csv" +NOT_A_GENRE = ".", "..", "misc_scripts", "Music", "script", ".git", ".idea" MUSIC_DIR = os.path.expanduser('~/Music') TOR = False logging.basicConfig(level=logging.INFO) +def get_existing_genre(): + valid_directories = [] + for elem in os.listdir(MUSIC_DIR): + if elem not in NOT_A_GENRE: + valid_directories.append(elem) + + return valid_directories + + def search_for_metadata(query: str): search = metadata.Search(query=query, temp=TEMP) @@ -41,6 +52,24 @@ def search_for_metadata(query: str): continue +def get_genre(): + existing_genres = get_existing_genre() + print("printing available genres:") + for i, genre_option in enumerate(existing_genres): + print(f"{i}: {genre_option}") + + genre = input("Input the ID for an existing genre or text for a new one: ") + + if genre.isdigit(): + genre_id = int(genre) + if genre_id >= len(existing_genres): + logging.warning("An invalid genre id has been given") + return get_genre() + return existing_genres[genre_id] + + return genre + + def cli(start_at: int = 0): session = requests.Session() if TOR: @@ -50,7 +79,8 @@ def cli(start_at: int = 0): } if start_at <= 2: - genre = input("genre to download to: ") + genre = get_genre() + logging.info(f"{genre} has been set as genre.") if start_at <= 0: search = search_for_metadata(query=input("initial query: ")) @@ -71,4 +101,4 @@ def cli(start_at: int = 0): if __name__ == "__main__": - cli(start_at=3) + cli(start_at=0) diff --git a/src/phonetic_compares.py b/src/phonetic_compares.py new file mode 100644 index 0000000..a98f09c --- /dev/null +++ b/src/phonetic_compares.py @@ -0,0 +1,2 @@ +import jellyfish + diff --git a/src/temp/.cache1.csv b/src/temp/.cache1.csv index 45e8851..1a8c616 100644 --- a/src/temp/.cache1.csv +++ b/src/temp/.cache1.csv @@ -1,14 +1,19 @@ ,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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -7,ccf6d043-7157-492b-bca0-78a24c0c8372,Das Leben danach,"Blau, grün, gelb","['Crystal F', 'Ruffiction']",Crystal F,8,0,8,DEVY82000321,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -8,41ad47ab-0337-4fcc-b369-5a4b1e12dc3c,Das Leben danach,Was fühlst du noch,"['Crystal F', 'Zero/Zero', 'Nils Davis', 'Taha']",Crystal F,9,0,9,DEVY82000322,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -9,ed6cc3e1-d493-4a51-973c-3adc1a6ea978,Das Leben danach,Katzen,"['Crystal F', 'Kito', 'Kirby']",Crystal F,10,0,10,DEVY82000323,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -10,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -11,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 -12,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133 +0,755e2c25-2a88-4d87-a794-580dc4886ab9,Into Light's Graven Womb,Intro,['Nocturnal Triumph'],Nocturnal Triumph,1,0,1,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,, +1,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,0,2,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,, +2,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,0,3,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,, +3,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,0,4,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,, +4,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,0,5,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,, +5,755e2c25-2a88-4d87-a794-580dc4886ab9,Into Light's Graven Womb,Intro,['Nocturnal Triumph'],Nocturnal Triumph,1,1,1,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW, +6,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,1,2,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW, +7,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,1,3,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW, +8,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,1,4,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW, +9,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,1,5,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW, +10,de6095d0-40f8-4121-8ae9-7ca8332b0fc4,The Fangs of Miseries Past,The Fires of Tragedy,['Nocturnal Triumph'],Nocturnal Triumph,1,2,1,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,, +11,4337fac9-ee73-4183-bd63-7d6b7c279e1f,The Fangs of Miseries Past,The Fangs of Miseries Past,['Nocturnal Triumph'],Nocturnal Triumph,2,2,2,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,, +12,d9118f78-34bd-4c57-8df6-34ee2775a895,The Fangs of Miseries Past,A Moon Cloaked in Despair,['Nocturnal Triumph'],Nocturnal Triumph,3,2,3,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,, +13,2e6cfa77-ee95-4c76-a802-06aa8cf8364a,The Fangs of Miseries Past,Towards Rebirth and Demise,['Nocturnal Triumph'],Nocturnal Triumph,4,2,4,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,, +14,e5eda55f-6048-4f8c-8f0f-463af2b5b9f7,Nocturnal Triumph,The Hammer of Immateriality,['Nocturnal Triumph'],Nocturnal Triumph,1,3,1,,2022-01-12,2022,6bee5e73-5340-4514-90aa-22dad13c2206,0b533827-8d1d-4881-a9bb-84cd3054d321,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,XW, +15,4d19329f-3e48-440b-85f4-293bfc2780b7,Nocturnal Triumph,Beneath the Veins of God,['Nocturnal Triumph'],Nocturnal Triumph,2,3,2,,2022-01-12,2022,6bee5e73-5340-4514-90aa-22dad13c2206,0b533827-8d1d-4881-a9bb-84cd3054d321,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,XW, +16,7a601bea-f05c-486b-8ce1-0bedd6099b2c,Nocturnal Triumph,Where He Slumbers in Wait,['Nocturnal Triumph'],Nocturnal Triumph,3,3,3,,2022-01-12,2022,6bee5e73-5340-4514-90aa-22dad13c2206,0b533827-8d1d-4881-a9bb-84cd3054d321,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,XW, +17,79d7db2c-6ef7-4525-9eab-c47f3a074d1a,Nocturnal Triumph,Torn by the Weight of Reversal,['Nocturnal Triumph'],Nocturnal Triumph,4,3,4,,2022-01-12,2022,6bee5e73-5340-4514-90aa-22dad13c2206,0b533827-8d1d-4881-a9bb-84cd3054d321,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,XW, diff --git a/src/temp/.cache2.csv b/src/temp/.cache2.csv index 64a167c..6c1cc9c 100644 --- a/src/temp/.cache2.csv +++ b/src/temp/.cache2.csv @@ -1,13 +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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube -1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=VJESTJWnRhU,youtube -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=C0-n46T22vo,youtube -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube -4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=3Hq0_qc3zqo,youtube -5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=sFmYIN0JNec,youtube -6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=V65bn2jN4ZE,youtube -7,ccf6d043-7157-492b-bca0-78a24c0c8372,Das Leben danach,"Blau, grün, gelb","['Crystal F', 'Ruffiction']",Crystal F,8,0,8,DEVY82000321,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=Mo7hZ984faU,youtube -8,41ad47ab-0337-4fcc-b369-5a4b1e12dc3c,Das Leben danach,Was fühlst du noch,"['Crystal F', 'Zero/Zero', 'Nils Davis', 'Taha']",Crystal F,9,0,9,DEVY82000322,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=T15QiksB7do,youtube -9,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube -10,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube -11,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube +0,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,0,2,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342760/nocturnal-triumph-the-key-and-the-stone.mp3,musify +1,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,0,3,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342761/nocturnal-triumph-of-worship-and-principle.mp3,musify +2,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,0,4,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342762/nocturnal-triumph-into-lights-graven-womb.mp3,musify +3,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,0,5,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342763/nocturnal-triumph-desolate-chambers-echo.mp3,musify +4,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,1,2,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342760/nocturnal-triumph-the-key-and-the-stone.mp3,musify +5,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,1,3,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342761/nocturnal-triumph-of-worship-and-principle.mp3,musify +6,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,1,4,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342762/nocturnal-triumph-into-lights-graven-womb.mp3,musify +7,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,1,5,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342763/nocturnal-triumph-desolate-chambers-echo.mp3,musify +8,de6095d0-40f8-4121-8ae9-7ca8332b0fc4,The Fangs of Miseries Past,The Fires of Tragedy,['Nocturnal Triumph'],Nocturnal Triumph,1,2,1,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131947/nocturnal-triumph-the-fires-of-tragedy.mp3,musify +9,4337fac9-ee73-4183-bd63-7d6b7c279e1f,The Fangs of Miseries Past,The Fangs of Miseries Past,['Nocturnal Triumph'],Nocturnal Triumph,2,2,2,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131949/nocturnal-triumph-the-fangs-of-miseries-past.mp3,musify +10,d9118f78-34bd-4c57-8df6-34ee2775a895,The Fangs of Miseries Past,A Moon Cloaked in Despair,['Nocturnal Triumph'],Nocturnal Triumph,3,2,3,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131948/nocturnal-triumph-a-moon-cloaked-in-despair.mp3,musify +11,2e6cfa77-ee95-4c76-a802-06aa8cf8364a,The Fangs of Miseries Past,Towards Rebirth and Demise,['Nocturnal Triumph'],Nocturnal Triumph,4,2,4,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131950/nocturnal-triumph-towards-rebirth-and-demise.mp3,musify diff --git a/src/temp/.cache3.csv b/src/temp/.cache3.csv index 6573965..db86649 100644 --- a/src/temp/.cache3.csv +++ b/src/temp/.cache3.csv @@ -1,13 +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,5e1ee2c5-502c-44d3-b1bc-22803441d8c6,Das Leben danach,Abgesägte Schrotflinte,['Crystal F'],Crystal F,1,0,1,DEVY82000223,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=QLvZVY_iiUc,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Abgesägte Schrotflinte.mp3,horrorcore -1,71e4dd64-6479-45be-b9a0-37d4edc364fa,Das Leben danach,Schockschwerenot,['Crystal F'],Crystal F,2,0,2,DEVY82000317,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=VJESTJWnRhU,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Schockschwerenot.mp3,horrorcore -2,c6b0ce24-b75b-40ad-a12a-1fa8a412dc14,Das Leben danach,Genug,['Crystal F'],Crystal F,3,0,3,DEVY82000308,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=C0-n46T22vo,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Genug.mp3,horrorcore -3,d01df009-40cf-4bae-8ab4-19e70c552feb,Das Leben danach,Du willst mit mir gehen,['Crystal F'],Crystal F,4,0,4,DEVY82000296,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=D0rYWsUgDuQ,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Du willst mit mir gehen.mp3,horrorcore -4,5a3d0f0f-d847-4678-b14d-f0875339ec13,Das Leben danach,Komm wir tun mir weh,['Crystal F'],Crystal F,5,0,5,DEVY82000318,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=3Hq0_qc3zqo,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Komm wir tun mir weh.mp3,horrorcore -5,8426e0e1-e14b-48ec-8e53-950fdf3b8754,Das Leben danach,S4distentreff 4,"['Crystal F', 'MXP', 'Dollar John', 'G-Ko']",Crystal F,6,0,6,DEVY82000319,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=sFmYIN0JNec,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/S4distentreff 4.mp3,horrorcore -6,1543f558-4d54-4047-a6aa-affd02e89ab4,Das Leben danach,Stehen geblieben,['Crystal F'],Crystal F,7,0,7,DEVY82000320,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=V65bn2jN4ZE,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Stehen geblieben.mp3,horrorcore -7,ccf6d043-7157-492b-bca0-78a24c0c8372,Das Leben danach,"Blau, grün, gelb","['Crystal F', 'Ruffiction']",Crystal F,8,0,8,DEVY82000321,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=Mo7hZ984faU,youtube,horrorcore/Crystal F/Das Leben danach,"horrorcore/Crystal F/Das Leben danach/Blau, grün, gelb.mp3",horrorcore -8,41ad47ab-0337-4fcc-b369-5a4b1e12dc3c,Das Leben danach,Was fühlst du noch,"['Crystal F', 'Zero/Zero', 'Nils Davis', 'Taha']",Crystal F,9,0,9,DEVY82000322,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=T15QiksB7do,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Was fühlst du noch.mp3,horrorcore -9,b49a466f-e77b-465d-9c01-06298efb0c9d,Das Leben danach,Wach sein,['Crystal F'],Crystal F,11,0,11,DEVY82000324,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=dboTFFBUPW0,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Wach sein.mp3,horrorcore -10,86b43bec-eea6-40ae-8624-c1e404204ba1,Das Leben danach,Rote Augen,['Crystal F'],Crystal F,12,0,12,DEVY82000325,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=zvYHKYz6AGI,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Rote Augen.mp3,horrorcore -11,2a3dc1ae-6752-420f-b1d3-ca9e26a15c48,Das Leben danach,Schlechtes Essen,['Crystal F'],Crystal F,13,0,13,DEVY82000326,2021-06-11,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,1aeb676f-e556-4b17-b45e-64ab69ef0375,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,13,deu,Album,,XW,4260526714133,https://www.youtube.com/watch?v=XAfpge1FxLY,youtube,horrorcore/Crystal F/Das Leben danach,horrorcore/Crystal F/Das Leben danach/Schlechtes Essen.mp3,horrorcore +0,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,0,2,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342760/nocturnal-triumph-the-key-and-the-stone.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/The Key and the Stone.mp3,black metal +1,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,0,3,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342761/nocturnal-triumph-of-worship-and-principle.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Of Worship and Principle.mp3,black metal +2,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,0,4,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342762/nocturnal-triumph-into-lights-graven-womb.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Into Light's Graven Womb.mp3,black metal +3,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,0,5,,2016,2016,6bee5e73-5340-4514-90aa-22dad13c2206,f5910dba-3972-4250-956f-7cfa7cbd4cd1,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,,,https://musify.club/track/dl/10342763/nocturnal-triumph-desolate-chambers-echo.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Desolate Chambers Echo.mp3,black metal +4,f0d029c3-fcfa-4ae3-b05c-9900807c3bd6,Into Light's Graven Womb,The Key and the Stone,['Nocturnal Triumph'],Nocturnal Triumph,2,1,2,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342760/nocturnal-triumph-the-key-and-the-stone.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/The Key and the Stone.mp3,black metal +5,587999cf-d697-49e3-9c17-3d25c8d9acfe,Into Light's Graven Womb,Of Worship and Principle,['Nocturnal Triumph'],Nocturnal Triumph,3,1,3,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342761/nocturnal-triumph-of-worship-and-principle.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Of Worship and Principle.mp3,black metal +6,f819f1f5-d3d6-4776-b56b-57b75d04844b,Into Light's Graven Womb,Into Light's Graven Womb,['Nocturnal Triumph'],Nocturnal Triumph,4,1,4,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342762/nocturnal-triumph-into-lights-graven-womb.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Into Light's Graven Womb.mp3,black metal +7,66a00bfa-e1f0-467b-98f5-559e71538188,Into Light's Graven Womb,Desolate Chambers Echo,['Nocturnal Triumph'],Nocturnal Triumph,5,1,5,,2017-07-31,2017,6bee5e73-5340-4514-90aa-22dad13c2206,81fa66bc-425e-45c3-ad80-2a7624e380a4,6bee5e73-5340-4514-90aa-22dad13c2206,Official,5,eng,Album,,XW,,https://musify.club/track/dl/10342763/nocturnal-triumph-desolate-chambers-echo.mp3,musify,black metal/Nocturnal Triumph/Into Light's Graven Womb,black metal/Nocturnal Triumph/Into Light's Graven Womb/Desolate Chambers Echo.mp3,black metal +8,de6095d0-40f8-4121-8ae9-7ca8332b0fc4,The Fangs of Miseries Past,The Fires of Tragedy,['Nocturnal Triumph'],Nocturnal Triumph,1,2,1,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131947/nocturnal-triumph-the-fires-of-tragedy.mp3,musify,black metal/Nocturnal Triumph/The Fangs of Miseries Past,black metal/Nocturnal Triumph/The Fangs of Miseries Past/The Fires of Tragedy.mp3,black metal +9,4337fac9-ee73-4183-bd63-7d6b7c279e1f,The Fangs of Miseries Past,The Fangs of Miseries Past,['Nocturnal Triumph'],Nocturnal Triumph,2,2,2,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131949/nocturnal-triumph-the-fangs-of-miseries-past.mp3,musify,black metal/Nocturnal Triumph/The Fangs of Miseries Past,black metal/Nocturnal Triumph/The Fangs of Miseries Past/The Fangs of Miseries Past.mp3,black metal +10,d9118f78-34bd-4c57-8df6-34ee2775a895,The Fangs of Miseries Past,A Moon Cloaked in Despair,['Nocturnal Triumph'],Nocturnal Triumph,3,2,3,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131948/nocturnal-triumph-a-moon-cloaked-in-despair.mp3,musify,black metal/Nocturnal Triumph/The Fangs of Miseries Past,black metal/Nocturnal Triumph/The Fangs of Miseries Past/A Moon Cloaked in Despair.mp3,black metal +11,2e6cfa77-ee95-4c76-a802-06aa8cf8364a,The Fangs of Miseries Past,Towards Rebirth and Demise,['Nocturnal Triumph'],Nocturnal Triumph,4,2,4,,2018,2018,6bee5e73-5340-4514-90aa-22dad13c2206,874bba46-d47f-4ef3-9960-9468c6dfa536,6bee5e73-5340-4514-90aa-22dad13c2206,Official,4,eng,Album,,,,https://musify.club/track/dl/11131950/nocturnal-triumph-towards-rebirth-and-demise.mp3,musify,black metal/Nocturnal Triumph/The Fangs of Miseries Past,black metal/Nocturnal Triumph/The Fangs of Miseries Past/Towards Rebirth and Demise.mp3,black metal From 2792a7c0410771fff1d06f6a8e88d047642e2397 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 13:13:48 +0200 Subject: [PATCH 4/9] fixed runtime error if download from musify --- src/__pycache__/musify.cpython-310.pyc | Bin 1837 -> 1831 bytes src/musify.py | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/__pycache__/musify.cpython-310.pyc b/src/__pycache__/musify.cpython-310.pyc index 955cadfb60a46ce2512b84fd5e5f37b9e347bb03..efb61555d93deffeababf8baa5db8312f5c47018 100644 GIT binary patch delta 264 zcmZ3>x15hRpO=@50SJtX!;;lD@>(-7ica=qI>^YqnVZ>&kx_cG9g9Rg6G#OVumEWe zAa(}g;$=Xhgkb?=3S$l9Y=#u3xy%b085v5L7BJT^E@Z4_s$t4vNny@rE;0nOShAUl zlz{44!Kzv3GJ#a5umv-eu%)nr#W+CffF^MQY4+I+bJ?01n;3;kIBFPDxSE;z`D&SK zm=^#gCqHMo&B!wOB&$86#$--5c}By@nrto{`at(+G8P$5E@jgdGzGbk4M=b>axii+ c78y<6%x1=B2owM^-?N#svvCM;@bd5i00~Vs8vp-?Nw?Yt(39KCSH-x0mFMGCBiBe{An zYU1A%WlM2FaraD;vkD#spE1u%F$Y-AD^c({CZZ5G(ubR_ZAp(amiEA5Hm_o5(^|)C}M9%cxIzdzoK{4|Tk;U7xc;(nZwx z5+wSF;jsSec$S7OeQNg!*adyYdT)79k7yDLOC#AZEc8J;r9w8Wr4=4@FL2X0%64oV F$A4S7I;8*r diff --git a/src/musify.py b/src/musify.py index e2337c5..8a96600 100644 --- a/src/musify.py +++ b/src/musify.py @@ -7,6 +7,7 @@ session.headers = { "Referer": "https://musify.club/" } + def get_musify_url(row): title = row['title'] artists = row['artist'] @@ -22,6 +23,7 @@ def get_musify_url(row): 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' @@ -34,7 +36,8 @@ def get_download_link(default_url): return f"https://musify.club/track/dl/{musify_id}/{musify_name}.mp3" -def download_from_musify(path, file, url): + +def download_from_musify(file, url): logging.info(f"downloading: '{url}'") r = session.get(url) if r.status_code != 200: @@ -46,6 +49,7 @@ def download_from_musify(path, file, url): mp3_file.write(r.content) logging.info("finished") + def download(row): url = row['url'] file_ = row['file'] From 966f0c9602483e9f6e93a49c05903b48cfd5d975 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 13:18:14 +0200 Subject: [PATCH 5/9] refactored a bit --- src/download.py | 128 ++++++++++++++---------------------------------- 1 file changed, 36 insertions(+), 92 deletions(-) diff --git a/src/download.py b/src/download.py index e84aed1..08a66ee 100644 --- a/src/download.py +++ b/src/download.py @@ -14,70 +14,42 @@ import youtube_music https://en.wikipedia.org/wiki/ID3 https://mutagen.readthedocs.io/en/latest/user/id3.html ->>> from mutagen.easyid3 import EasyID3 ->>> print(EasyID3.valid_keys.keys()) -dict_keys( - [ - 'album', - 'bpm', - 'compilation', - 'composer', - 'copyright', - 'encodedby', - 'lyricist', - 'length', - 'media', - 'mood', - 'grouping', - 'title', - 'version', - 'artist', - 'albumartist', - 'conductor', - 'arranger', - 'discnumber', - 'organization', - 'tracknumber', - 'author', - 'albumartistsort', - 'albumsort', - 'composersort', - 'artistsort', - 'titlesort', - 'isrc', - 'discsubtitle', - 'language', - 'genre', - 'date', - 'originaldate', - 'performer:*', - 'musicbrainz_trackid', - 'website', - 'replaygain_*_gain', - 'replaygain_*_peak', - 'musicbrainz_artistid', - 'musicbrainz_albumid', - 'musicbrainz_albumartistid', - 'musicbrainz_trmid', - 'musicip_puid', - 'musicip_fingerprint', - 'musicbrainz_albumstatus', - 'musicbrainz_albumtype', <---------- - 'releasecountry', - 'musicbrainz_discid', - 'asin', - 'performer', - 'barcode', - 'catalognumber', - 'musicbrainz_releasetrackid', - 'musicbrainz_releasegroupid', - 'musicbrainz_workid', - 'acoustid_fingerprint', - 'acoustid_id' - ]) +# to get all valid keys +from mutagen.easyid3 import EasyID3 +print(EasyID3.valid_keys.keys()) """ +def write_metadata(row, file_path): + # only convert the file to the proper format if mutagen doesn't work with it due to time + try: + audiofile = EasyID3(file_path) + except mutagen.id3.ID3NoHeaderError: + AudioSegment.from_file(file_path).export(file_path, format="mp3") + audiofile = EasyID3(file_path) + + valid_keys = list(EasyID3.valid_keys.keys()) + + for key in list(row.keys()): + if type(row[key]) == list or key in valid_keys and not pd.isna(row[key]): + # print(key) + if type(row[key]) == int or type(row[key]) == float: + row[key] = str(row[key]) + audiofile[key] = row[key] + + logging.info("saving") + audiofile.save(file_path, v1=2) + + +def path_stuff(path: str, file_: str): + # returns true if it shouldn't be downloaded + if os.path.exists(file_): + logging.info(f"'{file_}' does already exist, thus not downloading.") + return True + os.makedirs(path, exist_ok=True) + return False + + class Download: def __init__(self, session: requests.Session = requests.Session(), file: str = ".cache3.csv", temp: str = "temp", base_path: str = ""): @@ -96,8 +68,8 @@ class Download: row['file'] = os.path.join(base_path, row['file']) row['path'] = os.path.join(base_path, row['path']) - if self.path_stuff(row['path'], row['file']): - self.write_metadata(row, row['file']) + if path_stuff(row['path'], row['file']): + write_metadata(row, row['file']) continue src = row['src'] @@ -105,35 +77,7 @@ class Download: musify.download(row) elif src == 'youtube': youtube_music.download(row) - self.write_metadata(row, row['file']) - - def path_stuff(self, path: str, file_: str): - # returns true if it shouldn't be downloaded - if os.path.exists(file_): - logging.info(f"'{file_}' does already exist, thus not downloading.") - return True - os.makedirs(path, exist_ok=True) - return False - - def write_metadata(self, row, file_path): - # only convert the file to the proper format if mutagen doesn't work with it due to time - try: - audiofile = EasyID3(file_path) - except mutagen.id3.ID3NoHeaderError: - AudioSegment.from_file(file_path).export(file_path, format="mp3") - audiofile = EasyID3(file_path) - - valid_keys = list(EasyID3.valid_keys.keys()) - - for key in list(row.keys()): - if type(row[key]) == list or key in valid_keys and not pd.isna(row[key]): - # print(key) - if type(row[key]) == int or type(row[key]) == float: - row[key] = str(row[key]) - audiofile[key] = row[key] - - print("saving") - audiofile.save(file_path, v1=2) + write_metadata(row, row['file']) if __name__ == "__main__": From 137b18517f63b0bba3d39b4ced48ed4cfacb7984 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 13:23:07 +0200 Subject: [PATCH 6/9] moved linguistics stuff to another file --- requirements.txt | 3 ++- src/__pycache__/phonetic_compares.cpython-310.pyc | Bin 0 -> 196 bytes src/phonetic_compares.py | 6 ++++++ src/youtube_music.py | 10 +++++----- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 src/__pycache__/phonetic_compares.cpython-310.pyc diff --git a/requirements.txt b/requirements.txt index 823a91c..d525e14 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,5 @@ pandas~=1.5.0 mutagen~=1.46.0 musicbrainzngs~=0.7.1 jellyfish~=0.9.0 -pydub~=0.25.1 \ No newline at end of file +pydub~=0.25.1 +youtube_dl \ No newline at end of file diff --git a/src/__pycache__/phonetic_compares.cpython-310.pyc b/src/__pycache__/phonetic_compares.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8286e70db6bd2c436db3e93ccd84330eb0af37c2 GIT binary patch literal 196 zcmYk0F%H5o3`J8|0JRGzVC?|8079GqA&@$-ppqDxlGGt?g?b{ymAW!<1twf3zT{`U zzu1^06Tx}hGBxG>>g7KJmNgH>3@vnI#eumO>EO+c*rZW6F2UONY^ZpOFy!)w&rUkf zCYLr3Br~*)1Gx=Y!nG!OGMAa}MX|VsjGAk_R~B;(K~hlC7g#}U)KQ`Hc>r4Ywi_)S O>c+w<;xp7g7mF`qs55;4 literal 0 HcmV?d00001 diff --git a/src/phonetic_compares.py b/src/phonetic_compares.py index a98f09c..556c563 100644 --- a/src/phonetic_compares.py +++ b/src/phonetic_compares.py @@ -1,2 +1,8 @@ import jellyfish +TITLE_THRESHOLD_LEVENSHTEIN = 1 + + +def match_titles(title_1: str, title_2: str) -> (bool, int): + distance = jellyfish.levenshtein_distance(title_1, title_2) + return distance > 1, distance diff --git a/src/youtube_music.py b/src/youtube_music.py index c469378..3f9ac99 100644 --- a/src/youtube_music.py +++ b/src/youtube_music.py @@ -1,9 +1,10 @@ import youtube_dl import pandas as pd -import jellyfish import logging import time +import phonetic_compares + YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'} YOUTUBE_URL_KEY = 'webpage_url' WAIT_BETWEEN_BLOCK = 10 @@ -31,12 +32,11 @@ def get_youtube_url(row): result = get_youtube_from_isrc(row['isrc']) video_title = result['title'].lower() - phonetic_distance = jellyfish.levenshtein_distance(real_title, video_title) + match, distance = phonetic_compares.match_titles(video_title, real_title) - print(real_title, video_title, phonetic_distance) - if phonetic_distance > 1: + if match: logging.warning( - f"dont downloading {result['url']} cuz the phonetic distance ({phonetic_distance}) between {real_title} and {video_title} is to high.") + f"dont downloading {result['url']} cuz the phonetic distance ({distance}) between {real_title} and {video_title} is to high.") return None return result['url'] From e18dc980fe8a7c354d10b4d623f40cdcedf66dcb Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 13:55:34 +0200 Subject: [PATCH 7/9] think I changed smth --- src/__pycache__/download.cpython-310.pyc | Bin 2423 -> 2381 bytes .../phonetic_compares.cpython-310.pyc | Bin 196 -> 471 bytes src/__pycache__/youtube_music.cpython-310.pyc | Bin 2173 -> 2147 bytes src/main.py | 3 ++- src/metadata.py | 3 --- src/youtube_music.py | 1 - temp/.cache1.csv | 18 +++++------------- temp/.cache2.csv | 16 ++++------------ temp/.cache3.csv | 16 ++++------------ 9 files changed, 15 insertions(+), 42 deletions(-) diff --git a/src/__pycache__/download.cpython-310.pyc b/src/__pycache__/download.cpython-310.pyc index e4a0c00e044bd50b27f32547436786edc5a24592..9a9ff44c1174355752df3a8133bac7a6df19583f 100644 GIT binary patch delta 1364 zcmZuvOK%)S5bo~jotYi4$Lq;scO!5%j*_rW?2D7|kOcvZ!b?WNQV@;jE?{0`Boj-W)?J;y8e<~a%Fe4{^TxZCUl`-5unl#n^sBi`VSH?OK z6bg`AfXF;)xpVn5_cA?`|Ki@~1zQ*Sj8}ih>!vF!NpGd#NpCqVxQ;hvt5i5D-73n< zNmsVlWAm^m#|R?YY6P$z#HESSVUD5W4X;x zvdNZCQ-FJ)GlW@<8mG?%&FD8ouy1Wo!kNd2QbvR$xb3TC`#Pl8cCTM+ zid5=m+*L9bJI%aSy0KTVRI5u^gDbZaZM3R^q3U?zuf?lUBuclK4N>Fh8v93G#Gn96 zZ)>x$ynF*}jdNXr#yAZ@)N5caf&A+$gLMZ)-_Aq&I)@5_e2LDpLy|wEpU`_bXP>@m z!ps#xgMco>Ou)DUv+l8#KVoMmI!I>bBALB%<_Q=FrA>5lb~^lf){fL=c=C{rt4UaG zL-{4AF^N?d-a~*yDy=5aX9FTU_Ytc0lHOET?4?{fH!HR&OPsou|KMDi!4yZA?DZ+U z=_F!XT|fuY_FvTec01`Mrro}s-{)f!5eq4!KJ#gX`ZS)k`HoEd{3b*uCP(JYi5QGJRfgd1Z%nzb-Vc8!G;iOLa GpML`Z*edn_ delta 1384 zcmZt_OK%%RcxLuBUOVeY5)zjxrBRb&RYZtX0;=*5q$BNXisA=%ux^Dih87cL{toH%hosuY!PY@DWuS$*Gr@0suQOXcrMkc^G_2+p1R zU#y%IkAw60hvO>`KDvpR&74EToC8uX@)C2`iMY)RtujD`c}Ex{PI}{gRG;8QKEdtQ zWbXw=`a(fJtP%R0^{VTyV|>N3BI0OzWxPsCRsE2i#<$LP@|pz~F<=cOJi zz~kGh)GMcMA08g(KsE-luBwb=&-rH)ZsYSO`0^7xD=55E+Z&-;)0Pw~+U;~@)ZEeD zPSRD~uX$};c*ewA<00ch3J18M7ujH%3J^C|1w*Tg} z50-FT0MpDtV!s2i>nfCz1H5N_iQ=k_6mF50wQ~U@^C`RMn50{7N*HFuO!dhA9*Xf6 zQXV8ud$~S>7`F0KJfxSeUSX)}WBKrznSzOw zchB$vOlVydM`6tWIvR4RW#~t*s1madpbM$hDyJkn!LQ*;_A0sWh)GB=`<6_9>THN8 zR@#=~Ca<}}>Rtk+&JB7$80=iwWl>^y@upE(>wM?Gg}(rb&FqFX`x1q!?@pc8`}z63 zRm){Rd2if&2h7D~gG|SS@jerA(9}UcZBTp$Ak92d z%nH<|biUJ7;VO?8BDN?NK_)%`q`gEgm{bO%rrnJ&W}y_5**A3l+>6HQia`~FE*fO6 z6*sb9>2&xZkQ&2on!nGtjc-?S@qf?N^m->@-8O$4gS9lHN)d%UGuvkN4L;aBLV_iF LEdXvB+b913yUjZL diff --git a/src/__pycache__/phonetic_compares.cpython-310.pyc b/src/__pycache__/phonetic_compares.cpython-310.pyc index 8286e70db6bd2c436db3e93ccd84330eb0af37c2..e974465492f894ac99575b6727860c0e11ca5b61 100644 GIT binary patch literal 471 zcmYjOO-lnY5KXe{w$*y`APC~Mf-ZU%5pRy(cj}O zS5N*0Pfm)01MkheVLtMqH#gS_+Dkp=ALu`W_-_pqX9&BGB#5AjOo(6;Dk5MaMyx>u z@sv#yk%-1~JXsTTNIK0gtS9|1itHOsItBUBUvTUb1Fkj|XQArXBJ?rh9AUSS9C@Wn zvZQb9i7lC+_wkZV84hQC6B;|rx9&ix#Z=mv-%{`Zm7O_|RW77;Ma7{LnK0IbxxV?A zeJ7@ciSI#Lf{;b33S-l;R&@#Kwb6HQ?`(P_Z};Xwa1>>2B|i}Qu~NDaU{Y&%I-ltZ zoa8yz<-9Op59bTtE(^zJ`Rc|t!7VoIZqqh38yIvF6Ow*sbUEr}`KUX{hTW^)Mc&KC uS%26aWtV*)S!aBFqqXvptlX+`b>e>%zRfpJN-b&yr{S4b+nOY1yU`DBk@rGGGF79Dul(2S}taq%h_%L;=ZQ22G}yKoJH% vO~zZCS*bZWm1&v987mozn1O;t%oBe_h;Z2C=BJeAq}nk8g^EE2@h|`Ykp~r~ diff --git a/src/__pycache__/youtube_music.cpython-310.pyc b/src/__pycache__/youtube_music.cpython-310.pyc index 09c6d05c9123095646f87279d1c842317fba0957..36658fa505ba5e682183c72107d84f0f909c522a 100644 GIT binary patch delta 354 zcmXAj!AiqG5QcXqo6WYSAq7EODJlxKpqHMif)}sqrQk)Ogru~AHYwXkFR3?ufjx?7 z!3R)0`v%^Hy?W9&upqcwXPA$fe}0Df^*?6PGsd6(F(aEk)7L`EC)>|w>0^EVFo}V(kB0|Hfa>j zL_uE^uDrD_PPoERq-Z=&0%Z@Y5QcYl_ddNl&Jd8q4^#pg&?b#ZBZ#G76R;5sA$LhmkBi)$im+B?Dv IT?hEjAEQrCO8@`> diff --git a/src/main.py b/src/main.py index f46df32..63de643 100644 --- a/src/main.py +++ b/src/main.py @@ -2,12 +2,13 @@ import metadata import download_links import url_to_path import download -import phonetic_compares import logging import requests import os +# "/home/lars/Projekts/big projects/music-downloader/venv/bin/python3.10" "/home/lars/Projekts/big projects/music-downloader/src/main.py" + TEMP = "temp" STEP_ONE_CACHE = ".cache1.csv" STEP_TWO_CACHE = ".cache2.csv" diff --git a/src/metadata.py b/src/metadata.py index 36e0111..b6ce4f4 100644 --- a/src/metadata.py +++ b/src/metadata.py @@ -96,7 +96,6 @@ class Search: return album_sort result = musicbrainzngs.get_release_by_id(mb_id, includes=["artists", "recordings", 'release-groups']) - print(result['release']) if album_sort is None: album_sort = get_additional_artist_info( @@ -189,8 +188,6 @@ class Search: continue artist.append(name_) mb_artist_ids.append(get_elem_from_obj(artist_, ['artist', 'id'])) - # artist = [get_elem_from_obj(artist_, ['artist', 'name']) for artist_ in recording_data['artist-credit']] - # mb_artist_ids = [get_elem_from_obj(artist_, ['artist', 'id']) for artist_ in recording_data['artist-credit']] def get_additional_artist_info(mb_id_): r = musicbrainzngs.get_artist_by_id(mb_id_, includes=["releases"]) diff --git a/src/youtube_music.py b/src/youtube_music.py index 3f9ac99..0192513 100644 --- a/src/youtube_music.py +++ b/src/youtube_music.py @@ -15,7 +15,6 @@ 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 { diff --git a/temp/.cache1.csv b/temp/.cache1.csv index 4094f93..de4cbc8 100644 --- a/temp/.cache1.csv +++ b/temp/.cache1.csv @@ -1,14 +1,6 @@ ,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,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 +0,cf803d82-c7e4-4a95-ae3d-41c425c073d2,Was ist bloss mit Hauke los,Sag mir,['Crystal F'],Crystal F,1,0,1,DEVY82000200,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 +1,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 +2,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 +3,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 +4,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 diff --git a/temp/.cache2.csv b/temp/.cache2.csv index 8450c3c..81dbe6b 100644 --- a/temp/.cache2.csv +++ b/temp/.cache2.csv @@ -1,13 +1,5 @@ ,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 +0,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=FH6e3guHVOk,youtube +1,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=4AyVHYfiQLo,youtube +2,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=TkpZ9o5r18I,youtube +3,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=ZYOCi-lN7ak,youtube diff --git a/temp/.cache3.csv b/temp/.cache3.csv index 09f69e6..02d7d51 100644 --- a/temp/.cache3.csv +++ b/temp/.cache3.csv @@ -1,13 +1,5 @@ ,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 +0,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=FH6e3guHVOk,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Glücklich sein.mp3,horrorcore +1,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=4AyVHYfiQLo,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Knifeboys.mp3,horrorcore +2,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=TkpZ9o5r18I,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Mit App.mp3,horrorcore +3,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=ZYOCi-lN7ak,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/So spielt das Leben.mp3,horrorcore From 84b4f8b6c2ed72262da33b613151eb49d9be9c83 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 24 Oct 2022 23:21:00 +0200 Subject: [PATCH 8/9] fixed bug with the youtube downloader where it chrashes if no results are found. Now checking all results of an search for a close enough title --- src/__pycache__/metadata.cpython-310.pyc | Bin 14120 -> 14101 bytes src/__pycache__/youtube_music.cpython-310.pyc | Bin 2147 -> 2351 bytes src/main.py | 1 - src/metadata.py | 2 +- src/youtube_music.py | 32 +++++++++++------- temp/.cache1.csv | 15 +++++--- temp/.cache2.csv | 12 ++++--- temp/.cache3.csv | 12 ++++--- 8 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/__pycache__/metadata.cpython-310.pyc b/src/__pycache__/metadata.cpython-310.pyc index 764c6de23d52e4dec0eb766b8c1a315edbcc980a..5c58b13a5587a63119cdc079e4fdffa1d1ef0f5d 100644 GIT binary patch delta 471 zcmXYsPiPZS5QpFI?c40@+s$TeBF)xT4J~Rk)mX8hV6k3A5$r(=3gW?qfPsi@s!-qJ zAwt0tJWN%{L5Wak5fAb#J!*UP&)JiD@K(`_9)wEVLI!>V-#2rZS*|^<`M1((#gh88 zICZ0X_O&l0xXH>#JbOB^Gut!a1jzF|1ZY)_V}pLH!j$HbJ4rJ6h=;&9&X# z-O+T~0J}Y5*4@9H-uh=C=%3$2iWV{FjjSfA)2(1k* zqD&Wt+ZZ!Hhqr)n+T8aQ=ji?ZHC!}}0}gQ6EELCpYqW9jB`Q=q)IrtMN+*F?vohiW z_h|L-Cg!Pq?Y7WG7j@@W7lNP@%!Ld0eD@yC-OTJ{f>VKj$-L@G zzZzS7xfc`$pu)yS9)9N0H>I7>Lx}JQ1gCxTDSpwp86VAZDI6`zasZRu@y)T>2eKkt zA;maz^dfRR2bY(%QPQq9&Rkzs-1?l#lGiaOg{zl|Kgt}->p+ybMpn?IKM~g?oA60X z>e7^zl1r_8TeYSayyTfaweP>=d{)qI@C982SD@3P9TkT6H*MKPGwBVMQEgdJ-J!IB zBUOm}0DjZR-BbKmz4rz=-cq490ijN6w*Xy@#lnEC=I`4;jarU-Fh;SuC8TJ(?i1Rn ztG<9P^|$^C=%zmn|Ikn08xJs`rkix&wOUAY0>kvJc^4Bj)N+lC8hZEySWx*^Kk$x< z$uq3dheuzrPRUdrc{)xV;yEopzR;>dHgBc(ZD9mxv+W9>)kgbIU`Gvid;tVqciy=H Db(wfW diff --git a/src/__pycache__/youtube_music.cpython-310.pyc b/src/__pycache__/youtube_music.cpython-310.pyc index 36658fa505ba5e682183c72107d84f0f909c522a..909edb776257d8cd8cdb7bdf636157e947a91194 100644 GIT binary patch delta 1143 zcmZuwOHUL*5bo-p7rV1hK(a`D-~m_EsEN@SBt{^FK$Hk**oc#LyD_W74)n}wFtg#X zT#X@<(gBSe^UQ86LXEma+JN0#SRdrQQeLbJ^?}}M3lSvUA)8B8` zrh9g>L-2ZMbmCqm#d}10mGTr%Z)+8s+dQ*PDjD9#vm%T39M5m-m7K`)!Xql@c(GCt zwkWirQWU+S*ajfN=Di2^92SU@a{tc9D`u<*^}rPog;TfZ@d5$agMfD6d0z`cc*r<} zcWF%l+ zTN_#|WRqm2+|ojg(-PUE9n#VRZBGyN5IXcOZ5b^yG~~6w*fTl9DCG1NvKE?%MhJ*z zs3TgtJssqAqZDc_iby$W5;?<>H`MVIQqyz8OgbRVsL2{|IQqgam93ab?@64JqUt)y z^NQ`&dIL97_)Ry6&F<<)XS9*If7+Eh*e)b}P<{C@LKZZzL8CTUxaLvQ;23E8lp54R z-2yrK{)P4xil;HUoRXkX4}AmRA*wA;ioN zWWu!^O}6z$kmQdo$7xj8gyY28%)+e+IilS9x>Nyw?xVD8GI?Cq*qX7(3GvO|xNk(vq^V zLaH~BvLHe&Bu7skJbUmic;Bnw!Mhg^);B9+oyYt0cIM5#H@}(pxv!a&n@q+LjOVR; zs~@es)ChjFcYdzS<7D%%@m-S1+e{nq{64af4;c8J^&o zE-q(zj%T|VBc5Qnqu&fKA?3xvz0Wg25}(^?LQ#o&Sdu<|b*zJZ{8(eyNBii2Fv7H# zgi!}E-9a64A2CG1x*A3e>k{%tx1ffy61b#N_emG4y3+8;CKeYMT0%aNh6Bn#nfaDL zb!%}u)|MWxir_VN@&ZE>p)PB(&Wj|}TB0s&m@1mV7cw~&>P=B=$dJl*lZWZjt(E1K z+4;)K-G$1{`BG66F|}Q5vwEm+));r+Au$|WB+GY(*14>--Ii=U;*~YwZd7WXSWQ8? zmjkiMC>}YqiG?XPh=Gk?!hz{k)z05xK#%~R1NWW=O>JyPYCb@8P#1Ry9E&)pNBXFv zN!rtW&BuN6fOKd__o=uljh@Lg$O4G_fYH}M4IhJ=z6NR?#QFg24=9xdcw&puks=1$ zS>`rmfw^0ax?5$n#(FS8OV|ls(91a^)P%bg#s#m|D-pin8y%k=hF(P^#~}*SM=1c? z6Y3~xB?afUu}y58A(T*D!1Ry;4KeX}aj-_0o;4+_@pg@Ne*q0y{1Sk)7GwI!-B zqoR{aGD-%OTv0L&5^A0l(QS$G=o20YwD-vxymwmVsOvpa`5z4H+J?(ob$(r4vUdi= ZLKcpU#DRgblx8I}Su3wtD6=vB`5Ukw$Nm5S diff --git a/src/main.py b/src/main.py index 63de643..c92a055 100644 --- a/src/main.py +++ b/src/main.py @@ -7,7 +7,6 @@ import logging import requests import os -# "/home/lars/Projekts/big projects/music-downloader/venv/bin/python3.10" "/home/lars/Projekts/big projects/music-downloader/src/main.py" TEMP = "temp" STEP_ONE_CACHE = ".cache1.csv" diff --git a/src/metadata.py b/src/metadata.py index b6ce4f4..8a6d24c 100644 --- a/src/metadata.py +++ b/src/metadata.py @@ -49,6 +49,7 @@ class Search: metadata_list = [] if kind == "artist": + metadata_list = self.download_artist(mb_id) elif kind == "release": metadata_list = self.download_release(mb_id) @@ -72,7 +73,6 @@ class Search: for i, release in enumerate(result["artist"]["release-list"]): metadata_list.extend(self.download_release(release["id"], i)) - return metadata_list def download_release(self, mb_id, album_sort: int = None): diff --git a/src/youtube_music.py b/src/youtube_music.py index 0192513..a138e2a 100644 --- a/src/youtube_music.py +++ b/src/youtube_music.py @@ -7,6 +7,7 @@ import phonetic_compares YDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'True'} YOUTUBE_URL_KEY = 'webpage_url' +YOUTUBE_TITLE_KEY = 'title' WAIT_BETWEEN_BLOCK = 10 MAX_TRIES = 3 @@ -14,13 +15,12 @@ MAX_TRIES = 3 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] - if YOUTUBE_URL_KEY not in video: - return None - return { + videos = ydl.extract_info(f"ytsearch:{isrc}", download=False)['entries'] + + return [{ 'url': video[YOUTUBE_URL_KEY], - 'title': video['title'] - } + 'title': video[YOUTUBE_TITLE_KEY] + } for video in videos] def get_youtube_url(row): @@ -28,16 +28,22 @@ def get_youtube_url(row): return None real_title = row['title'].lower() - result = get_youtube_from_isrc(row['isrc']) - video_title = result['title'].lower() + final_result = None + results = get_youtube_from_isrc(row['isrc']) + for result in results: + video_title = result['title'].lower() + match, distance = phonetic_compares.match_titles(video_title, real_title) - match, distance = phonetic_compares.match_titles(video_title, real_title) + if match: + logging.warning( + f"dont downloading {result['url']} cuz the phonetic distance ({distance}) between {real_title} and {video_title} is to high.") + continue - if match: - logging.warning( - f"dont downloading {result['url']} cuz the phonetic distance ({distance}) between {real_title} and {video_title} is to high.") + final_result = result + + if final_result is None: return None - return result['url'] + return final_result['url'] def download(row, trie: int = 0): diff --git a/temp/.cache1.csv b/temp/.cache1.csv index de4cbc8..456d594 100644 --- a/temp/.cache1.csv +++ b/temp/.cache1.csv @@ -1,6 +1,11 @@ ,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,cf803d82-c7e4-4a95-ae3d-41c425c073d2,Was ist bloss mit Hauke los,Sag mir,['Crystal F'],Crystal F,1,0,1,DEVY82000200,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 -1,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 -2,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 -3,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 -4,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352 +0,189f237b-cc29-4fde-8b5f-50a536830ad3,Immortal,Immortal,['Lorna Shore'],Lorna Shore,1,12,1,GBDHC2012001,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +1,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +2,389e84ef-0f2b-4ae5-85d1-11d0c6e0aa6f,Immortal,This Is Hell,['Lorna Shore'],Lorna Shore,3,12,3,GBCEJ1800172,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +3,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +4,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +5,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +6,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +7,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +8,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +9,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 diff --git a/temp/.cache2.csv b/temp/.cache2.csv index 81dbe6b..25d8caa 100644 --- a/temp/.cache2.csv +++ b/temp/.cache2.csv @@ -1,5 +1,9 @@ ,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,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=FH6e3guHVOk,youtube -1,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=4AyVHYfiQLo,youtube -2,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=TkpZ9o5r18I,youtube -3,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=ZYOCi-lN7ak,youtube +0,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475072/lorna-shore-death-portrait.mp3,musify +1,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475074/lorna-shore-hollow-sentence.mp3,musify +2,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475075/lorna-shore-warpath-of-disease.mp3,musify +3,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475076/lorna-shore-misery-system.mp3,musify +4,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://www.youtube.com/watch?v=HxDKD0AL0Pg,youtube +5,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475078/lorna-shore-king-ov-deception.mp3,musify +6,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475079/lorna-shore-darkest-spawn.mp3,musify +7,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475080/lorna-shore-relentless-torment.mp3,musify diff --git a/temp/.cache3.csv b/temp/.cache3.csv index 02d7d51..a29fc24 100644 --- a/temp/.cache3.csv +++ b/temp/.cache3.csv @@ -1,5 +1,9 @@ ,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,e061d47e-5c23-4d90-a707-c292b94dc1d6,Was ist bloss mit Hauke los,Glücklich sein,"['Crystal F', 'Tamas']",Crystal F,2,0,2,DEVY82000327,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=FH6e3guHVOk,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Glücklich sein.mp3,horrorcore -1,5e82173e-61a5-4eb3-94c0-ac268e94ee76,Was ist bloss mit Hauke los,Knifeboys,"['Crystal F', 'Dollar John', 'MXP']",Crystal F,3,0,3,DEVY82000328,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=4AyVHYfiQLo,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Knifeboys.mp3,horrorcore -2,f5f7908c-6bae-4805-97ac-581d73e3fe2c,Was ist bloss mit Hauke los,Mit App,"['Crystal F', 'KDM Shey']",Crystal F,4,0,4,DEVY82000329,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=TkpZ9o5r18I,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/Mit App.mp3,horrorcore -3,dfc48144-1f04-4c2d-a98f-1928958efc32,Was ist bloss mit Hauke los,So spielt das Leben,"['Crystal F', 'Dollar John', 'Taha']",Crystal F,5,0,5,DEVY82000330,2021-06-18,2021,5cfecbe4-f600-45e5-9038-ce820eedf3d1,85ef407e-241e-49fa-adf3-6320d34154fa,5cfecbe4-f600-45e5-9038-ce820eedf3d1,Official,5,deu,EP,,XW,4062851617352,https://www.youtube.com/watch?v=ZYOCi-lN7ak,youtube,horrorcore/Crystal F/Was ist bloss mit Hauke los,horrorcore/Crystal F/Was ist bloss mit Hauke los/So spielt das Leben.mp3,horrorcore +0,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475072/lorna-shore-death-portrait.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Death Portrait.mp3,deathcore +1,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475074/lorna-shore-hollow-sentence.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Hollow Sentence.mp3,deathcore +2,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475075/lorna-shore-warpath-of-disease.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Warpath of Disease.mp3,deathcore +3,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475076/lorna-shore-misery-system.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Misery System.mp3,deathcore +4,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://www.youtube.com/watch?v=HxDKD0AL0Pg,youtube,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Obsession.mp3,deathcore +5,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475078/lorna-shore-king-ov-deception.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/King Ov Deception.mp3,deathcore +6,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475079/lorna-shore-darkest-spawn.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Darkest Spawn.mp3,deathcore +7,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475080/lorna-shore-relentless-torment.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Relentless Torment.mp3,deathcore From e923dcdaf208a95492af3afaa9e49fbbcfb9520c Mon Sep 17 00:00:00 2001 From: lars Date: Tue, 25 Oct 2022 17:59:33 +0200 Subject: [PATCH 9/9] added a slower method to get stuff from musify, which in comperason takes longer though --- requirements.txt | 3 +- src/__pycache__/musify.cpython-310.pyc | Bin 1831 -> 1953 bytes .../phonetic_compares.cpython-310.pyc | Bin 471 -> 794 bytes src/download_links.py | 6 ++ src/musify.py | 61 ++++++++++++++++++ src/phonetic_compares.py | 17 ++++- temp/.cache1.csv | 20 +++--- temp/.cache2.csv | 15 ++--- temp/.cache3.csv | 15 ++--- 9 files changed, 109 insertions(+), 28 deletions(-) diff --git a/requirements.txt b/requirements.txt index d525e14..0516df7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,5 @@ mutagen~=1.46.0 musicbrainzngs~=0.7.1 jellyfish~=0.9.0 pydub~=0.25.1 -youtube_dl \ No newline at end of file +youtube_dl +beautifulsoup4~=4.11.1 \ No newline at end of file diff --git a/src/__pycache__/musify.cpython-310.pyc b/src/__pycache__/musify.cpython-310.pyc index efb61555d93deffeababf8baa5db8312f5c47018..e48c7b95dbe43c9a5c3ba8fa25d4d27f7adc85da 100644 GIT binary patch delta 195 zcmZ3^w~(JVpO=@50SKml3QwLokyn;6Z=$xlPAX>#Z#GkrX$nIMV-8mocPjS+o)o@? zj8VL)e5t(6jEq3>U@+F?-&kS6rg)1ZK0Y@wGcP{AN?1=%za%xcKwmF8F*zgESTDJ_ zOp|}|CN?WwkgB}I+|>B^TWkf1c`1p-x0ni2ZgCW)CZ@y#mEB@WNxQ{bP?VWhQp7pA mflY+ZCO1E&G$+-L5$MEXxyb_TqC6bD9BdqnT#P)7EPnwWh&S;7 delta 57 zcmZ3;znqUZpO=@50SJtX!;;k|^2#!LOw@K~OJNLV(B$1X&w`CflXLQSHmk`o?8=NH LlN;DYnRs{sYugNo diff --git a/src/__pycache__/phonetic_compares.cpython-310.pyc b/src/__pycache__/phonetic_compares.cpython-310.pyc index e974465492f894ac99575b6727860c0e11ca5b61..4f3dc70fee7b56aa591cb387ec6c55a4153baaaf 100644 GIT binary patch delta 443 zcmYjN%}T>S5Z;+=(j-lL5`-dn@Kk%To;-*OdhVqnB1)~<#1{MKW_u7eRERGSym`{s z@CAGXA#c!E@Z@Y-!GZaPnfd19+x@oQocgp@^BKjLa~VEkUf+U~ytTXIMkwsaig=7M z7oPB6_?07|%bL}tp?8*;-(BDm^3P-N^Pgl9(6n&-QVkQ;+YiyO*5Od)l&6%*ErDX1 zWuV{zW$T`$sM#62X{44yZDjyVS=!Q&;Wef_wKY$+HP?2G$bfa3#&_yIi1+9VP`1Vl z;stii88c_(5_Zjm#CEAbx)m zMoHnV-_!0D_PDRYf%J$W&5y01Y7T0&+6xE06*)1pWP>084lcS-ry4+j0r(&{Y0<36 k%Ih532gXe~`6pS5m%8rZcq- (bool, int): distance = jellyfish.levenshtein_distance(title_1, title_2) return distance > 1, distance + + +def match_artists(artist_1, artist_2: str) -> (bool, int): + if type(artist_1) == list: + distances = [] + + for artist_1_ in artist_1: + print(artist_1_) + match, distance = match_titles(artist_1_, artist_2) + if not match: + return match, distance + + distances.append(distance) + return True, min(distances) + return match_titles(artist_1, artist_2) diff --git a/temp/.cache1.csv b/temp/.cache1.csv index 456d594..2966361 100644 --- a/temp/.cache1.csv +++ b/temp/.cache1.csv @@ -1,11 +1,11 @@ ,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,189f237b-cc29-4fde-8b5f-50a536830ad3,Immortal,Immortal,['Lorna Shore'],Lorna Shore,1,12,1,GBDHC2012001,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -1,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -2,389e84ef-0f2b-4ae5-85d1-11d0c6e0aa6f,Immortal,This Is Hell,['Lorna Shore'],Lorna Shore,3,12,3,GBCEJ1800172,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -3,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -4,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -5,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -6,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -7,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -8,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 -9,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720 +0,ba953d81-663e-4acc-90d7-c86005960341,Pain Remains,"Welcome Back, O’ Sleeping Dreamer",['Lorna Shore'],Lorna Shore,1,0,1,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +1,b7b623b0-a64d-40b4-b6cb-b1b45a3b0d91,Pain Remains,Into the Earth,['Lorna Shore'],Lorna Shore,2,0,2,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +2,7dfa4dd2-1ac7-4b17-91b4-fcdc1f859b74,Pain Remains,Sun//Eater,['Lorna Shore'],Lorna Shore,3,0,3,GBDHC2334003,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +3,7e6cf7ec-c566-47c1-88e9-da7731089428,Pain Remains,Cursed to Die,['Lorna Shore'],Lorna Shore,4,0,4,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +4,7abf38eb-de34-44e5-9a90-1438a0c54d2d,Pain Remains,Soulless Existence,['Lorna Shore'],Lorna Shore,5,0,5,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +5,a2b9b1e5-7d32-4ba4-9a16-ad63b374a8ad,Pain Remains,Apotheosis,['Lorna Shore'],Lorna Shore,6,0,6,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +6,fcd1d262-bd4f-4838-831a-547cb4066ef8,Pain Remains,Wrath,['Lorna Shore'],Lorna Shore,7,0,7,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +7,4a1dca7c-2409-40e3-9dfa-3ae26789db18,Pain Remains,Pain Remains I: Dancing Like Flames,['Lorna Shore'],Lorna Shore,8,0,8,GBDHC2334008,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +8,af01b1dc-f14e-4d02-b91a-d059b235f452,Pain Remains,"Pain Remains II: After All I’ve Done, I’ll Disappear",['Lorna Shore'],Lorna Shore,9,0,9,GBDHC2334009,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 +9,b9ead1a7-b054-4a8a-8e36-e860ab7e8d5f,Pain Remains,Pain Remains III: In a Sea of Fire,['Lorna Shore'],Lorna Shore,10,0,10,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830 diff --git a/temp/.cache2.csv b/temp/.cache2.csv index 25d8caa..2d1fbd4 100644 --- a/temp/.cache2.csv +++ b/temp/.cache2.csv @@ -1,9 +1,8 @@ ,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,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475072/lorna-shore-death-portrait.mp3,musify -1,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475074/lorna-shore-hollow-sentence.mp3,musify -2,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475075/lorna-shore-warpath-of-disease.mp3,musify -3,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475076/lorna-shore-misery-system.mp3,musify -4,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://www.youtube.com/watch?v=HxDKD0AL0Pg,youtube -5,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475078/lorna-shore-king-ov-deception.mp3,musify -6,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475079/lorna-shore-darkest-spawn.mp3,musify -7,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475080/lorna-shore-relentless-torment.mp3,musify +0,ba953d81-663e-4acc-90d7-c86005960341,Pain Remains,"Welcome Back, O’ Sleeping Dreamer",['Lorna Shore'],Lorna Shore,1,0,1,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712884/lorna-shore-welcome-back-o-sleeping-dreamer.mp3,musify +1,7dfa4dd2-1ac7-4b17-91b4-fcdc1f859b74,Pain Remains,Sun//Eater,['Lorna Shore'],Lorna Shore,3,0,3,GBDHC2334003,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18013578/lorna-shore-sun-eater.mp3,musify +2,7e6cf7ec-c566-47c1-88e9-da7731089428,Pain Remains,Cursed to Die,['Lorna Shore'],Lorna Shore,4,0,4,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18254249/lorna-shore-cursed-to-die.mp3,musify +3,7abf38eb-de34-44e5-9a90-1438a0c54d2d,Pain Remains,Soulless Existence,['Lorna Shore'],Lorna Shore,5,0,5,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712888/lorna-shore-soulless-existence.mp3,musify +4,4a1dca7c-2409-40e3-9dfa-3ae26789db18,Pain Remains,Pain Remains I: Dancing Like Flames,['Lorna Shore'],Lorna Shore,8,0,8,GBDHC2334008,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712891/lorna-shore-pain-remains-i-dancing-like-flames.mp3,musify +5,af01b1dc-f14e-4d02-b91a-d059b235f452,Pain Remains,"Pain Remains II: After All I’ve Done, I’ll Disappear",['Lorna Shore'],Lorna Shore,9,0,9,GBDHC2334009,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712892/lorna-shore-pain-remains-ii-after-all-ive-done-ill-disappear.mp3,musify +6,b9ead1a7-b054-4a8a-8e36-e860ab7e8d5f,Pain Remains,Pain Remains III: In a Sea of Fire,['Lorna Shore'],Lorna Shore,10,0,10,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712893/lorna-shore-pain-remains-iii-in-a-sea-of-fire.mp3,musify diff --git a/temp/.cache3.csv b/temp/.cache3.csv index a29fc24..02322d8 100644 --- a/temp/.cache3.csv +++ b/temp/.cache3.csv @@ -1,9 +1,8 @@ ,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,c712d6e8-54ff-4287-a287-aad9986e862a,Immortal,Death Portrait,['Lorna Shore'],Lorna Shore,2,12,2,GBDHC2012002,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475072/lorna-shore-death-portrait.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Death Portrait.mp3,deathcore -1,4fcc8206-3cf7-4215-ac6e-62d1f4df8ad5,Immortal,Hollow Sentence,['Lorna Shore'],Lorna Shore,4,12,4,GBDHC2012003,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475074/lorna-shore-hollow-sentence.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Hollow Sentence.mp3,deathcore -2,278e3c67-b24b-4b70-94ce-374b9278e0e2,Immortal,Warpath of Disease,['Lorna Shore'],Lorna Shore,5,12,5,GBDHC2012004,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475075/lorna-shore-warpath-of-disease.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Warpath of Disease.mp3,deathcore -3,de7effa0-c4a7-4c05-8c06-432ebc0f396c,Immortal,Misery System,['Lorna Shore'],Lorna Shore,6,12,6,GBDHC2012005,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475076/lorna-shore-misery-system.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Misery System.mp3,deathcore -4,1d05cd2e-05e7-438c-a6da-4ed1c5403590,Immortal,Obsession,['Lorna Shore'],Lorna Shore,7,12,7,GBDHC2012006,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://www.youtube.com/watch?v=HxDKD0AL0Pg,youtube,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Obsession.mp3,deathcore -5,c61aaa70-4dde-4227-ba50-4d0f237e5100,Immortal,King Ov Deception,['Lorna Shore'],Lorna Shore,8,12,8,GBDHC2012007,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475078/lorna-shore-king-ov-deception.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/King Ov Deception.mp3,deathcore -6,74452632-ad61-45b5-8ef0-6c60a2d6a424,Immortal,Darkest Spawn,['Lorna Shore'],Lorna Shore,9,12,9,GBCEJ1800173,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475079/lorna-shore-darkest-spawn.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Darkest Spawn.mp3,deathcore -7,4e72d965-f27b-454c-9fd6-45d029eee638,Immortal,Relentless Torment,['Lorna Shore'],Lorna Shore,10,12,10,GBDHC2012008,2020-01-31,2020,e86fc1f5-d632-44b2-8aea-38f83aadffe8,ab944f00-12f6-4247-b265-d5152e6b9302,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,US,194397114720,https://musify.club/track/dl/12475080/lorna-shore-relentless-torment.mp3,musify,deathcore/Lorna Shore/Immortal,deathcore/Lorna Shore/Immortal/Relentless Torment.mp3,deathcore +0,ba953d81-663e-4acc-90d7-c86005960341,Pain Remains,"Welcome Back, O’ Sleeping Dreamer",['Lorna Shore'],Lorna Shore,1,0,1,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712884/lorna-shore-welcome-back-o-sleeping-dreamer.mp3,musify,deathcore/Lorna Shore/Pain Remains,"deathcore/Lorna Shore/Pain Remains/Welcome Back, O’ Sleeping Dreamer.mp3",deathcore +1,7dfa4dd2-1ac7-4b17-91b4-fcdc1f859b74,Pain Remains,Sun//Eater,['Lorna Shore'],Lorna Shore,3,0,3,GBDHC2334003,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18013578/lorna-shore-sun-eater.mp3,musify,deathcore/Lorna Shore/Pain Remains,deathcore/Lorna Shore/Pain Remains/Sun Eater.mp3,deathcore +2,7e6cf7ec-c566-47c1-88e9-da7731089428,Pain Remains,Cursed to Die,['Lorna Shore'],Lorna Shore,4,0,4,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18254249/lorna-shore-cursed-to-die.mp3,musify,deathcore/Lorna Shore/Pain Remains,deathcore/Lorna Shore/Pain Remains/Cursed to Die.mp3,deathcore +3,7abf38eb-de34-44e5-9a90-1438a0c54d2d,Pain Remains,Soulless Existence,['Lorna Shore'],Lorna Shore,5,0,5,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712888/lorna-shore-soulless-existence.mp3,musify,deathcore/Lorna Shore/Pain Remains,deathcore/Lorna Shore/Pain Remains/Soulless Existence.mp3,deathcore +4,4a1dca7c-2409-40e3-9dfa-3ae26789db18,Pain Remains,Pain Remains I: Dancing Like Flames,['Lorna Shore'],Lorna Shore,8,0,8,GBDHC2334008,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712891/lorna-shore-pain-remains-i-dancing-like-flames.mp3,musify,deathcore/Lorna Shore/Pain Remains,deathcore/Lorna Shore/Pain Remains/Pain Remains I: Dancing Like Flames.mp3,deathcore +5,af01b1dc-f14e-4d02-b91a-d059b235f452,Pain Remains,"Pain Remains II: After All I’ve Done, I’ll Disappear",['Lorna Shore'],Lorna Shore,9,0,9,GBDHC2334009,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712892/lorna-shore-pain-remains-ii-after-all-ive-done-ill-disappear.mp3,musify,deathcore/Lorna Shore/Pain Remains,"deathcore/Lorna Shore/Pain Remains/Pain Remains II: After All I’ve Done, I’ll Disappear.mp3",deathcore +6,b9ead1a7-b054-4a8a-8e36-e860ab7e8d5f,Pain Remains,Pain Remains III: In a Sea of Fire,['Lorna Shore'],Lorna Shore,10,0,10,,2022-10-14,2022,e86fc1f5-d632-44b2-8aea-38f83aadffe8,7d70eb7f-68b0-4c20-aa17-bfb414f88f4c,e86fc1f5-d632-44b2-8aea-38f83aadffe8,Official,10,eng,Album,,XW,886449882830,https://musify.club/track/dl/18712893/lorna-shore-pain-remains-iii-in-a-sea-of-fire.mp3,musify,deathcore/Lorna Shore/Pain Remains,deathcore/Lorna Shore/Pain Remains/Pain Remains III: In a Sea of Fire.mp3,deathcore