From 7c8b0dd7cbf43c0f4b8b14965fae6c8f1f5f34e6 Mon Sep 17 00:00:00 2001 From: Krateng Date: Fri, 4 Sep 2020 16:36:35 +0200 Subject: [PATCH] Updated scrobbler --- maloja/server.py | 5 ++++- scrobblers/chromium/background.js | 29 ++++++++++++++++------------- scrobblers/chromium/manifest.json | 4 ++-- scrobblers/maloja-scrobbler.zip | Bin 29167 -> 29034 bytes 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/maloja/server.py b/maloja/server.py index 1451717..adece68 100755 --- a/maloja/server.py +++ b/maloja/server.py @@ -239,7 +239,10 @@ def static_html(name): lc["filterkeys"], lc["limitkeys"], lc["delimitkeys"], lc["amountkeys"], lc["specialkeys"] = uri_to_internal(keys) template = jinja_environment.get_template(name + '.jinja') - res = template.render(**LOCAL_CONTEXT) + try: + res = template.render(**LOCAL_CONTEXT) + except ValueError as e: + abort(404,"Entity does not exist") if settings.get_settings("DEV_MODE"): jinja_environment.cache.clear() diff --git a/scrobblers/chromium/background.js b/scrobblers/chromium/background.js index 11d297b..dcda636 100644 --- a/scrobblers/chromium/background.js +++ b/scrobblers/chromium/background.js @@ -1,5 +1,4 @@ - chrome.tabs.onUpdated.addListener(onTabUpdated); chrome.tabs.onRemoved.addListener(onTabRemoved); //chrome.tabs.onActivated.addListener(onTabChanged); @@ -303,21 +302,25 @@ class Controller { function scrobble(artist,title,seconds,secondsago=0) { console.log("Scrobbling " + artist + " - " + title + "; " + seconds + " seconds playtime, " + secondsago + " seconds ago") - var artiststring = encodeURIComponent(artist) - var titlestring = encodeURIComponent(title) var d = new Date() var time = Math.floor(d.getTime()/1000) - secondsago //console.log("Time: " + time) - var requestbody = "artist=" + artiststring + "&title=" + titlestring + "&duration=" + seconds + "&time=" + time - chrome.storage.local.get("apikey",function(result) { - APIKEY = result["apikey"] - chrome.storage.local.get("serverurl",function(result) { - URL = result["serverurl"] - var xhttp = new XMLHttpRequest(); - xhttp.open("POST",URL + "/api/newscrobble",true); - xhttp.send(requestbody + "&key=" + APIKEY) - //console.log("Sent: " + requestbody) - }); + var payload = { + "artist":artist, + "title":title, + "duration":seconds, + "time":time + } + + chrome.storage.local.get(["serverurl","apikey"],function(result) { + payload["key"] = result["apikey"]; + var xhttp = new XMLHttpRequest(); + xhttp.open("POST",result["serverurl"] + "/apis/mlj_1/newscrobble",true); + xhttp.setRequestHeader("Content-Type", "application/json"); + //xhttp.send(requestbody + "&key=" + APIKEY) + var body = JSON.stringify(payload); + xhttp.send(body) + //console.log("Sent: " + body) }); diff --git a/scrobblers/chromium/manifest.json b/scrobblers/chromium/manifest.json index 16a5ba1..7b9fbde 100644 --- a/scrobblers/chromium/manifest.json +++ b/scrobblers/chromium/manifest.json @@ -3,8 +3,8 @@ "version": "1.6", "description": "Scrobbles tracks from various sites to your Maloja server", "manifest_version": 2, - "permissions": ["activeTab", - "declarativeContent", + "permissions": [ + "activeTab", "tabs", "storage", "http://*/", diff --git a/scrobblers/maloja-scrobbler.zip b/scrobblers/maloja-scrobbler.zip index 6db390db8b7e8d20256c903c3a22d1f56ff0dae7..ccc7eb19fa1aed763359b0274b04e7a74046cd31 100644 GIT binary patch delta 5802 zcma)=byyVL9>mQP`OL4*{JziGUdH&egn?3pVqt@@001Ds$B$jjt(ZjZ4gmnr z%me@s0{{S16Ej;YC%CJFIlql_=A#X#>ARpa2FW)0UZ2~dPCiTm*L`^ceK9$F128zz zCSyZWTHx)_S<^p6k|&|6Pc-%d1%lqT zVGKCK0^@3lDvar+dkFb=<>(&w&($)7^Lio98I#%LGu`{V$$HEq;9U3H`0xd~zTq0F zM2DBfCJtEE<_!^K;$uZe!|Yw1vDDVWXePBHk!=j=1l!EiK!F&j|VVpTXa- z6~`|kbqt+n%d|(uz?#XD#)U9oBoK~Y>)wcQ{?-Pcl()+U&z5=nDN-T@z>LmaKz|gqKO)al&{$OgT`dqX8qCTF3I%&E+zH!0&#mwg^7M>D`yDOKgdr zuW~iDwWyqKr_?6jYCXppFf0(Q+EI#Cl+}<=-PuTvTx*ED+UX<95LrE{$SFCHea+e8 zP`_{_W-<6%Kza#{a5*>B@r8~H4~MDt04m)L=vAp z2&LF)=a_YLMnE8<#u;1v8>vb;dn6p^oJ8ykNg%c%2A&%cTh}vR;&7YpNv|lL2A$Q{ z!K4v2YdsC@MaMJm3eYb~Rw59q7zi}hqPzrHOR+>SvtCS650onZUT~ldh31+ITSMq> z2=SR~ja3OOD|oBV;KDtR^s7|Clk#+*C7Lk?ZeQ!@EJz=09@AY)^?7?f?55e}9V)Zr z3s9b=PBY8v#q$T4aR*m%2U1{l=~ND}WM60XY$FX^5XRO?N>rnh(I5n83{c3m;Dy&8 z0WgP1-+9L&#-V#=`v(vdxhrWeQ|s+F5x55_(ZO2bl^-+lVzIG;J2$+gp6(M;g={27 zYrQE3-30O8y_@yDJ)ni3WUb+QF0Wx&e)&>&+3nTG&sFBx-@FEmU=xD9?uiH|OohWY zV=CZWBUgc@eEm`T-p(QD+Y_5nD@ek&{auE|#cs&}@#;!4@#pFWsO?wo-5J$zsX5B) zUDTxT{5*bWz257(2(Hb;PogyGy({B?&Fc7a~PZ25s?xY@;z7bEm@XElRY#i2Wz+vH5< z{C#zUzEWNIV@MsQW z^=D5}wlk&}Qk8=$fRC`#xx?L6OY?h*O$ZG3j6*VV+7%k^lk(*e^C{uP;HLqsOJqzR zdh+E25AGk4ljbBqlGtbj;%wsxu-y84rU^3ZeufiOW9WHQ{ zU~>DKF2SUQYw{xsIu0HJ7XL)pvzK4>TZab?y&xe^4W7w$KM`Y0@!sZw-df3|yyX@} z6<%n_BefkGkIK@-XvlYC(6)LyR4DVZORrvm?A`IVp2qP|LV=xCJWN!++-$7;dS-nV z&Q^)ZR(OKQrZ*dV;ry^44#vo4MgUg~0z|qj_iHgBH&No|>F8Cfz_L?zduq!udvChWy8^Fq zBD*)(X_Ti^x}iaUO?}e-#h-OzG+X`?F3CI-sr0vlRzb|fzUT6yolx`e z-0$MoxB6;eMx&*pf-pQm(;}uJQbnrfPML@=RePK3quQJP;$QD4Afd6e;9z4z7(zQ| zDlG>E-Y!Nju~1^GBfpXWj8ozYJ^Kf@)|twZ}70AWB~EQ-TBsZ-lPBE&-m)sz&sc&f@xe^UKaI8ymoz6tT1` zm3{Qygjv`JN~@8h2g;v5!JdrqH9cocXL!ycCT}mn<;+&<=*hWh2yF~wwL~bg6ZcLr zlr6bVhzgYztlf_^sYp$YI|Nw1bbk$jo}nlU}o*tD>>1EF@+xj!Gxf$@`fbiiRP zK098)-%x_qQC;6i={#=K6%8cHSo+1zv}!lU7!Svbb>@E#Xh+gll)lFbKX7MyvSuJk z&_3l zD^kAIgGY^+1zBMoD{8syNpX>S*q|O7q@sN~NQb|2xLUBE(Z0 z>(MQ;MTxZeNFy<}GdxzHzwTrmYQCLx<(5t@g|tnZTjtW>s#CoCYP1LNDueiObk$c! zJjAK;N9jk*(|)06kMV=wN}I)gv@K>{=9rXduTitsKo<0vzu3uZREb7U!;~l}9o6H< z%y@L%&|kv3?xg4O+_DifGaOy3j{v3DSd#|QCb?5UP&Df}uz>c<2l&es9w62*0 z51p{W^%DEjz2hsEq?8D>5=_eVF27L4<>(AaH-;~K~Hq`m!vy;C=%@05gog^N=a+EkLvNwi|uv}zDQWf7iGc2j{P zZxnWq*JmsY#+gFJGh9_D5f(PVh57^lvU6C~O7sXgX|Vs81+r!H{g?@;eI!5u1K8CL z!$!7PFaQ8v%pcm+-oycBY2oa0p-kZp$0s^8Ss3!@w!EGI3{C93zw#<64#ZY!a5#b zSq?a&)N>4>^cqcP71%;?$fI~r z!rYJMi2_S0tSkIzR-}3%TFHN(gvW1vQ=dNMVVUmje5c$!T~hvM90ToNk$^~uZYV>x zsK*Y;66sNO^iuEZ(}>Qpg%dqB51Him4?>|V9H~!F0x4}61%r%Gk#)Bdn$)+ZXoULQ z>pX^HEfd@<2$K0Z>+6=blroLa=~6+%Q73)x$*TrUJTm4sP_#}Twhka+@;zM^LhTaS zQB;a6XJV0SvTw3a2-5rdFD~)A5y0 z05#9r$eE57@Cp%hw-}N|rQJP_$85?~O0#;PD}^X8kiLakpUw5+J*`K_)D$5g7q6l2 z*!7;{9cT+05IUh?U=7=-nNEEPakUKO*hgv4e=rZn5|MB%V#LUY3*4b5_LiU)=9Vrv z(6i+1tvyGkp*5hM;{&uG4_EqlA07lj)=>F*cwHuTg^wk^x}$wkikBC9^G}0lEcEwJ zdGCy$ipbVQ`FBcz=FFd48fXl4sq1Hy3)iYn8R2ER$%BRcqjg25tkv{sIs$D~sZsKC z++D(UJgY37mZ@T4ITadIeVxTL{?lZ%rSr+IWcuX9npG;~X7^2;J!GOQ4zU6gyro#J z{3f_35U)RpQW^3Nx$M$ zS()GC&Z)TZ(jmgsW9#GBZ6oeRrgD^Q0nygB=Y6gIB$tZPV>ym=MWjNE)_b{6EcNls zh(K_nV3mmUB^KNM%2~BNO70m zwTU{Jq#0OEgxAxwD?OJAHJoW6dDTJgAOd@?2Z#F8`YVFqgPjR#=~~M|#Q-AuL!BV1qpo0Oj!*SQV3#JiVa-crA8&SP5A&;hR5L& z_9&ibW%ns%6u@;_jtzKe0C{&uusHdS{YHM`Bl)$5)4O)~q9}%AkhI z1$yP8wW}=30rRDeO~+2ek;Tjr&9W>VGCnt}Hj`LHj})iXW z+Mcm&Kr~8qZQM7OAC7Y$>MdbUbnXs4L_J>?X?dhvy>Zn-uWn4&F)gm2mc*^k=Q?D! zJkG-Fkk+v&Wi{`+-MG*k??O=Rc2e@faE(%c!-FI`DNTx%gsT*{Iw>VfRUH6-I(KNE)@&F^}LOK zoW~sn@lRG==6dbF##uW}u+|(RL+s#ayd$jQr(9&U$>jkO?Lb;)VH4-w(#22L3kwJhl{b`#fjAXRUXwwfB4W_A2mT4G2?JxQ9%14*)<1ys6|KfDF=w}RE!WYBnc&2K34sM;5Z2`6f$*rZsMvw4t;py{%a0-C zvU{e&;!kdbmo8+-A6qnPHP1(hgj#K+cBZay>eb69M!e3>s*Njj5EV>UBt zzzT*T2AsIr>(oh}qanky^^~0}sCfGaD^yQarM*IP^@FbvDdPIM$I%MfFfWD#k_5CBQ zg1%_M**DhXuWP#qFbDd7uvSmD+SC6Aw`j*CNoDTU)`wvu}LPYiqgxWpM5TaEZEEU z`-9(bvc68|gbG>o5L@(P8(~Syxxk``dFZ2*dPNL=eYaMX^h;GvC%QPNm>w)DWp(OeNm{+gK1A6^%=Hkkv?-<{?frB zf0n05Bg-vD`1c_kJ>lXfsg9%`#P|ZF`0h2r-C!I3oY9BXJV_BOYS2hm=WSSgJ&kUf zR+A!DN`fZ)5Mx{$+aijc@TS+ke!2OYL-GN-59@g)h`KHsjHPE2E(SEZo#4~#hlGKb z{Q*i-Bw1!9Lq6$#ow4^_)i7DS1DrqRnspmHn6ivt;dj|uZ_G=3>`L^!9y87V(&Vdoyio&ICW@e=&dTp=@(YEFH|GeYQNC{ zVYaDdR>+pj0ZWPsuO@}Byi$+^}g(W9twaDSN zNB(lZH`x|RqU=4X=^`6DqB@jE*t~HLd~^N%l@oO1pcACI5SG@*Q~~o)eQKiq;;qCY z9e@88fn(X+Q>IJz=wl)II5{MF{&b{jQh_3}i;Z#hsX&iOUqc#NEm_^lSkKb;=R4+K zkU8Bm>I8(>24y2+5;)yWgNA}blJpY{zZuktze^#QUd2Z(t#a9q)-V19Sso!(I4r6U z_ux+2s2+7X(F3u3j_HNDQqRlaeZ<$FAy3r4K~j37sf%SZxOe}6goCC;Q6NDlYEjx0 zbILsCq^T|#@vW2tQ}30BlMZq&W0atJP1!(|C8nl}V;Eh9vT;jVnhUM6D&t&a(mQ%)H{=ud6e@X90Yz z3u7OMpmE%OpnQwgKdW|Zs!5_XxpzY1!`?Ngsyu|k^d!FSZQ#PaGy`XOcoV~+bLF8Vm@-7|3wvpw2*3&CqQ+xM1qR+%|! zmm34$6}h>o1HB)@-tk6Z&RVp5nH8$$*z;oK@#=iYgmkw53DY;K0dTLamEq8azNC&9 zlVggH%{l|e%&{xaB=Zlj>9;&$R`e`W271=)Fj{|-B>x@l$tgu9E|nsAArO+4Uw9bn zWe`+>`j`^VFnheYU2h}Wt@~n&LV(yF7w?l6l{ojlP|`F3Bn$`<#Uc|+an{J! zNst|SHCklPz*vT{m67*cFbaKT;ap5lF!up8a$2Wr_xG2-WMAy|gOT*l=444V%a^;pmzr|7oxPhMaQV!@r$JH?yuCM69I*IVspXQxGXC3I)T z(MwUE4~q+LXE~*HeK^`l>{d>5iVW=m)X!`btvfHB!R(GSBK$M70&b;MK1~IrFR4El zTTj^F4XTYx-B>b^lL*-4MSA%`sU0}#c5-zxzq?C+rkHH21c++S-h$LzXcP^^>(ygJ zg_strB{+4a_QVcL3-kAsM{+)ywLlI64GzZekKQhDMY?DioHIR8X=&FE2E{AP-MnLV z3Q()ZgH@H5&2z5_&Ps}!i9{6ome?C%Z!1vsx=lStSTZl>EYZ6m30Z=(Dh{a3Xq8960TRY5zzXYF*n?3g&K zVACNFo0zL3IT9x)h10ho7J@k2k3OaORut%ef>GfvTPWloD-(LS33VF~1e=EP?GaBc5%P3=LvLQYc9wDqncKEx zlMC5a#y*)Yz()#+Jl^LlGV_l)6;VgP&Jz%7*K1bPjj1mx=rk?@>4heFI$R5@u3sXg z=uTePf8IOnxpKfv!O(KKA9{oFzJLXhr1OH1Yytvm3TcDj!zL(iBz-Q@_YZGV?=3iY zO*xW)&Mw9R1ws+W2f<4ZYM0!FT$Vu%H#tV`58Cn26x_-Thpkbz06PUy&zf*y>K)DA ztDA}a=@E5(DO8O)U&gBm`cML2aU|ot2*>fO zahDEE<5~}~gBHZR31~=!MQ7>~X86_WU}3gnWH*w>^!!wO0-sR~Z{~7vp9_75j*T6K zx|7^ZSjtmc2#yzkYgUU^9-9Ii=pM8>hve8Zhc}=JKW!9yUr|H>3~NS&BTcV{ZMDyC zETku?NqI4Ono;lt`@ej9%ofCO)5n9qH-|=<=7g3uwP?TBHQ#POQqLee#%fz;G)-E{ zYcyWWZ5W4>8|3&3&oot$hD2I7xuoV%`Ap_QGwd5q^yb4Q>1~f$Vb*aNdeoKPmt()l z_k&h=WGQUN9thT#*)w_6gcX#c4H1P_iv}h`F33zRC*68^y(30+_xtEN3k6q*>zc6Qu!e;G4BK>;7@^>5fsV` zBn1F|+*o(dszWh}Ns)g@&+2U2LbjhhMYRn~oCgses)P!GQY=6KKnyOXPYmO->*T}_ zw%YjvJ&InCE>BhQ%Xs7S=3rxU8Ta^sxCY_o_}E*+^zuyM{V!j_o5R3fA|#q} zrv(Orc9)A_YcebGa&=d3KYq`B$AMl_3YNX9WjkAQ1j z+P-UKvgE4Utd>1&_3z(C6TM)(oZ99A7<&nje&r2G0pAFo8s$LCGqR_oDp(AkmR-P@ zSw7W73_056Gk7~112x>7_DG7dcYS%jim1N_Zw;Wi-QAJ95_7`rHsI-wZV} z)aar3-EQ>AOQDCssJ79Me9xA*(jQSw)frGt1PRPDXflO-(U4v$of?992)xrPVw}DG zzz`xR{Ro+iX2*wBg;(%YMlvxiB{YFgeu%xA>xL(|;T7fYs$Qvgk)!R7M%%kE{806- z7Eq`S#LAW38tPyl_53|#k`rIVs;wiav%_S@Btj!z2*@tG5Nq8{@T4xaVW%rmL_L#)2%u$+A!95Knd1#NBS7TT1om(saV$+?I2TE|t6e0KcYXLY=2H@Pbw}J~ zgrhff`d&)QWhDhbzlf=&_I}U{M+ZkD517zyFhw!?$_^W4tmL zAq?`N3L4(|wUs<1BE{ZS6U-Aj90?T|{BYx_L{fKsdEP2f^AD_KpiHgdzAAF3IT+B^ zrRYNmi2+5o^(TgiI=bq7Q3AHq;|xhCyRxYdrGm3r{6=bxve=D%ANU(vR89o8I(+b|`Cd zuViSJiWLxF?I2hT++0ENMCno1ZPKeVXMz!a9qoEFBCzDkLn>1&_X@>&H-fjtN0tLG zUvkvg?B(XzMcvred891$dW%i={dnnKiZgbhdY5$IqUN%ZV*;AZ5XG!yWw7SE6D;lG z6C|&SzUTgjyr8|vx~y>h582lulf%7ecv*BsVwQ>K;1R#`IP5qtJ4=UbcN2bk0V^2h zHOqqXJz8%$%VDIex>3e2HeX57?(-ZnvH)`Ncmt-ueA8yFxKXE%2I#v_eJCJyE6R>%VaS3yuOZPKBCS={x;YUMJqh$?cJ!2>w7t(hi(1+wn zKO4iiWxPjmi2Yp$mD&s@pDA;!fvK*A#4Uj!c1c_rF%GGET17~G!O){CTd4*MZV8bh z!etCd@dncXH!u`9JQ;+D67!{fNJGb}aP1{qEyZoN+>6Iu23F^6G7V@ZoZkmdt3CK0 zG{1G&K#;w;j;4SQgf@OE6hd}VmisI%yzCaQA5K_CTQvxm6H)6=TmirKKOtZ%=&73B ze0&~C>s5ZV!!pVB6s2F)#%vM1)HNp~bz^WJr@AL#`#>pCXj zl&?+o9iM~6G&Y$qv7hhAbE4WgoVl^+CnrjBx57sF&nw&mW^lJ*H($T+$mFz2q9o!s zYe|IDid5fikGe#;^r{c|?rSIuAiv{&cTKrY-02(kWqVAB}@mUaQQ5XAoQMXu)1uqq%aD6!$?Zh4-ZaH8zF!15e5a_-}%qFM&!9tSd^%T-~DdMl+oo7DgV*pkge%3^*-FYk0? z6F+_}y{(to<7|+E?nS!!W>bW$^3!#FVv@x&CXND~R~4m3zo`3p=2Z=~;{A)KGV6eQ zxWAu+!Jpc*GjKcEXN*n({hmvDZ~&))fWOA73P2>Wdw+`?_-lJIpc1^yo{aI=EC2VD zzYpBt`}Sm#9<%^}jhQ2an~$H}31Wo_pt=jqokjwX0Dj>Bg3@}o7N`F6rxhH?U^Hq! zad-v)BMhI#TlW9u!B2C36I^%sfdioX(+mKB%CE*BTOR;$FoD=uTDU^*62%eno0Sp) z(HuaLJ7)gu{N4U!=x=v_S0ew!H-%F}D8PRa3-~W){s_ao{#C?S8 zJ5fpk7HXXS%;)Z*7aiahLh4w#2{{z<(HEsX^