NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name sweetbooklists
// @version 1.0
// @description Exports a list of books by the given search parameters from tsumino
// @author ZerataX
// @namespace mail@zera.tax
// @license MIT
// @updateURL https://openuserjs.org/meta/ZerataX/sbl.meta.js
// @include http://www.tsumino.com/*
// @include http://tsumino.com/*
// @exclude http://tsumino.com/Forum/*
// @exclude http://tsumino.com/Account/*
// @exclude http://tsumino.com/About/*
// @exclude http://tsumino.com/Contribute/*
// @require https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.min.js
// @grant none
// ==/UserScript==
var books;
var book_info = "";
var book_title;
var finished = 0;
$(document).ready(function(){
$('.col-md-12').append('<div class="col-md-12"><button id="export-books">Export Books</button>');
});
function getBookInfo() {
books = $('.book-grid-item-container');
console.log("Books: " + books.length);
for (var i = books.length - 1; i >= 0; i--) {
book_title = $(books[i]).find('.title-text')[0].innerHTML;
console.log(book_title);
book_info += book_title + "\n";
}
$('.next').trigger('click');
}
function loopLi() {
setInterval(function() { // this code is executed every 500 milliseconds:
if($('.next.disabled').length === 0 && finished === 0) {
getBookInfo();
console.log("Next page");
}else if (finished === 0){
getBookInfo();
finished = 1;
console.log("Finished");
if (confirm("Save list to file?") === true) {
var blob = new Blob([book_info], {type: "text/plain;charset=utf-8"});
saveAs(blob, "book_list.txt");
} else {
alert("Nothing saved :/");
}
}
}, 3500);
}
$('#export-books').click(function() {
book_info = "";
finished = 0;
$(loopLi);
});