From 1965a8787df9d9743e85a5284dfb72ad56c87414 Mon Sep 17 00:00:00 2001 From: Jonathan Cremin Date: Tue, 13 Jan 2015 01:06:37 +0000 Subject: [PATCH] Stop inlining Youtube videos for now --- lib/services/beats/index.js | 2 +- lib/services/deezer/index.js | 2 +- lib/services/google/index.js | 2 +- lib/services/itunes/index.js | 2 +- lib/services/youtube/index.js | 67 ++++++++++++++++++++++------------ public/images/logo-128.png | Bin 0 -> 7161 bytes public/images/youtube.png | Bin 0 -> 5806 bytes public/stylesheets/style.css | 11 ++++++ views/head.jsx | 4 +- views/share.jsx | 34 +++-------------- 10 files changed, 66 insertions(+), 58 deletions(-) create mode 100644 public/images/logo-128.png create mode 100644 public/images/youtube.png diff --git a/lib/services/beats/index.js b/lib/services/beats/index.js index ee9ce21..46496e9 100644 --- a/lib/services/beats/index.js +++ b/lib/services/beats/index.js @@ -113,7 +113,7 @@ module.exports.search = function(data) { return request.get(apiRoot + path).promise().then(function(res) { if (!res.body.data[0]) { var matches = album.match(/^[^\(\[]+/); - if (matches[0] && matches[0] != album) { + if (matches && matches[0] && matches[0] != album) { var cleanedData = JSON.parse(JSON.stringify(data)); if (type == "album") { cleanedData.name = matches[0].trim(); diff --git a/lib/services/deezer/index.js b/lib/services/deezer/index.js index 402a17b..50ab04e 100644 --- a/lib/services/deezer/index.js +++ b/lib/services/deezer/index.js @@ -88,7 +88,7 @@ module.exports.search = function(data) { return request.get(apiRoot + path).promise().then(function(res) { if (!res.body.data[0]) { var matches = album.match(/^[^\(\[]+/); - if (matches[0] && matches[0] != album) { + if (matches && matches[0] && matches[0] != album) { var cleanedData = JSON.parse(JSON.stringify(data)); if (type == "album") { cleanedData.name = matches[0].trim(); diff --git a/lib/services/google/index.js b/lib/services/google/index.js index a453239..cd146d6 100644 --- a/lib/services/google/index.js +++ b/lib/services/google/index.js @@ -113,7 +113,7 @@ module.exports.search = function(data) { if (!result.entries) { var matches = album.match(/^[^\(\[]+/); - if (matches[0] && matches[0] != album) { + if (matches && matches[0] && matches[0] != album) { var cleanedData = JSON.parse(JSON.stringify(data)); if (type == "album") { cleanedData.name = matches[0].trim(); diff --git a/lib/services/itunes/index.js b/lib/services/itunes/index.js index 4aac392..ba37136 100644 --- a/lib/services/itunes/index.js +++ b/lib/services/itunes/index.js @@ -97,7 +97,7 @@ module.exports.search = function(data) { if (!result.results[0]) { var matches = album.match(/^[^\(\[]+/); - if (matches[0] && matches[0] != album) { + if (matches && matches[0] && matches[0] != album) { var cleanedData = JSON.parse(JSON.stringify(data)); if (type == "album") { cleanedData.name = matches[0].trim(); diff --git a/lib/services/youtube/index.js b/lib/services/youtube/index.js index e58939c..f2c1b81 100644 --- a/lib/services/youtube/index.js +++ b/lib/services/youtube/index.js @@ -37,44 +37,60 @@ module.exports.parseUrl = function(url) { module.exports.lookupId = function(id, type) { - var path = "/videos?part=snippet%2Cstatus%2CtopicDetails&id=" + id + "&key=" + credentials.key; + var path = "/videos?part=snippet%2CtopicDetails&id=" + id + "&key=" + credentials.key; return request.get(apiRoot + path).promise().then(function(res) { var item = res.body.items[0]; if (item.topicDetails.topicIds) { var promises = []; + var match = { + id: id, + service: "youtube", + name: item.snippet.title, + type: "track", + album: {name: ""}, + streamUrl: "https://youtu.be/" + id, + purchaseUrl: null, + artwork: { + small: item.snippet.thumbnails.medium.url, + large: item.snippet.thumbnails.high.url, + } + }; item.topicDetails.topicIds.forEach(function(topicId) { promises.push(freebase.get(topicId).then(function(topic) { - return (topic.property["/music/recording/song"] ? topic : (topic.property["/music/recording/tracks"] ? topic : false)); + if (topic.property["/type/object/type"].values.some(function(value) { + return value.text == "Musical Artist"; + })) { + match.artist = {name: topic.property["/type/object/name"].values[0].text}; + } else if (topic.property["/type/object/type"].values.some(function(value) { + return value.text == "Musical Recording"; + })) { + if (!match.name) { + match.album = {name: topic.property["/music/recording/releases"].values[0].text}; + match.name = topic.property["/type/object/name"].values[0].text; + match.type = "track"; + } + } else if (topic.property["/type/object/type"].values.some(function(value) { + return value.text == "Musical Album"; + })) { + match.name = topic.property["/type/object/name"].values[0].text; + match.type = "album"; + } }, function(err) { console.log(err) })); - }) - return Promise.all(promises).then(function(topics) { - for (var key in topics) { - var topic = topics[key]; - if (topic) { - return { - id: id, - service: "youtube", - type: "track", - name: topic.property['/music/recording/song'] ? topic.property['/music/recording/song'].values[0].text : topic.property["/music/recording/tracks"].values[0].text, - artist: {name: topic.property['/music/recording/artist'].values[0].text}, - album: {name: ""}, - streamUrl: "https://youtu.be/" + id, - purchaseUrl: null, - artwork: { - small: item.snippet.thumbnails.medium.url, - large: item.snippet.thumbnails.high.url, - } - } - } - } + }); + return Promise.all(promises).then(function() { + return match; + }, function(err) { + console.log(err) + return {service: "youtube"}; }); } else { return {service: "youtube"}; } - }, function(res) { + }, function(err) { + console.log(err) return {service: "youtube"}; }); }; @@ -112,5 +128,8 @@ module.exports.search = function(data) { } }; } + }, function(err) { + console.log(err) + return {service: "youtube"}; }); }; diff --git a/public/images/logo-128.png b/public/images/logo-128.png new file mode 100644 index 0000000000000000000000000000000000000000..cce274454e1b56ac458f2305984488b7bac64b84 GIT binary patch literal 7161 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 NyQ{5Iu4Mh>{{WPI`Ktf` literal 0 HcmV?d00001 diff --git a/public/images/youtube.png b/public/images/youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..e56c69fb9418e57868aa8c0e552f76f15eea84ec GIT binary patch literal 5806 zcmZ`-cQ{;I`<>CFL=aJDz25bnz0V)#$wN&g3Q|T=002OtqAag{em6Nkc}R%P zudXJUvFA6StG1FX;7u>{+WFuTLfOz203f5eIDvp?8T0@E!3~%$1O?Ghm$Gt(3tCt^ zTS5gr;fQlI03hutb^Zv4qAb`v;f_wOQl2s#zYtRA&lh132iq?Q%0Y$$qVbST&KU`1 z6B85_6ygArvazvABdu+uwB;55rk{^wIP6d;gcJzm;o%|ZAtLCEv;_%EN=kx+Zi8;$ z7C1);xOzFEEIb9ATsi-m)asdA_Ec@6axJl4eAN|AGC|i|D;)4{nr)34e9vHleHBH>Ij8HolvglJmG(p zJMZm(iT|%iPYc9fV!xXBmpAE)%B8fSuFj5b7cJ0pf}y~-rGFXvGyG3S{$j~F!x2cR ztLr%pEcQ3$_t>9!$Uib*iT`N)9{iJ_g@m0uwYaDYEc~~?@3BAehW{q;d+;~HMeC&= z!aSjl5P8^nLw~uDJg@3s6MquroE@E!ItU9Z=tW__D8GgNME{a8{6|Jq=y#dl62B3x zt)yJtEbXCIsNde!`8)fy_GK+>LBEBiLH~-DK3@q^8qU@*8!vea6cl`0NLWljNLWDl zw(e~aDIsC0I}*~MKQO;laFLNiLM>3vNL^=VNANEf@QWdvh@gnzx$i#_f0Ly_7yIb9 zef8I-{S`gmwP4b7=6}8bVA6tH<;4I1HK&UF16@19Z$@MYvsO3o{`Y&kY9nQZ%XGEC zps-^CZjNAWSy@=&lJL;|A@Rjfm9{lbH`Rjt>$Z#&D(o=EiE6p$>AgwrY;HzEapKK> z>P2K?HF5Nx-X;Rs1h!lEj(%y;pk)pE=%*QJ_N%Ik-WMiX~iw^m;pB| zM{jw)G;TS3cJ#9t@PpUT8572Qx_rf~y^@85%Y^a@BS5nz{|5duC_csA7rbAn7l`ju zW4;V5k5{Bo03wGzRbB23JeBVnt*r6o3ex6JNro)GV*Pj&BotTZaQ+8mN8BX4Th4HGFd}43h^AMl|1GxCsXdWv#w-n~m}yrR(j7gemy5r{GFDjp^m?tOq24 z74Mote=xRKPO=_}7$U5U2|h7jA83g6I|41=Vc|9wBQ}t~S-#dFWw`%wR;9K=CF|c$rjw#fvM9FYoA5q^UfGA>(tvadJ>#51 zwmPx7QBx1o8U4WrdWe0+k2pt#L8yNb3=YR78>xU^mJesVX1?ET&za566H4$%_9_+r z$7RQS?cih}5wa(f-nxI^DE;YJoC9>Qft)K^Olz_}Ur{Ux?S|Bt5v&bF@^;+A$Iax- z$`@Zgr#Rzp%)74MAlTjsDtM5?bqEZMK`P$!U2(WOD_tLN zNkXO?L|C!{G$GUZ$^iMiYSAkCEM{b6WF=QA_60EsYp5ERMljo$>*4MixaW-K=l9ab z@dC9W6p5J~GZFqw`c^6r`9DP+ZKlRJ`_dRkf)-C!t@{ckp4}C6C zxDB{2Uu8;)qRvKVYBukSblzlr2Rz)pVK)-?v9Bc1bx^`=_E0MZ{x(s9{IjV;DrojP zWQ0f)ugl5Aa3p|UvRJ>=o3-Ka^>#>1zdO=h@1W(Yp2P`8rx~jh!^|M$Td%(IBwKfr z++OwdN%)?*S@-bqvP(sYibuuhrh#I*$!LKY;4d@Y8lP@42ieg6a+DF~UpZGdV zPK>ndof1abjfe-@^S_1OL7YjIRQgRfxb1JwHU(t7Qy#tFRx{NvOS{C8U|lXbi$POH z<$qo$Snr~8d=F&gK&Bkb_2zBUKdYTn*JlJMN@daQ_p^6nsag3r8ZGNZPlm4>4W?(_ z73=vF;E%bG1?;lL<^nJR`HCK_rQ+Il53}P2sES3;*EqKz$6wCYGYhN}DnD`T ztE_#wXd`&{=Z}+o?E~j>Ji+n_m#MoIMboz4)dEaA?aFL4q=VnmImvfaM(Zt7gi3+2 z(^22chNc0f(uQ=|8?@02w4@8Es>xDK8xCxj3Mk{$nWkBmb^YG|B(sNZdA#j_oOxZE z6R+bQ4w%D#Hp`a`Z7tA9XgaX@&fT_rZ0y_tE=h{^^YbPYoAoN>Kls@`;4xfChxQ4l z%%VYbPewd5&t3*bzOyp+=&!SQ4_!7qQ#6^YasZ6M89CKR70Qm+INM{K^gnnLoMvU; zwr(^Y-QmV#^rsD8Xierwf9!x!iKP~oX`82gT+qbi(emo0c0_@1*)UfU)gU~(JNZF= zns{EbOy|!qvPy>?oAIMC(5L1mKRm2!MVy}sHVlzWvTzt4a~Xno)cJ5Jw$>@x&$#xJ zgZYus4Kh;ukDbA4=*|tbB6|_mL~~LE3+RmYDVU!oaBKmgQ*M1WzZgN;ipO}r>}>@B zZp&9Nb;zmBZOF%vHOLNx_Oke1Z8`J7FheV2u0nYTB^P2zm2e|S7?3^{Xzxj%{6*@U z(;dS=DZ()b6}bR~a|!by4sgH0YB8bcb%IN1b~VC`o2TsueM)lI6EcZbe=>Z0?XPR` zjy-s{Fw05vjYSz(lQ<*SYoe`Kb6$53c5fsErgkk$lyAn`^ARg|$5&JTTwrTHbde){ zYc=_Zzm+r%-fCYFka(3V`1-BBha5AJZBmJK*_^4e#hHhgQLU;4>-RwM30>~V!G>IJ zyc_np&4tvjn7bd%D&pDIwMUxoQ>06uVtHN>9KzeSSPpP+U=T?Ffi1vkSNFr^X8Kxn z6%o<6l5gL>3A{0{a;L;N=C-nl)VVG55|= zh-Nx$5Djj*h^6I9;PmnOrkr}Dl8*ZLTHXrvy7+f z_nG8glEp4ql9RSeY7`zsC=&TWGh|s^$iHOVzpW78npb1rCC{2i(|zlQkO;iz32hFL zTgZh8PpWlWOy;G9W&AR?9Z;~I1lKYtRsWQeu;pY77k_9J6c~~9O=0U6ob zIZPOAep%N>L?U_}5?dTpC#X+gcNnSyph1d)4y+pDn{!ig(!t{zFqHa?=ceSPPJ}PB z1hq+V()=Vtu%aArf4ACUk8=1yg8m#-p~ zN!LAkLYTXADpf5{k@R1Cp3!LBlyQN4v1Zo9aXhXGbBNaX_(ixpo)(`xNi6${nqeZ6 zy7S2z^Sc=P1@U-e1z$AZT*&OPjtOC`B`z)`F5XW>uy4gnm5}P}y-hNQ z<*uZgyeiM_Jj>x6V07`VBSRD+8*4 zRHArSiPOx^NbB;ZNESmMc?r?QEi1DI0)Y^)bixCl1&c`1>_HRe@)nfJYolwOKlc4( z8yR0U&!kpW4Na}Ln&d3elEINcAU-knmTXnit6poo&9n0EZifPpfr$^nglWRct zO%$|l2ogqAMj7AENUNibnb-7+vV=GUKHF_fOu2MJG$3EIk+y%%-8b9|z<<7C#dSQ_ zCfP&S5;a9A=-=jU0OeWIMDKNuS?*?{qw$B(S$_9TOvp@pcQhooH+Jl{ltzgxucu`^ z+7-VvxXY+x^QCkeUtr|QVq2{Yfo_B$C0cxBc$nWtqqEk4-SX*F#HYz*{R*{#?S({} zP8YB}Cnomr6$05_k5NhQ5lHVNA?qN%LLLi@j}A$FqzN};94Vz`HK;EU@$D7^UFE#P zDU`>@eyz;tDL%){n(S@|m2V!MpxN+o(F9=v%qam6te>~-R&J*yodJ&K@p;JKP91yV zXsLMUW=2-1$h(QxbtAo@p&{J)+m|nRbzMR@dq|&$)7HjR*c1OK-)g&i_2Gnk@ghOurGNmT#{(RR^6!+?q=`s>FbY+3XCm!7o}#@FMfR{1H)DUf zXCrUoSI`pciyxvx&@t+4l9kpxq=DbpwN^)2<6X}tx%lpF?;ILonlhCSdRQElm& zAAj?Hu)4vNzhA=XL`L%cI<2Aqe#9<4vjo>_Lt{;_>99`{NdK&Qo_h+j`>f7!-am1q zlNiuTveeFf^OQi%U38_Mwz~=6!F;2o)YI&sMz;PKC5vJ`Ad%Y6YOU(nImsL|@tc0Z zO1CJ=erh;XOIx#yr<}MWUld}@L!+k5s>tg^ge1daC$@KIf}fO)9~-({6Ia`Mb4Ep6 zc%NUvuZ$&AeSm=$?L@{|x8~p&M`3>Wa_L%)Jk^yzaHB_7tuNt=%`LFNNqY<|V7k1( zl&`AxhxdsFD*LTL!`UgT5Q}jv?eh;3D}=V)zUpS_+3f0lse;DdH2kY4<#|+)whl+} zqpO$Yll#k?n$C2=SphvR(@a9UMAdJb?>#*VzmCn#eNM?D4KdUwV`3r>T9X01W7Hoa zhMrgynfOaDH?TfvbdhIjXLn$lcx7B^2omVU4;0f1gsu774UD%&bB%guK4m9o+Pur@ z2igo(uu=x}J?BxrqzbDmq8KqtSuEQ~No_h78cE?EcSw2JLnv9b8i9MO^fA0<6uYf< zXT*GCE#8#!EdFO5ZAozBoT?=5eL#wp);;11dcr_{bLNB@nX(0A&C)zN-E}=tAmRST zY0ifKQfz*|D~FfNo>A2`GRsbmX|bUEfx1}o~9F= z#@LLG5+7~JyL8TRbHPUV)>q$tecohZI~j`%)=3b&X?N*9ukRE|I>~KY$$SbDn-!Ju zBsp;4n?x8>a=~eEM4_G29tuwDH7C1t6Z-)7*_ndkxOrIdVH>I?Sr@E_tCbudrmIT% zOr1HqLT^efiq*bU6qrpksVkI)Rz!AtcGOld^D3E(XeCEnS5?F!=Bx*NZm(n{^sHkG z5lvlTa{ex!Vb7(Kt1^9r`>#qUSt9en1T+JBYt>sPD|;=tuBv7?1^iwhD^F^}bH`P{ z=F)_Pj6faPn^66M_g12%W8!>mUE9mvC`uu_f;&T!G49^{dBRbQWY|rXvg+l7C-DKp z-BrhFdsVuohBuB~JQm@4VywN!y+p^CWXXIjL@;F$`%B?3uuD}W)FP3AUv8QvxqL!@ zzaNxJzGbb5>zvZ4dD9o8QqRl68W62UZ8sGl+bcQ&xz;*H~RTk-MIxTTJSiqRjrpU znUw0`9PTI>!U9k#UrR+8@zL^kF}3$xmwiQjxQKmzAN>7t^xNV!UOWS;x+qLzH0BIw YR5re7sOdd%@e^4^K~w&X?Bn471EPL^nE(I) literal 0 HcmV?d00001 diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index e424803..3ef0f51 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -171,6 +171,17 @@ h3 { opacity: 0.7; font-weight: bold; } +.youtube { + position: absolute; + font-weight: bold; + bottom: 65px; + left: 25px; + right: 25px; + padding: 10px; + opacity: 0.85; + background: #fff; + color: #FE4365; +} .loading-wrap { position: absolute; top: 0;left: 0; diff --git a/views/head.jsx b/views/head.jsx index 46d13ca..35b7f08 100644 --- a/views/head.jsx +++ b/views/head.jsx @@ -15,7 +15,7 @@ module.exports = React.createClass({ - Match Audio + {this.props.shares ? "Listen to " + this.props.shares[0].name + " by " + this.props.shares[0].artist.name + " on Match Audio": "Match Audio"} @@ -26,7 +26,7 @@ module.exports = React.createClass({ - + diff --git a/views/share.jsx b/views/share.jsx index 29ef812..3cfb856 100644 --- a/views/share.jsx +++ b/views/share.jsx @@ -44,7 +44,11 @@ var MusicItem = React.createClass({
{this.props.inc == 0 ? "Found matches using this link": ""}
-
+
+
+
0 ? "youtube" : ""}> + {this.props.item.service == "youtube" && this.props.inc > 0 ? this.props.item.name : ""} +
@@ -59,28 +63,6 @@ var MusicItem = React.createClass({ }); -var VideoItem = React.createClass({ - - render: function() { - if (this.props.item.id) { - return ( - - ); - } else { - return (
); - } - } - -}); - module.exports = React.createClass({ mixins: [ Router.State ], @@ -202,11 +184,7 @@ module.exports = React.createClass({
{this.state.shares.map(function(item, i){ - if (item.service == "youtube") { - return (); - } else { - return (); - } + return (); }.bind(this))}