Greasy Fork is available in English.
配合从Discogs添加豆瓣条目使用
当前为
// ==UserScript==
// @name 从Discogs添加豆瓣条目2
// @namespace http://tampermonkey.net/
// @version 1.0000000004
// @description 配合从Discogs添加豆瓣条目使用
// @author 越洋飞机
// @match https://music.douban.com/new_subject*
// @icon https://www.google.com/s2/favicons?domain=douban.com
// @grant GM_registerMenuCommand
// @license MIT
// ==/UserScript==
(function () {
'use strict';
var info = JSON.parse(window.name);
var re = /\(\d+\)/ //去除括号
let title = document.querySelector("#p_title");
if (title) {
title.value = info.title;
let submit1 = document.querySelector(" #content > div > div.article > form > fieldset > div.item.other > input");
submit1.click();
}
else {
if (info.numArtists > 3) {
while (info.numArtists > 3) {
info.numArtists -= 1;
let plusBtn = document.querySelector("#content > div > div.article > form > fieldset > div.item.list.musicians > ul li:last-child a");
plusBtn.click();
}
}
for (let index = 0; index < info.artists.length; index++) {
let artistInput = document.querySelector("#content > div > div.article > form > fieldset > div.item.list.musicians > ul li:nth-child(" + (index + 1) + ") input.input_basic");
// if(re.test(info.artists[index].name)){
// info.artists[index].name = info.artists[index].name.substring(0,info.artists[index].name.length-3);
// }
artistInput.value = info.artists[index].name.replace(re,"");
}
let genreInput = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(4) > div > div > label");
let typeInput = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(5) > div > div > label");
let formatInput = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(6) > div > div > label");
let releaseInput = document.querySelector("#p_51");
let labelInput = document.querySelector("#p_50");
let tracklistInput = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(11) > ul > li > div > textarea");
let infoInput = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(12) > ul > li > div > textarea");
let reference = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(13) > ul > li > div > textarea");
let genreRoot = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(4) > div > ul").getElementsByTagName("li");
let typeRoot = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(5) > div > ul").getElementsByTagName("li");
let formatRoot = document.querySelector("#content > div > div.article > form > fieldset > div:nth-child(6) > div > ul").getElementsByTagName("li");
console.log(genreRoot);
if (info.genres[0] == "Blues") {
genreRoot[0].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Classical") {
genreRoot[1].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Electronic") {
genreRoot[3].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Folk, World, & Country") {
genreRoot[4].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Funk / Soul") {
genreRoot[5].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Jazz") {
genreRoot[6].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Latin") {
genreRoot[7].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Pop") {
genreRoot[8].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "HipHop") {
genreRoot[9].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Reggae") {
genreRoot[10].getElementsByTagName("label")[0].click();
}
else if (info.genres[0] == "Rock") {
genreRoot[11].getElementsByTagName("label")[0].click();
}
else genreInput.innerHTML = "请手动选择"
//
if(info.type =="专辑"){
typeRoot[0].getElementsByTagName("label")[0].click();
}
else if(info.type =="选集"){
typeRoot[1].getElementsByTagName("label")[0].click();
}
else if(info.type =="EP"){
typeRoot[2].getElementsByTagName("label")[0].click();
}
else if(info.type =="单曲"){
typeRoot[3].getElementsByTagName("label")[0].click();
}
else typeInput.innerHTML = "请手动选择";
//
if (info.format == "File") {
formatRoot[1].getElementsByTagName("label")[0].click();
}
else if (info.format == "Vinyl") {
formatRoot[3].getElementsByTagName("label")[0].click();
}
else if (info.format == "CD"||info.format =="CDr") {
formatRoot[0].getElementsByTagName("label")[0].click();
}
else if (info.format == "Cassette") {
formatRoot[2].getElementsByTagName("label")[0].click();
}
else {
formatInput.innerHTML = "请手动选择"
}
//
while(info.release.endsWith("-00")){
info.release = info.release.substring(0,info.release.length-3);
}
releaseInput.value = info.release;
labelInput.value = info.label.replace(re,"");
tracklistInput.value = info.tracklist;
infoInput.innerHTML = "Genre: "+JSON.stringify(info.genres).replace(/[\[\]"]/g,'')+"\nStyle: "+JSON.stringify(info.styles).replace(/[\[\]"]/g,'')+(info.note!=='None'?`\nNote: \n${info.note.trim()}`:'')+"\nCountry: "+info.country+"\nLink: "+info.link;
reference.innerHTML = "Link: "+info.link;
}
})();