From 1c623a330b964739a927f44d7c8d0c3c6527f9cb Mon Sep 17 00:00:00 2001 From: H_Satt Date: Sat, 4 Jan 2025 15:06:49 +0900 Subject: [PATCH] first commit --- .gitignore | 165 ++++++++++++++++++++++++++++++ assets/Cover.jpg | Bin 0 -> 75665 bytes assets/icon.png | Bin 0 -> 32278 bytes main.py | 257 +++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | Bin 0 -> 2558 bytes 5 files changed, 422 insertions(+) create mode 100644 .gitignore create mode 100644 assets/Cover.jpg create mode 100644 assets/icon.png create mode 100644 main.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..db69f33 --- /dev/null +++ b/.gitignore @@ -0,0 +1,165 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ +test + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ +.vscode + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Flet +storage/ \ No newline at end of file diff --git a/assets/Cover.jpg b/assets/Cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eada7128edf6fde49e764181da3b7a6858cb50ff GIT binary patch literal 75665 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 UlSnzyXF{X0Pk+>-^lSA000xiGa{vGU literal 0 HcmV?d00001 diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bebc6d55c8fe9366606b46025abfa5584d95f77c GIT binary patch literal 32278 zcmeFY`6JZp`#=6fQc-d!lBKASEF}q93K4}Yk$nkS$1?V1bUKw3lC82%OkX^|+S%em>OK)!e&>cMpOfd#`Az z8z9II_|F~4uAT6M;}^dRKf67(Zu%g|EnD;tg9BS~3H;+BtcEGp5aWpTxAk^F{QdnU zojqKA>}@?ABr)Dj$@3R@5#$JRMg5{tK+5buV9G7u&;@$ynvtdk(g$LcAHIkL2t5&#=dE-Doj{n$c4qJ`K7!Cd6DrHCJ>Xy!-B?h^!6zcQ~&!`lGs+2mQ&|`G2qdpGy7@CI7!W zPBRIVzWjhci---GomZ4Ay8MDQ$0=EHR0q>3*y%%o^7v`=wU2Y`q z=ZJX}QRh$lc1bzy@yGdbD>eg1rk9X561o2^oI5bb9e?#Ca*9bN$`K zWZ_CNJ1Utt% zxvt`xPh6iQtgaxYe*qPRA1&Pc;UoAnZK3=;KEPJ}{dDb`mV8?21oct=Y;E_>47u{1 z`w<(hCifS;FAkHp8Ys*0ucpV>8pW(QId&r93?o3-RYw#lTkWOBn`v=A<;R51NsgDy zXVz7BSqHZhrN-BG{Hl_Ny-SDtrF+l!>b{oY7ay&S9c}n)uW^x_=06OGjVj7@I~)3I zR!6-XJK7(UBTOyNo~Vy}H6$3WaT=bnh4-B(R{9t@Z6Z`#DD>(&K}1MM!`Fwr6Io41 z)oP88cNEFOo$=n%PRN$gp49S|!KF;GNBCMk#9wfDt za^uQY36F5)*d54b>u%75^64@M7hjjG^j6^+tAiYxN%N&r@+3U|Fk;Gw+Qha@F3l&T ztbMDNi#(fR7f4RqmLBStqYuI=r=n3Qo|Ine6Y*}$kGMQ~Q_S1?!cUCK_I7q_Md%w? z!_=I$L1B{zw# zn7qXVyf8e+zzS1%>_yo^@`MvU-im*FQ=P8SV3J!g|I{fy53!-7zyeeEI9ml%%}W<> z*b^fOVx)(7AHoSm8oTsc6g8IE8MPLx9zINkbbb?&H#VBLKaRF`TTg($f&e12)WMiG zW`B?Vu%DHVDSf70L06(pWx`um%dF)`m}Zn|b$vSih^GxY7mMxMyGi8_g>8X1&yGwQ zMi-EjloCcrq}>SLd2}xfKSQTW*=L*ltpvoZcvjYvr{_2BmGRSAcx-&v9hi|eS(&&F zcAZ#jj@Ymh22r%cMz59O^uTUQybN;Qb7ce1jCk&Ml=D!L=S{V~7MsQy%Zm?AG}HY? z!G$w8fdHS`3zJ)wj(cyKyoyab9Ggv2y4SBXR5^pu)at1tKDPBn)Gs z{DK0tI}LS8mY*x7mQASWD=_~1*u{NqY&lMWBR^6rhCO|4D2}K!#)=EkB=17@rGc^D z;(H#>#e5SZp3}HcfYq_qp>*Rpk*R&Kvc9+sh%Vu)K)22e$Y$SK=nj#!t{{R525ezr z7hAuj(yYve{HyZm%OF5|+F z+QGB?q^7auYJ)KobzvpB$+y~TY#H}re{NO+MzJv<6wk>&D9&;z7s8)c6q1Dj*<55{ z@x0)A3A`dQB>>V%b4{Em7EBVRo1NvAV#AH{74h|e(vOZN2_w>N6DO>(ZZ%)?C%IZ5 zMcg2#9c{mP``n;8Xl4Ek2*5;+)~vX_{dMc>ccGEv9H(y(oIYpbl$YbULtkT=kpTx7 zv$HXmT|U_1)B6>1u@O8+!7FU5w03)-9=J2172V+dxK`fh{FZA=%?`QU6A{%qlWdBxv#LJfzYj4L&5v3W8~`-yvX=D5- zUZagFZ?z}^#Y{;MA2WpK^?Fft>XQ~qH@70zKXDZhuqVBgQV zCw;g(YaU+-uyh+866BsA%LwAviiYCh;9iM!djF^*#A0aKEKmoMNV@p5C& zOaKzT9dGa=`5Cp8k3x+&{|dX0MI7fh=bPkq%95dqnJ-zaPgEB>u zz+Tx`PiJtcf$96R%tcz2vpJfF@(flAIbyZf+LTi7GawndpqnZs#f|r|rCo%%sM{5i z2JcU$s`-ycU~-A8Z}k%9!FUj&!UfNi1yY?)f1GC*9s%eqUp}xg-H<;Y|KIZkg8Nb+ zd#?B9n(#=yc1fH4Je}n&Ke*I>{|nO^Gu#uCxWdR~R*rVj0kzh-=jj-l8UQvi5$rlW zTb93~!+kkZO=t4MEoJP~q$Hsb2tnsNNG>Z|;=HMz_KYAZB)}gF1B&=y;-fI}kEVIU z7Rx@5iSEpk>D@Ry)yv5d@HX`)Gl0ZQ<;wzd?;H-beIUZB}>agu9})6Y^mh z_N>oTR&w>4A8qL~-T57sO=CPIgvzdO2ru&3`EW{^c3iRN&eV$D`w<}3Eq3pcMpwIMSijo>&{`=1S5*e;46eHHOjpK!0T)1&wW&IG3P zMyIUuNWHN6*0G2tEtF;nPuD03=>Z+?uuD-i(YY%MnADx8-n;B!`OFY3SB+=^$NxwL zweD={A6u>~7n6L*7ZYhjxPLKL!9AbO^tLqKM{)o`W*=CZze$Xmm^LwNp^FQF!}5rh zby?xQwGXqagq!&QpmtWx)-3Bi#$&ImE9YTZ?}}&y5g*|YkgKiULw==P_ysE~CL%rz zo-v(rSfex908lFb2UEwI1&z!VybsUqCHZkWN|K9cprVyPGxoire&G$4RqaUa zgKn!}3a5?}qMybIGfNd)wWSPH%p@5aTkhw04HN7un%V5`RW_SSwV9v<~D0JO0HHMN(qR*VV?EKtQC~!mf^=EpwPI z`0f)FteyhC{j&Sew@qau*wnvIKe&GX@v%TR$XGq-rn(WRGE9v0>HkF*L4eg%!Sm)m zoZG4T;~ZXY1 zjBv}*u8(Xlw(YF0{1VG5n^aA~Az=~lWFINY+*-OgXl=^XAUo{15TqCxE&<39MCH_Y z3P@H}^YGTYrdA>{LQ|b4P@a=Q zSfoNxBkj}x6)&Jl%@q2 zhq!hL0K_7Apte39R-{8IQq`6`aORVOFR9O`rckFuwPak2t`8vp0>3ndn6N49;?$C5tlD5r;+!IJ8~ z)~d)}*YMjC4BwsrXfa_Xik3|96`O+x#ad1dFzTHAq-+3r#+TSXJNy;?M^4@OE#vhc z>C_D>q$$e9V92}GKm%;=dzw4?6iP=MR6fNU25bu=k46pxm$fuGPv&P&Ob!XiL-1w9 z8>Nl`a~!M%%c}M$$yXfLut*e+79U_dj&J!J#Mba)1xf5Zys3ey5x70vbkC0I*7CU= zpkAI+uhElS`5|%+g;(jleU^!U zPaA2#r|3l2x55~gng$0BuORY49=46wvDO1(kZ_=D>en<)_~^N+&nR(hG>{~urTgjZ zRTqB)ZWH^_1r6pyM1?H2s)fel;otbAVLej?r_|186}AHy!jRy;hLY~N;TR)!}}NnvtJnjK#@wa zg@M%iJ~8D(!y|(Gw6oBVurCq}k@h_KS=g0EFJJZdVgrm!d8scb51|}jI|t}%3l&LI zQ7H7LJ&hmPz#H0Vg*eX1Ce2Fn!{#8g>ektGek>2i%D;H6$>*jP(AeYd(0tpSW;=tfEn_1bKl^#<{1k z^C!1cddo(>uw6Np)pNlBjnNghkf{2J z;UTB6=9H&jUoT}3l{(Ij?0}{fGh*}1y&^+i=JfVz{L+$67P6Vu@itFv0IBlS{?oZz z{`$=+swwJyuzz%bADPRB7-~P~%Pn{lg~r$p$VjOZb(0c;hb-698Yp8ViKn?(^@IoKr!82O&`^SWE2DdF%qy4+_pnrVoH{-{-9`@m;yx$#hL;D!QI_%Kw= zJf1$u#d=0jEh-u{_d%39I>w7+SP^|>Q{vtm=90Ilk{MC0T>=i~zqkSskjDdh5Yicb zm_b@icB9GVnn-x>%Xec!9+v4;-9y20+vT>6uId+oV;@3UgZ&1I-*4ASDUJVAfiDXW zPWlsKOfyR#lAXr5aECbTVUzQ>Yb&d7Sgb{xYx`G)%5Q(9pAQNN+4!EAwY=<*>!K#S zy~Yxm%D3cy3R{WYtZb>JFE`oK-rf@NYy}-KIr=Rvw_c9+zi((EebvJZ;xW4@Kf~HY z!NNvwSAuY}Nv?qVh2jE1B5wX?cctwcCF+kDf^Zb)<=&-?u!S7wr2(i6(lYWZ-^EDx@QUGszY$gH7fz`m%G>t#fH|f_xsn_2+NbNf z`CKzs#OpiK)oVJ+C@bN2N5KI?J^bvZ9b!p`wf&Kb4sxb_7mg~SsN=7%A||9n&bDl| z?3&%0Zgd>ws5o!m^{t&Y&CkldyTNZRktpzwFX|@gc zUG?;vXR@q|NB=o6O2*|Y-P-7QVQlu%C1!flIG6a&jkdH7v#J!&&hruxHj~N;;7*GjwtfG8mt_OdbzLINCIdFAL~Z=0TL!*zzXtvmu{7 z$%G8}c1_xkbjwO?ex9^ZyaMa6vcp6syIhVkYD_~0=8veFRfGrd)0LR6iBIv$c$ zv|?MOQW;Mb@TKovxHWMk)oUY~vtBbt?){-FDh1v}rws^`X+=J#LPoNpD|4|dXjz$& z3AuYsvD}*msgtRUT$JY|2DUsAs|ugd+mS;TTpVWVv*S0Z3)G6a5FPT)D##LAa8_Hy z<3iUGbQ$)%BM}pHZGO8|*i9Om6p>tGcwF7IP+zR!H!-g>c1KhV4;Jx~-pY(R-8Ca7^XY0K;-} zBcgAwN83z})(+0@7A&q*D16TQ8Xp|wfD!S-&64Y_tO-o(dLW#@i{z9rtH=OzC}7RQ zD?bJ|uW*MdjagAzw9eeBpg_9|O}(?})5hTtOy4%WP0wYin#D$}*?o{^C^jPX zwe{vN0f&0J>qt8;aMUa3#^bHQ-u7wdsLQVpUC$qIY7H6vNZMP4TY4a-n$+wuNc+*S zAywUK`fD(A?9*+v`Syhh%4g%|*dax~?VlaIvfH5_@;UuOW^Zbi(gmqn5;z`)<;JF( z<(M~IIDQT_oVAGOFYm0SQqtb#y4OR&qh8|KT{AJ3=crAWwLj4;Jtr^q(bLt^p}59= zb5AZ#H#4TBMey`y$ukXHuicu|k!!Pz32Zfq;m17QnlJc%Iek#;oiQOxaQ0>c9jc}E zFi@rBv!0^4VPoS^X`ves@u`E+vfV^z1nwB1j1h_Cx9ffc&+5ejC)w;E+z9>d>Zhe~ z{NeBg$l1iT7tZ2ii7^o@u;@;;GYFf~cpdQHzjpzOoGg528q4g4Fu8|y zq%7n~JW>N4`SWJC%bJ;~PZ*G2NOOuGEt^Xi$0@H1RTo>d?lGn+L}6y>^cnx^mhSh5 za;?f=W%tkfsz9QTR{5TYUkZ&x8Q)y3kPm?6iTlO!Aw-M1w6XBrit>idJ9f_$5XEs&ub# znOwqUCxrQg-1Nng6E9-B%O@>ViBPMY`r2Rf@Y%YBPR_6)b%pBu+qPN#-gwM1 zU_@a0><_wJ@P%{bz*__3Vk7Y+u`16iVr+=cugBuVa@%s=(3$Jvb!mLxmdq1LCESbL z(B4^VMv&ju2HJ(3eS>L2X+{dnJj!As+?q;Qs)J%(Qq&Ei&)Cn8KD@@fVgrVn!F_Wv z=)RI+Uy6_y4DOeQ1}2Mi%7l3WLk5dM}|X@noWMuU3xE+K-+=zfrVTwDf=y`?hcCG2xR_s@d^j|ipgBaIJG(_NiJv1$xpDi&uSeS55H)KpqoUn|Ni6X zoG#TS^89-&tMrz^_+Er%diO#fCEn>=PRXgm7(R2tz2I2k)$!F$XwD|7B+-Lm`Xyv~kBV15@{2r{a4lbXOPSy_@XNxf^u;YT5tWxdA4buOzNkaUFjMwg zvsSNp4YkRqb}Rq-h9n(Lw#Zz;Qm^-3n+^9KoG7EyX%{Gq{4r*y2Lm=^zh}qklza#X_Sw2d-f2VU0aXBKSAJ@dpOW}h z_ZrXBiE=UYUvm2_yXMPB8xoq+Be;yo0tfTs?8DZ!_yxrV7-j{T5b0&~(2)CGke<2# z^ecamlC)Wtld%_#oZQOEvYL-&aiy|m65<2ZcgkEV3rBsNl-;bs{^)uy{r;Rvn+^t9 zkDV{Vvg+#@XCBs;TaMGDk4NbR^a`6}tb1IP-eOr*Y%RZdblY~W{M+$c@WUU^b4!2|9I2v%0Ly@0OE0@_#sMYu2Y zy2kWgS9nzUzu%u~^ znfPm)#4kP*uUwt-eVwZ!?-;oB1#do8=~wf$(mZ<86x|hw_fkf#bnY=%XEK;v{n`Q@ zS7%(3*B`f9x$$%Sbt~l|{daF++o10szhIbEQF(Ibr8jzh*LdBM13LHSh(XJz!$?|4 zXLQoz$C9%bZoQ`zO41(m4f;`IfS^atLstZjfob=An`0-8rp1LP75h0@E*+Q}3hKgUAt90b4_1a}AV@x^%w6R~xUz zG*1pxlgi3ci7U^u_`FO&ab6dmG4tF;PdKBsaQf)G;}Q9FvPo>6oFv0YY+bN_F|^Gi8#xx?(V@=&vfW8K>;oO;orj;j--1cG^S9|y*=WHU~p%igkFULF}PE!y6{Fs zsJtbFD)g#_^t0ltpI*#iZ)Tn+VE0rh9ga3Z(pENjO1H)3hz`}JD_bY=m&pRu>Onu+ zZBPOQl%V>enfywN@)J&C*G`Oo!7=|D%_C6i*$*8Gt*5q6L$hZ&CPiq$`Gz2<=@eAo zJm(9OOY}6NeW2p&PqM(@;YW(Y#u5+M`_BhY-lr5e;XTt;hA<14;JVE_%|VE=e?-#< zya}cX(LP{VsTLP<^ zkr(#Y)6)9;XI8tqs(J z7CRNKa8tb#lO|C{lC&Porg!CbTx&oZB-i0gaGKKAePNlMM@x*lx}$0|e^7Q~`J|-f z>D~~1^1+?0C4Hy$TZ@rO==@Ka3s70uJ{;Cz*~$QdF_)X)N`0LqYh{7I4Y-w_GoK16 zz%qIMVuRDN-ZPype%arv)#%|2@rJm)NK8dYcVd>(8EeAF&hwRUp66cKv2hiGKo$6G z<=O5lME+PksR0JhBMPj>*8PmXt<$L()1CmYgr|Dj^0$}xF-Z7DM<_j8W+&$Kq9Uxp z*q-5wY2)_RQv8(l9RF*|bFp4MjWeNQlG22xw*IKnYt)&Dp0bf-tOG-K@JE30$F%Z*~*T2TXQBVpv zx=8SPM;vD6R$rk=C`w&;)fwWI@R7JM^{^s!`5v&z7YZxm6l-BzhYBZ02UvKYl@&?v z3T~_sbHQyxxNpI-+a-l(xJx(4=_O}3u<1TsV+G__7c^b@IJhAtoqBpa82QCHShm#N z6;tmkZWhIvG#zYUy)@UN2|xAPOjU*a+d>iv&l|n+Zuwn@o4Lx(n0k}T~X&OwhU`3bwj{{ zp1+~$P3)HtNiTUN|5P$6!U4#d@IEK~DXoUZ>Bji#K$1HTMp@oKj(Fx&%cV%1_yEFp z0sP^3H=nyT9|t=`%r^ITkI;RD%ssSsUV!-t>sjR+ev>ayTfnKasX-xU$K>V6NeEO^ z_jIHASvF-!%-5BiM<(P1DnhWq+RE==mIK?Qrqk5{9KQg($7SH=NHrW7n-Z8ZoU)f! z?ryZUezxmYOQ$si3`O2p$?!P-piDe$b8Q+DRGart5^i%&XFv6?EL{I>a zN^wgJLyW(LO$L@p!bw>(H;SGgbBjQsH;c z{8Zuc_gz`yerq_|#zKdD>RsPCcNIvO^@J}}^YVmk!N(UeS+iZv&~J{N&jc#}>u2bn8<(4#Nny*`$s*@29Lcljy6t8f zDSF5@IZB5Fp!n^)^ca$-m@cw$~y3-M?Lc4O% z@I|^6^xDvEr+s#}>l4l~s(1tbWN;!}33)Zh@~Ugw1h^0&h`9#;h4Ec907VsgTiEk%*` zs;)uk%yW${mWt*R0n?kB4dED%SnluS6!EiKt{NAf%xs7G;;!z%{x5bkP?Gu-B4&?wV|N=>K)_Ux^En%w+`~f1Gw&^3k2*s(k5G`r?hrQ zelZyWQ+(UQ5FhoLxIzD=R=&g}98E=vX8WO8b94x`pgo-C*u&{q%caQyj)H9L9@X9c zF;eudmbuxK zZpE-m4GMU^c#KEL;9_judb;{Cz0W&cj%!A;3;MWOgnhkIP}0*Y_rmTymJ{1i=~s!z zGPPOmM1EyFHu@eWC8R4l!0;h{p6}2@mB1-6O6kgj%jz{-KO52tw1n>!X5<_c@`I)u z0XqA9AD|;BculMYeDp(nWs#%h7NuIQwts5MpN^TM6jU(BWr!S9*qDJ_3cc>ea?4|c z+0}qIR1v=von<^xEkfc;38b;>CC>~Yz?B5-`FzJ}( z@?(k4BRLmwFDBHs+62;4^fKPTaYb(W4E)bB$ujpw`RH)+2tBuKQkbqH8g;H>Pr}QO zn4_)ZCYo7T7F4C^iJ6;<2!8z=x&pQ%GQsPc@QKkbio@pi&{^}nOo*C8WgJEV_6m{u zr_`U@hS|JCKxamhvftQg3b%;Tg^3)O>vYRbx1yl<9U4s~OL-_Vfx{M?T9 zbtAbVdNn2{x$+tGu$S4ZQRlMTBl^eBh(g@51|CL*`m9&tuDtNlII|ldH+4@c_a-++ zG0?DI+54B^FR908*P`W*);{?rj{~l63k4Jn!a>r_@zr#VngB9axJP5`NOe8m;iUB6 zPi~v6EkzSI+YcQc>c*d%Iy~3EZU_9b3E5)Bi`2fAk6LK-Rh64_KRc=?5TtE^`#Eg6 z5j00>zn2$sbV@k5H<(`Wzf}YV2$cRf-lza$ph^#F-N$iMv-aJK2P`*Vq_%S`Xgj?< zHTKh|`8j((+W&{s)Zf)4W@CH9$vLgW@%FPiY0TF2LT>MBji}HEe>Q9!{v6-yct}jaJa5L$Wq6a8y8Scfc zEBnMrDV&>JZ~i@bN_q#1)jqvJE^CXjN~fXMyv{e2Hb?ZUF6j=PLdRR1R^fES#*2P; zX$||{sH)m*%$B7b&QdPU;-+(O7#DtD<5IO{OA##aCy%j-A;i=OJu?S(6a zJ$yGmVs`4-9Id|wPB{qIqc}L)O>bLsakv7i`Q9o;IRdH=j}|`QE6yA$xruK-zJ0&V zK2?`yhRzKEq{(eC>_+4|8J&3AeDwQBbC%mf%qir+8x?>TV1VoWVMZlqemC ztBOFR2VE<(M+QVv`2PIt|55xu(kcICj|G_4#% z1qOn1<-l`jm!TI_`U3vU>v#p@ie8=mLluTTPfi;kC- zDcqb$%GBZnQC90w0@?-w8tUdZP#8~(DrzhbLxM8nI^-aStguHSZu2oV)6aEX}Dr<`ReNj{WIU`BsN9fi<`K z<`Ab4F|le$%rj|F=&&Kkq(6xCEAsmR%d&!ZFeQ>B|wOZ>e-_XkoS){%}UJ z!cxJ1+P?GW-k^pr^svG=p9WP_m z`7|;TCo-zz+MS?#GycbIb#1G6jlWGB0vD3fyuS_tSQggt%+;sx@!8YYIEFb-W=IWy zM#{sMUbD=Ps0h81A-N=ZgnPJ5hWLYGN>bpXk8?7oSH5yl{sG9Z-O^86#$gnMoBh-S z_8w8QKU$xPI?@@qu1VM)vo=k-Y(_l5v?MB#q5FrxCq+^(?AN0bE%9hn%-`)s>4tiEGq+k!>PZep6F_p7m9+bC5u-OAYZ_AH?*oH>`Jkbif-D za>%Ws_jOvF|7c=s;_su2xtb|H0Xd!M@mDx~vG&u<=u^$BbpzD_1^q4r=J1zKgN+Cl9RA|Iy+}Urc^~7>Pd!i7(I8vjUo(2*1++ z!;zjnE##q?lsCoC$|o>-e;Y-%A1D}M72Am%nSji7PYKyF{ZK0J%@y2xMdX;d^~v0> zcQVV%&kDN4s!w=o-;_gY$9}94{s@5}CoO_*b;??4*X8#i@%WY(yxV<6_MaSo+@6WI zJ&?&Kg6tO$z4*g+0LdsqCoc}{I-t3OWPQ^g(aKxdoPB-x4S!a2uNjQy-oc=vdGrSL z@?*FwV;8ORIegE-_1_9tjJx=er{wX_nNPo--R!+?>7Hs=^$l-v1Oq3e50bVbJ62~t z&LjF}5CrZ`r+AS|y%nknOsZ#cdCJnm&ifJ;FP_o+Qf72yveq2ge>iq6aAqfh2ih`v z^^V(EvvcpzsE8hNP{1Q4ldcew{q;yG{otbWJYB6^J$6smUPK$NuDn$>&pv}2%~Z<; zjkH>B3TF1P%l9i(r;P3mk9gj&5%%Ad&zd`=T=y`p`OfS^zWpViWxh|*fc@MYCe`3z z$N|uW)b(Qm49H(_(EC>UV#b0tuLIaao@yYr{rl~qAn)1pGw~mX4cL%~q=rYFh$(Xc+#yY{DQ~Q?vGbSHh0B|S$G+Nu@3bF0HD%a;c(By!j|5C^s(8D;%3s)I;?y zK6AT31}DOpIX6hP;B%7xY|HApe3(b}W5ny`vjlZh z^FpdR?gUqtfpifE7J&1f>;M29>I>>0XOZ97fIW@O73}8pT`G&d&hy)Ru40^zZh6!( z1kUk~A<%-a3pu)#H|7Emuj$^7+t)@{T-FLyZrv9#x(}(jidyL@SV`27zfcla5?59Q z$`2X%M88Pbeo~z)bMoor4rHWG5n5`yVa9l|$=A52HG0pG$d>QqVzqtUm^GC)1-v)@ zvp54~BoL(Ag-SR5>@@w-WdCkdIuUPOdf>W|(gm-lzS<7>j z>ku-MwSNb7_g&!bX`Er(l%X0-ay_iEz zseiFbCVbRIB2O+x>mYY_*dR!w*5qTI>580u9Bv$98Zqv=o3rk_~~$Q6+7RXBblW%MuAnny9~TkOXea6t?XuYBqp z498Xi0q&IRp1O~s)4n{Q8|*rdga>$u)ieI9>JzW3tR>!cp&IP>h8-sl>t7c;U(Xo+ zjI!9Z`;UW(GAX{XJU18^ih?|(+-N8RUp}3GD+M*iqZpz8AfvCf5%~0v&Fb~o!?=kp z;>RT!)SEtY0s5|h=1hIMcUrx`q%s^)?wXU)mg?@j=~VL~&K^;Hul~|WW(Vqc(#5`Y zgy&DsXR&77?ybM}K{uk}hz$VqJoEpwT35a-0GgnD3={O&mXd|mQccw4KIF)5xRBs8 zkIXQ_qtZm~$ap?MI)|Kv+wNnGOo+`XZ)NuZmMumIMkXdm|iC*K8@<_wxHd`GZIe zTMUArDv4*9yh|5BC;GELZ{JRbm}AB3XvZL2JCq}b!vj{e+Sl9l zF26|SmDhk}mly>uQSO%-^xFNeOUqMCG#BT!DLKaxjdPV*=GLybGuStw|J?;pf8as> zpv$0tpK&rf7lIvhQ}i9rlukTIU6w&nS*WL+FK%+G!|QO@%`8MzMv}DaKbXH1O{KbC z8TjLj{2GL@cL!c9Ek5cJI{xov zU+2%RUWqIW%917izHX$X!kFxrCEW`6SHJ>C98*G~(D(|Sn?}5fJU{ynGW}YN$oMTkq{ugF_eS zR+r1qZ=C#Z=cRpB zxO*WmFYeA7_2-fvxmrs3yM})mMSM4uSvA(}FT9nL@j2G#ORhz{xi zrIWRdwcEP$1`qx97{{~&(d7+>y0fGl1Uo4+-DX+wQ4LGG5WBi7UoxZY-^)Nk1fy*iH@;fyOcy~sJ7s)5 z^HF-(rAgvCUlNn{BHTMY&9ywsgZVFMk)eGPbn~?825V^vh~#&eY+EI%^yKwk`l3*O zFiBYGK1uS|4rIR%I1_WWO3~=1cO#nLym>8GktbE6l6|^DsY}c;fc40TsQwEEBmzQU z#$OUve3!4EwI2EFBy#Qrp?GG-UB}nd>49(L-ZVs&uk?sL@W-E&N%lm^?dNfuu>h(u z-p-+XsWE}>-7{ULS!~27%m`(aw6PPlD>T=PK4hrSjjtr5nlL0nzkx`(f-JbNiA>lCL&d!{W=|>$}mfnn$3@e2b+`Yu!ng5*uC^ zW7OYQ=j%^)g-tcRiRu!=*Fv0rS@jTn3Z3%w6KB^@1A{_e7DUUy-Lws_S3I+9f`dFs zff*pMmC0!B^gr!?-nCV7EVr-)=xk4U_lA^GmY&j5X0}~`#oz%53^lsH3^vW=5K##T z5+}~M=bBfnnLtWWWuE$BUN#iJ%@IW=7wC$e6kPmqU_@l@Y%ln#Gb#eiFIDkGvOgOZ{<&Pc}E8muRJQ90d!O~3)6StuO1iu$Gk!18L8 zWx;Rxg?@i@2@{vEe^2B#kvUtH@J9D4PD+oz#!l7bAo~?B?&q_CJ!8QEd0eOZw%DJh zq3{@x_i8>F>a}rZu5ZXG^<%fiSjY7-AZbNs4Ve2eDATLh+Y86F-l~=T-a3~-D@9FF z5!?9@ui$C!P+oJ)(;L2Wv=iO+HyQ}>)d*74|E##He(VQ|s9^Bb9Prf+u^j6H-5zn< z8pv_dt2TC{c`BSHXd%|d+rC$FAoaGy|GBD^~_SZ$_axM+!A`c`|f`5m7 zE|5Qbmi+|T8#DOfnpF~tfkB0^ZL{rbtJkB*b1*l)?E$3LsYUP|X$=ny-T&O;J0``a zRw2C=VJ}jqh9+MS*qFbLBr7o`jrS|2q>6v>!?!L{j@3#|cv#PVv#@zAb&~ z*Y8!7?f=QzdFQe@01>s-*n~J!~+ps~V;W6K7*ZisPJ(_2Wv-%V!V?s3+tz+XIXnTp*z2&uQ$w)L<*@jK6+yATdeD%C#8`ii7weW?1g{6T^#K0v=%dvtavw8pmGH4gYnGFTJ?UbD{P< z2F-&XT236X{;*N0`jGj~J``E#tbZGC&;qT31_(^Z&YW|nrV8~Wx@+}RUS(^-5rwmlDB_j1m__J(3k5_2m1NQ$* zGR~cbYbiBH4gdB8X6Oy(RIq8ihpFO)p${spt=A*)*!_?HY;Nldv#J=k<$UI1K>k65 z?cz1lHm5W*$^%VC?XARcBitQ-yl`T+LEabCML}I`L zd#`_77^YH5$2Uj9U%F(qa}S){DS6~Rq;OhKr+p;+wWt`7S~RgPkDp2fY&)!oAK#$9 zyY%cYDMocR`K(`^%e;d-kedBWNVtl&2|oWx(I99g60fjlrJXyieM_XUS0r6(x?A^w zt?`smzto=ihrHbUD9NnDB3tcK^_9dPv0v8_q(H`gbZ6)cg=Hl#x>;lM#XHe#$$#K7 zLcy2;%@cg6wjRDFai1<^#T_lBqaJFPvoO<<@I8tAYBK#gVHfv~H=#zxzblEmoK<_S zXriS(x{va^OBE(sW>9k?wG;n>@~}I*D{0kTZOd%W*9c8yzn<|Ol{Qcl1&kH&fZBg8 z)%%Oc@q1koi2j}^OU32RRZT24hnRHut40{J;DJaJ=J=RwBNx z4Lp-!l>JI;lDM2w`N8h_^d@!ZitMY9v&&Aq!_OF{E{=k~a>13OaLY!w9NL@A1K?Zw z+L~B5l3bEfrt@Jrw)KUmJx4|G`*mbnI{AYpAIZXqNcgO!DzCy*Ej>wD@?E_GGotMb ziLYevnH)5NcQUPCU0_W?R4>R+_Wx5E`UX5(R1&^sD(igW9@s07gUk$Jdw}9DCsFA= zQ!!>Bhp61>!*XOqJmM=Ey#3Dt0-a9WmQtmPDDuulZ zQ0A3>n@C!)cDi-t)#rm&c>`bipd{{MxFBlT&muQKl&Rdl3x#?sA`P3bTK{jjGUc4W_aPN=yb_EgZ4`W zyfdnMVEd|HMV}@T7P+rXLsE~Z35P8<=Tw%Jiig&$hQt>}Gek;A_Puw@&l^+Ds z4L>mX3cg}*B_=D9gJ()s1WR*O8qLlz)EbzN*P%rIXMFLe$_4E!;;87CL{(OE>6_c! z0>2lfCa^{_4Zfu(`%??`#>^{b`+vI)+n0~Ptay}RGBMnwSSY^4$|#d z?k4Q9ZqlrDJzo}X_fC5g4R&1cHC^~C=Z4~bQ8JqI^619)ZR`#&A<)aObYnaRG~MRd zllEzH>R;__SvskDeIiK^{w{s@><)(9l*|1#28PZV^k>|U=oks+Lo#>p6!c{uz zrT^L#yO56q{`RNw`s#Lb(Z*LKlU&<)-NyFz4%9p|#dCZ(uruZ9RnTTCXeB$l#X3J` zZzqx=EC2O>BW7e|V|u(;y#|tf-$X*QtA%RL-TgP+s?}(h(O+geFT|B%YJdhAK*PMH z0RebdXJo!6klWFTp;JM7=@H|}`7@qkmpz|p62 zwR)zAq_;?w!ueZ2uD867mZ8doR#y3&x*aJ2VYR`p-tJR6)E>S8{FDEND3p?BR|1QA z03+$<&!og=G%nAu{{EI{a+k?57A0lk^8Ss*Cxp#^0GsvC zv)hoYGo$ZOk~{(bpr@ErM_u0K|~;_TS^6-W%4($#A1Fa_$5ny zmkMOVCLbyy2Db5@dLuzdX`9KJwfjEVGyVNw{d~3TA^%5c0E72H(TUuQIKfxano8nKPHes=)Xjd(5@J~G)q;l z7%8zxp_HmE*86$by)$`{;zA9Y8MOwDv<4Kbj`h{64u7+!7w!Ue1fCKuD`O<*kz2f) z^K@0i(y-cHE24JiUw2gTJ}TJvNUaUQ2=v(_K3kbUPw_=6Ucl5^le73>jIGjqZAFKX zhGPg}IcVer-XPo-Jv8786A_taP?&RytV|(>Vc!29tz;yzeEPs%izQt&wW~J{$NP z|K3q^qQ61A_V<^MT%CB4x80Hp?j4$YJP&(I7K1dSYpEK~?e1yaS#$!hTiiJ{fAcg#G>=M#jdVk#hwm*wN8(h_HgfXuP=G}Fr~AjYo- z2ffr8YC!`ed{2E&%KWuEiEj?^d6pVmTr0+N5yO#wqjuX&&jMg-2h1tl}NoG2Ti8Ya}KHpo(M^796INs(S$~b5dJk zu(8HtH0H{0_2y)ifc80d-^{J=Tj<+=<{DLRLec`qGKqK3rnxQ?3|6jyQmpnO;&pNY z8npf24Te!|)x8F)3MZ;aEV~ZF;{6964G3fDb--WQd!AH%tW9X!2nOuuEv^Eth^E-M z_QmSyr*B^?q@|HEWZC;Y1@u#eEj-v>1k&cFPxiz&h-%gewszT5OOlUfO7MKx*l|0Q z-Y(b`(RRaUuFt!r_vJlhUNv9Wu)pF=5o_i1{wj*fb)B}5;&fz!=w+)sFVXH6tNgJI zqI!93!pOobpZ{O>+>NNb(8F2I&Gd|DYO5rrDUT~I7v^ zIMiQV`GX4iho+N}|AMm5?$B%F(Qh}E&*`~;!6uLFymk=qGNy@enU_&BuOPc31Do_u z(lN{5)c7uhCOPrBX!wkVAD-~{T{HML3|;5@XR7bWQmR6efp|6ba2WkryA#gyLEBL@ z&}?(%&)Rj4QrlIEMyL*HhrNbJ854C9JS(wy!MjbWwD>t1nDw8~Oo#2WAO01ssJ{UD z1&CdKbCZoUuX(f?GgV3_A6Ql`tat}ei%J-}lRsWQYs&{9A!5ZIc}@;|v$PC5V}GV_Kti25AF+C;0X{xcEox;v8PDx(08 z8<{$EqBpIE-709j5Nct0v8`KcWj0l5ppPQrcBy+@d$FUh69IXUrfFHq85tvAN~<+~ zSgmIoh36*@^6}{&Ll)VJV9qC78OO8=3J5WrhFQAdW2mLh6w1(<*4 zw3IDdQNubRh`#;;$1O)UGTw70Bt5Q-N0^UwoOm)QUSnl;iF7CQWXsgrdxarS0t8D7w@IiOOwY$OI@2Jy?Q!_Fgk z&9hc-bT;bga|p=MG;7z%KhsWKtMc4y#lo&evJcu}%RTDUqpqoa1t?JmUSwH>h_=6> zg39UEBfy$>4t!9PD%`H&*(hJD<~ndz(X%P7uS>E(Nb&VP@#neMw*m$Ips=YkcDY+r ztDmH9X_^Kk$h^kepz35N>~vaNW1d!*4oNTVNkhq`JEos9jr3z1HKRz{TAN z`4i%Cs2udkj%>WsC&D4N<@u5ALGz&=NH{z8CP|Nfcsp)ImuWr%qCx0g-m5z+yF>Z9BVDVifQ?I9!2kIdexy-%9zFf=&y ztT6>SCY|7zNS_KRpJfic{sz=z2ee?0{TY=P)2iuXFDqSx7l=_c{l7K6D1P! ze*)+)--tit({clNY00!Yb8KCi^Bnu5`C!7`PCUn+sG%or{6#0^j>%FMMw8F(YU|4_ z;*0hn6=eJgI2l{@9j z)7(GZ``h0+=a4OMtoIGM5}Iw28Y^TJMpL8pV87ju=XhE^^Uw@N%RD%Q)EC{J9`?MB z=k^;9=l`d)Rx@iPnYPHsTR5_ho!#ep8*gT7UO8F|&gulZNNuBH+uI3UW^a}Z#B$hx z%#fKaw-rZ;k8Dv5lVp$<5L!>))WO3kCp$CW+B>AEQB^~okC{x99{)Z}MFpCf9jGlDd*ut6Du$qlmwy=k{k^SaOVp=IvOG2P8y<1WA0wQ<{FEZPTnT?p6N3%jE&yh(5;Nt0{Q17h(^+MZwbf zL(3KBFUJh2&yYx)wy(ftVcEf{98yOTZ2bqLgIb&yhC#?5zj48>^vZ|y@1pt;zA)|= zdNU!CpYQ`TP0+R|Zm8C~&%T+-3tH2hbnJc5@I~6!Ph1_ovxbyjafRmFZ+oh8wzYHX zE*WS$Omo1d!s=v*STR5DN=uR1AS3P&rHV&qh>uI#%MB;@>Ep$*_{I2WHHYeFg^eMh zz80fG`{&u;>6BY53*(h>TIVSozXYK;gH=NYo$}8PPS(nA<$(3^kQ+8re4pvqH91ez+vXQnb+$J z#Fc^*LM}Ciu#yjs8XbiQW30^b>wx%Ja;y{aGX5$~12steDYbMcDJu3(wOsbJGJ;@oR|M zkl`cNJaBgSdvlr*Y*2&ta1RP71{IeWnJe>OlkZ5570yK^1wIcOT^I6CK8~3A8?I#%&a{oAZ+X<;^P4fF$Nlc?Ku;Nr4{H=_r{ZQn5|30$JPb16e7K)rvi z-Apg@dToPwR&$Y&vjaW#!sr-(+TYnOL)$fL#a0(Ty1R2huz4{IdMQk{lD4tHrQ5C* zHq{t3e8i4DmAmeu1ASkxmuuLY)}Rv|b{~p8@uQJl_qz2!8yP_254&Mr8~i;{x(q_( zJz@5c77QwIPn}|=DUU2Te05e^XlJm`7qM=A)yydR)A@akk;Sf0QE9Fe4rvJpX#^5j zT5+zVqed&vDV*tFCU;{3t@Sj+(2)u!WxLRxtx-{VRe{Cq{XJm!_`_>3fvy`g!%Aj_Pm)$u&P%T^-HbY#+VuD58Ro@|Zk$DU zPhS;>zM29DH}S&bz_YUnPa}E;4@2Hg$9mtTa?6-je&reK+fw#a*2K&2?cza-Jy~kA zIo~Z9dt_DVFYUU1z}?H8U4~9z8Vx?KgLow3(Y?iLmy`B;vSc7?YBa67=)3Z+LpU<+ zwvkx%5`kv8z));)(FmlJQ+FxPZVvr{n-DLk_WP(e3ZZ)}M5)-_ORcT+z`zu3TWNaPU0r5!|Ja#bZufF6BNUqnfbUtQ|EIkU@EXliqN$b9-_7IWQfH}2D+U{ z1d)BZfxQ)~Dj+agaGb>PQkR}AC4gBO*WAbcb8~;u+)YtW20v5o_*;UCcokp&=nEgg z&+BO{?g=AX&b64#)WY|)o}yeed@X511x&Ig+55>{!jq1zL}|ksi}s7ImUbEk^ut{G zUPqti(Z%nr?R%O!ahmnjy{a(2k89PT(OHLYX0ti$Z}G|)LhS5VDC?vD=_-^XZEj

UpIP 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 V>&;bb!V$U+P8c08JnDG;{{W{83l{(Y literal 0 HcmV?d00001 diff --git a/main.py b/main.py new file mode 100644 index 0000000..d19c9b7 --- /dev/null +++ b/main.py @@ -0,0 +1,257 @@ +import flet as ft +import asyncio +from shazamio import Shazam +import json +import requests +from bs4 import BeautifulSoup +import spotipy +from spotipy.oauth2 import SpotifyClientCredentials, SpotifyOauthError +import os +from pathlib import Path +from mutagen.flac import FLAC, Picture +from mutagen.id3 import ID3, APIC +from mutagen.mp3 import MP3 +from mutagen.mp3 import EasyMP3 +import tempfile +import logging +logging.basicConfig(level=logging.DEBUG) +logging.getLogger("flet_core").setLevel(logging.INFO) + +temp = tempfile.gettempdir() +# Defining the Track class +class Track(): + def __init__(self, artist="Unknown", title="Unknown", album="Unknown", path="Unknown", desc="Unknown"): + self.artist = artist + self.album = album + self.title = title + self.path = path + self.desc = desc + +async def main(page: ft.Page): + page.title = "Cover Art Retriever" # タイトル + page.window.width = 800 # ウィンドウの幅 + page.window.height = 900 # ウィンドウの高さ + + def collect_files(folder_path, tracks_list): + if folder_path.is_file(): + if folder_path.suffix in (".mp3", ".flac"): + print(folder_path) + tracks_list.append(Track(path=folder_path)) + else: + return + else: + for target_path in Path(folder_path).iterdir(): + if target_path.is_file(): + if target_path.suffix in (".mp3", ".flac"): + print(target_path) + tracks_list.append(Track(path=target_path)) + else: + continue + else: + collect_files(target_path, tracks_list) + return tracks_list + + async def metadata(): + try: + global tracks_list + print("Starting...") + print(tracks_list) + # Let it Shazam 🔥🔥🔥🔥 + for track in tracks_list: + target_file.content = ft.Text(f"Processing {track.path.name}...", size=15, color="white") + page.update() + track_path = track.path + shazam = Shazam() + out = await shazam.recognize(str(track_path)) + try: + url = out['track']['share']['href'].replace("https://www.shazam.com/", "https://www.shazam.com/ja-jp/") + print(url) + req = requests.get(url) + soup = BeautifulSoup(req.text, "html.parser") + track_name = soup.select_one("h1.Text-module_text-black-200__8cY0O").text + tracks_list[tracks_list.index(track)].title = track_name + artist = soup.select_one(".TrackPageHeader_link__q0Id5").text + tracks_list[tracks_list.index(track)].artist = artist + Path(f"{temp}/CoverGen/data/{track_name}").mkdir(parents=True, exist_ok=True) + with open(f"{temp}/CoverGen/data/{track_name}/Shazam.json", "w", encoding="utf-8") as f: + json.dump(out, f, indent=4) + if out['track']['share']['image'] != "": + req = requests.get(out['track']['share']['image']) + with open(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg", "wb") as f: + f.write(req.content) + else: + print("No coverart found!") + except Exception as e: + print(f"No results found! Skipping this track... \n Error: {e}") + continue + + # Contacting Spotify for additional information + global sp + results = sp.search(q=f"{track_name} {artist}", limit=1) + if results: + with open(f"{temp}/CoverGen/data/{track_name}/search_result.json", "w", encoding="utf-8") as f: + json.dump(results, f, indent=4) + track_info = sp.track(results['tracks']['items'][0]['id']) + with open(f"{temp}/CoverGen/data/{track_name}/track_info.json", "w", encoding="utf-8") as f: + json.dump(track_info, f, indent=4) + tracks_list[tracks_list.index(track)].album = track_info['album']['name'] + req = requests.get(track_info["album"]["images"][0]["url"]) + with open(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg", "wb") as f: + f.write(req.content) + cover.content = ft.Image(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg", width=400, height=400) + info.content = ft.Text(f"{track_name} in {track_info['album']['name']} by {artist}", size=20, color="white") + page.update() + print(f"Found {track_name} in {track_info['album']['name']} by {artist}!") + else: + print("No results found on Spotify!") + print(f"Found {track_name} by {artist}!") + + # Adding Metadata to the file + if track_path.suffix == ".mp3": + tag = EasyMP3(track.path) + tag["title"] = track.title + tag["artist"] = track.artist + tag["album"] = track.album + tag.save() + audio = MP3(track.path, ID3=ID3) + togs = ID3(track.path) + togs.delall("APIC") + togs.save() + if audio.tags is None: + audio.add_tags() + with open(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg" if os.path.exists(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg") else "CoverGen/src/assets/Cover.jpg", "rb") as f: + audio.tags.add( + APIC( + encoding=0, # 3 is for utf-8 + mime="image/jpeg", # image/jpeg or image/png + type=3, # 3 is for the cover image + desc=u"Cover", + data=f.read() + )) + elif track_path.suffix == ".flac": + audio = FLAC(track.path) + audio["title"] = track.title + audio["artist"] = track.artist + audio["album"] = track.album + + with open(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg" if os.path.exists(f"{temp}/CoverGen/data/{track_name}/thumbnail.jpg") else "CoverGen/src/assets/Cover.jpg", "rb") as f: + picture = Picture() + picture.data = f.read() + picture.type = 3 # 3 is for the cover image + picture.mime = "image/jpeg" # image/jpeg or image/png + audio.add_picture(picture) + + audio.save() + except Exception as e: + error.content = ft.Text(f"An error occured: {e}", size=15, color="ERROR") + error.visible = True + page.update() + + text = ft.Text("Please select a file or a folder to start the process.", size=15, color="white") + # I copied this part from a website + def pick_files_result(e: ft.FilePickerResultEvent): + selected_files.value = (", ".join(map(lambda f: f.name, e.files)) if e.files else "Canceled.") + selected_directry.value = "" + page.update() + if e: + global tracks_list + tracks_list = [] + for file in e.files: + if Path(file.path).suffix in (".mp3", ".flac"): + print(str(Path(file.path))) + tracks_list.append(Track(path=Path(file.path))) + else: + continue + return tracks_list + + pick_files_dialog = ft.FilePicker(on_result=pick_files_result) + selected_files = ft.Text() + + def get_directry_result(e: ft.FilePickerResultEvent): + selected_directry.value = e.path if e.path else "Canceled." + selected_files.value = "" + print(e.path) + page.update() + if e: + print("Collecting files...") + global tracks_list + tracks_list = [] + for target_path in Path(e.path).iterdir(): + if target_path.is_file(): + if target_path.suffix in (".mp3", ".flac"): + print(target_path) + tracks_list.append(Track(path=target_path)) + else: + continue + else: + collect_files(target_path, tracks_list) + return tracks_list + + def spotify_creds(e): + # credentials for Spotify + if spotify_id.value and spotify_secret.value: + try: + client_credentials_manager = SpotifyClientCredentials(client_id=spotify_id.value, client_secret=spotify_secret.value) + global sp + sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager) + ping = sp.search(q="Never Gonna Give You Up", limit=1) + print(ping) + response.content = ft.Text("☑ Spotify credentials are valid!", size=15, color="GREEN_ACCENT_200") + spotify_id.disabled = True + spotify_id.icon = ft.Icon(name=ft.Icons.CHECK_BOX_ROUNDED, color=ft.Colors.GREEN_ACCENT_200) + spotify_secret.disabled = True + spotify_secret.icon = ft.Icon(name=ft.Icons.CHECK_BOX_ROUNDED, color=ft.Colors.GREEN_ACCENT_200) + page.update() + Path(f"{temp}/CoverGen").mkdir(parents=True, exist_ok=True) + with open(f"{temp}/CoverGen/creds.json", "w", encoding="utf-8") as f: + json.dump({"client_id": spotify_id.value, "client_secret": spotify_secret.value}, f, indent=4) + return True + except SpotifyOauthError as e: + print(e) + response.content = ft.Text("Spotify credentials are invalid!", size=15, color="ERROR") + page.update() + return + else: + response.content = ft.Text("Please enter both your Spotify Client ID and Client Secret to start the process.", size=15, color="ORANGE_100") + page.update() + + get_directry_dialog = ft.FilePicker(on_result=get_directry_result) + selected_directry = ft.Text() + + page.overlay.extend([pick_files_dialog,get_directry_dialog]) + cover = ft.Container(content=ft.Image("CoverGen/src/assets/Cover.jpg", width=400, height=400), + padding=5, alignment=ft.alignment.center) + info = ft.Container(content=ft.Text("No information available yet.", size=20, color="white"), padding=5) + spotify_id = ft.TextField(label="Spotify Client ID", password=True, can_reveal_password=True, on_change=spotify_creds, icon="PERSON_ROUNDED") + spotify_secret = ft.TextField(label="Spotify Client Secret", password=True, can_reveal_password=True, on_change=spotify_creds, icon="KEY_ROUNDED") + response = ft.Container(ft.Text("Please enter your Spotify Client ID and Client Secret to start the process.", size=15, color="white")) + if os.path.exists(f"{temp}/CoverGen/creds.json"): + with open(f"{temp}/CoverGen/creds.json", "r", encoding="utf-8") as f: + creds = json.load(f) + print("Spotify credentials loaded!") + spotify_id.value = creds["client_id"] + spotify_secret.value = creds["client_secret"] + spotify_creds(None) + target_file = ft.Container(content=ft.Text("", size=15, color="white"), padding=5) + error = ft.Container(content=ft.Text("", size=15, color="ERROR"), padding=5, visible=False) + page.add( + ft.Row([text]), + ft.Column([spotify_id, spotify_secret]), + ft.Row([response]), + ft.Row([ft.ElevatedButton("Pick Files",icon="AUDIO_FILE", + on_click=lambda _: pick_files_dialog.pick_files(allow_multiple=True)), + selected_files]), + ft.Row([ft.ElevatedButton("Pick Directry", + icon="FOLDER", + on_click=lambda _: get_directry_dialog.get_directory_path(), + disabled=page.web), + selected_directry]), + ft.Row([ft.ElevatedButton("Start", + icon="PLAY_ARROW_ROUNDED", + on_click=lambda _: asyncio.run(metadata())), + target_file]), + ft.Row([info]), + ft.Row([cover]), + ft.Row([error])) + +ft.app(target=main) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6b0f9c29b6a875c504780476b6a03dbf97c97a3 GIT binary patch literal 2558 zcmZ{lOK%fV42AC+iJy|FNehJq3$}<#NUT^@$)tHen@ML9((>bh^ZAT36CN66lGeV* z_OX5Lub;EBDRo)ueP8ZMTi)rJmdi5Mdt4^vWqDETv)1=c&$Ima%=P!Zo;))yS2}TZ zc4A-lIsqn#6Fq(pQSCD-jWG9mKX*Bd%iBLPXqDxvY$Gn1pgB|H-Rt~H2;{jAl#4*P z);sgs>U=G~nLc-AQAYZHmVegH3H&d*I<~UH5b>ywcxh`Ct1ic|WiDx>s^-Ma`N_GW z&B{R@8!>+f4r_hy6d~hGg8$3NVlF?bhMQV%SAZwk_N-UJZ93FVAWh{l4G-f@^c$`! z@dMsMC-&j_N=S6v`KP@N`zRtdEP+M(C9!(6D3jacaGgnP$h?%9BaK9zpqLyui+`q1Z9aETq;)nGrj!hbmB zXvNA1wNA2Q>*&Hf@U0fRiLdqCft?W z3|M4pw^4D`#j(O=q;rp3;jt~|mCCHj-e2P#q`}FoC)#`XNzqo~g$dlBG>BZ75_b>; zYGyjEyFod&_7{UN%$6ee7mfxHihbPOIYl?Mv&_iaEd>+mOee<|!g)VGU>i8Q*F%*HfE8$v!AYxEx`JyD$t!_H_13NgLgEW z)00qT&U;p@;cP0Jg$g@|>tMWB)mG1>vrI*N3X8)mq+0$59Ttmo{&$XMkyWQne%D5Q~lsJL7n83nLF= zBw0r*vt#`vSOxp3^8NGwiOkvO&b{ceHkwuDw#$$Gq)O)8J@H*ityTrACwJ~#3}vlw c