mirror of
https://github.com/krateng/maloja.git
synced 2023-08-10 21:12:55 +03:00
Moved extra paackages
This commit is contained in:
91
auxiliary/chromium_scrobbler/maloja-scrobbler/sitescript.js
Normal file
91
auxiliary/chromium_scrobbler/maloja-scrobbler/sitescript.js
Normal file
@@ -0,0 +1,91 @@
|
||||
function getxpath(path,type) {
|
||||
result = document.evaluate(path, this, null, type, null);
|
||||
|
||||
if (type == XPathResult.FIRST_ORDERED_NODE_TYPE) {
|
||||
return result.singleNodeValue;
|
||||
}
|
||||
else if (type == XPathResult.ORDERED_NODE_ITERATOR_TYPE) {
|
||||
resultarray = [];
|
||||
while(node = result.iterateNext()) {
|
||||
resultarray.push(node);
|
||||
}
|
||||
|
||||
return resultarray;
|
||||
}
|
||||
else if (type == XPathResult.STRING_TYPE) {
|
||||
return result.stringValue;
|
||||
}
|
||||
|
||||
// if (path.split("/").slice(-1)[0].startsWith("text()") || path.split("/").slice(-1)[0].startsWith("@")) {
|
||||
// result = document.evaluate(path, this, null, XPathResult.STRING_TYPE, null);
|
||||
// return result.stringValue;
|
||||
// }
|
||||
// else {
|
||||
// result = document.evaluate(path, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
|
||||
// return result.singleNodeValue;
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
Node.prototype.xpath = getxpath;
|
||||
|
||||
|
||||
bar = document.xpath(maloja_scrobbler_selector_playbar, XPathResult.FIRST_ORDERED_NODE_TYPE);
|
||||
if (bar == null) {
|
||||
console.log("Nothing playing right now!");
|
||||
chrome.runtime.sendMessage({type:"stopPlayback",time:Math.floor(Date.now()),artist:"",title:""});
|
||||
}
|
||||
else {
|
||||
metadata = bar.xpath(maloja_scrobbler_selector_metadata, XPathResult.FIRST_ORDERED_NODE_TYPE);
|
||||
duration = bar.xpath(maloja_scrobbler_selector_duration, XPathResult.STRING_TYPE);
|
||||
duration = duration + '';
|
||||
|
||||
|
||||
title = metadata.xpath(maloja_scrobbler_selector_title, XPathResult.STRING_TYPE);
|
||||
if (typeof maloja_scrobbler_selector_artists !== "undefined") {
|
||||
artistnodes = metadata.xpath(maloja_scrobbler_selector_artists, XPathResult.ORDERED_NODE_ITERATOR_TYPE);
|
||||
artists = artistnodes.map(x => x.xpath(maloja_scrobbler_selector_artist, XPathResult.STRING_TYPE));
|
||||
artist = artists.join(";");
|
||||
}
|
||||
else {
|
||||
artist = metadata.xpath(maloja_scrobbler_selector_artist, XPathResult.STRING_TYPE);
|
||||
}
|
||||
|
||||
|
||||
if (typeof duration_needs_split !== "undefined" && duration_needs_split) {
|
||||
duration = duration.split("/").slice(-1)[0].trim();
|
||||
}
|
||||
|
||||
if (duration.split(":").length == 2) {
|
||||
durationSeconds = parseInt(duration.split(":")[0]) * 60 + parseInt(duration.split(":")[1]);
|
||||
}
|
||||
else {
|
||||
durationSeconds = parseInt(duration.split(":")[0]) * 60 * 60 + parseInt(duration.split(":")[1]) * 60 + parseInt(duration.split(":")[2]);
|
||||
}
|
||||
|
||||
|
||||
control = bar.xpath(maloja_scrobbler_selector_control, XPathResult.STRING_TYPE);
|
||||
try {
|
||||
label_playing = maloja_scrobbler_label_playing
|
||||
}
|
||||
catch {
|
||||
label_playing = "Pause"
|
||||
}
|
||||
try {
|
||||
label_paused = maloja_scrobbler_label_paused
|
||||
}
|
||||
catch {
|
||||
label_paused = "Play"
|
||||
}
|
||||
if (control == label_paused) {
|
||||
console.log("Not playing right now");
|
||||
chrome.runtime.sendMessage({type:"stopPlayback",time:Math.floor(Date.now()),artist:artist,title:title});
|
||||
//stopPlayback()
|
||||
}
|
||||
else if (control == label_playing) {
|
||||
console.log("Playing " + artist + " - " + title + " (" + durationSeconds + " sec)");
|
||||
chrome.runtime.sendMessage({type:"startPlayback",time:Math.floor(Date.now()),artist:artist,title:title,duration:durationSeconds});
|
||||
//startPlayback(artist,title,durationSeconds)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user