Compare commits
2 Commits
1080863bdf
...
33028cd7eb
Author | SHA1 | Date |
---|---|---|
Adrian | 33028cd7eb | |
Adrian | 82a069593a |
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
AdiUserscriptLib.addButton('Wget Cmd', function () {
|
AdiUserscriptLib.addButton('Wget Cmd', function () {
|
||||||
var vars = {}
|
var vars = {}
|
||||||
var commandline = 'wget -cO "{name}" --referer="{ref}" {url}'
|
var commandline = 'wget -cO "{name}" --referer="{ref}" {url}\n'
|
||||||
var commands = ''
|
var commands = ''
|
||||||
|
|
||||||
vars.name = $('b.nhsTrackTitle').text()
|
vars.name = $('b.nhsTrackTitle').text()
|
||||||
vars.url = $('button.nhsGrayBtnSmDownload').attr('href')
|
vars.url = $('button.nhsGrayBtnSmDownload').attr('href')
|
||||||
vars.ref = window.location.href
|
vars.ref = window.location.href
|
||||||
|
|
||||||
commands += AdiUserscriptLib.interpolate(commandline, vars) + '\n'
|
commands += AdiUserscriptLib.interpolate(commandline, vars)
|
||||||
|
|
||||||
var w = window.open();
|
var w = window.open();
|
||||||
w.document.write('<pre>' + commands + '</pre>')
|
w.document.write('<pre>' + commands + '</pre>')
|
||||||
|
|
116
lib.js
116
lib.js
|
@ -1,68 +1,72 @@
|
||||||
AdiUserscriptLib = {}
|
// Nice overview:
|
||||||
|
// http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
|
||||||
|
|
||||||
AdiUserscriptLib.interpolate = function (s, a) {
|
if (typeof AdiUserscriptLib != 'object')
|
||||||
// Oh, well... http://stackoverflow.com/a/16804092
|
(function(public){
|
||||||
for (x in a) {
|
|
||||||
var token = '{' + x + '}'
|
public.interpolate = function (s, a) {
|
||||||
var i = 0
|
// Oh, well... http://stackoverflow.com/a/16804092
|
||||||
while ( (i = s.indexOf(token, i)) >= 0) s = s.replace(token, a[x])
|
for (x in a) {
|
||||||
|
var token = '{' + x + '}'
|
||||||
|
var i = 0
|
||||||
|
while ( (i = s.indexOf(token, i)) >= 0) s = s.replace(token, a[x])
|
||||||
|
}
|
||||||
|
return s
|
||||||
}
|
}
|
||||||
return s
|
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.pad = function (x, len, char) {
|
public.pad = function (x, len, char) {
|
||||||
x = x.toString()
|
x = x.toString()
|
||||||
while (x.length < len) x = char + x
|
while (x.length < len) x = char + x
|
||||||
return x
|
return x
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.bind3 = function (fn, arg1, arg2, arg3) {
|
|
||||||
return function (a4,a5,a6) {
|
|
||||||
return fn(arg1,arg2,arg3,a4,a5,a6)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.binder3 = function (fn, callback) {
|
public.bind3 = function (fn, arg1, arg2, arg3) {
|
||||||
return function (arg1, arg2, arg3) {
|
return function (a4,a5,a6) {
|
||||||
var bound = AdiUserscriptLib.bind3(fn, arg1, arg2, arg3)
|
return fn(arg1,arg2,arg3,a4,a5,a6)
|
||||||
if (callback) callback(bound)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.doWhenReady = function (fn) {
|
|
||||||
$(document).ready(fn)
|
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.makeDoWhenReadyFn = function (fn) {
|
|
||||||
return AdiUserscriptLib.binder3(fn, AdiUserscriptLib.doWhenReady)
|
|
||||||
}
|
|
||||||
|
|
||||||
AdiUserscriptLib.addButton = (function () {
|
|
||||||
|
|
||||||
var left = 12
|
|
||||||
var top = 64
|
|
||||||
var space = 32
|
|
||||||
|
|
||||||
var makeDoAndRemoveFn = function (fn, el) {
|
|
||||||
return function () {
|
|
||||||
fn()
|
|
||||||
el.text(el.text() + ' ✓')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var fn = function (name, fn) {
|
public.binder3 = function (fn, callback) {
|
||||||
var el = $('<button>' + name + '</button>')
|
return function (arg1, arg2, arg3) {
|
||||||
.css('position', 'fixed')
|
var bound = public.bind3(fn, arg1, arg2, arg3)
|
||||||
.css('top', top)
|
if (callback) callback(bound)
|
||||||
.css('left', left)
|
}
|
||||||
.css('z-index', 1000)
|
|
||||||
el.click(makeDoAndRemoveFn(fn, el))
|
|
||||||
$(document.body).append(el)
|
|
||||||
top = top + space
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return AdiUserscriptLib.makeDoWhenReadyFn(fn)
|
public.doWhenReady = function (fn) {
|
||||||
|
$(document).ready(fn)
|
||||||
|
}
|
||||||
|
|
||||||
}())
|
public.makeDoWhenReadyFn = function (fn) {
|
||||||
|
return public.binder3(fn, public.doWhenReady)
|
||||||
|
}
|
||||||
|
|
||||||
// EOF AdiUserscriptLib
|
public.addButton = (function () {
|
||||||
|
|
||||||
|
var left = 12
|
||||||
|
var top = 64
|
||||||
|
var space = 32
|
||||||
|
|
||||||
|
var makeDoAndRemoveFn = function (fn, el) {
|
||||||
|
return function () {
|
||||||
|
fn()
|
||||||
|
el.text(el.text() + ' ✓')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var fn = function (name, fn) {
|
||||||
|
var el = $('<button>' + name + '</button>')
|
||||||
|
.css('position', 'fixed')
|
||||||
|
.css('top', top)
|
||||||
|
.css('left', left)
|
||||||
|
.css('z-index', 1000)
|
||||||
|
el.click(makeDoAndRemoveFn(fn, el))
|
||||||
|
$(document.body).append(el)
|
||||||
|
top = top + space
|
||||||
|
}
|
||||||
|
|
||||||
|
return public.makeDoWhenReadyFn(fn)
|
||||||
|
|
||||||
|
}())
|
||||||
|
|
||||||
|
}(AdiUserscriptLib = {}))
|
||||||
|
|
|
@ -9,15 +9,15 @@
|
||||||
// @grant none
|
// @grant none
|
||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
AdiUserscriptLib.addButton('Track Links', function () {
|
AdiUserscriptLib.addButton('DL Cmds', function () {
|
||||||
var vars = {}
|
var vars = {}
|
||||||
var commandline = 'youtube-dl https://www.mixcloud.com{url}'
|
var commandline = 'youtube-dl https://www.mixcloud.com{url}\n'
|
||||||
var commands = ''
|
var commands = ''
|
||||||
|
|
||||||
$('.play-button').each(function () {
|
$('.play-button').each(function () {
|
||||||
vars.url = $(this).attr('m-url')
|
vars.url = $(this).attr('m-url')
|
||||||
if (!vars.url) break
|
if (!vars.url) break
|
||||||
commands += AdiUserscriptLib.interpolate(commandline, vars) + '\n'
|
commands += AdiUserscriptLib.interpolate(commandline, vars)
|
||||||
})
|
})
|
||||||
|
|
||||||
var w = window.open();
|
var w = window.open();
|
||||||
|
|
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
AdiUserscriptLib.addButton('Wget Cmds', function () {
|
AdiUserscriptLib.addButton('Wget Cmds', function () {
|
||||||
var vars = {}
|
var vars = {}
|
||||||
var commandline = 'wget -cO "{name}.mp3" {url}'
|
var commandline = 'wget -cO "{name}.mp3" {url}\n'
|
||||||
var commands = ''
|
var commands = ''
|
||||||
|
|
||||||
$('a.podcast-title').each(function () {
|
$('a.podcast-title').each(function () {
|
||||||
divlinks = $(this).nextUntil('div.links').next()
|
divlinks = $(this).nextUntil('div.links').next()
|
||||||
vars.url = divlinks.find('a:contains("Download")').attr('href')
|
vars.url = divlinks.find('a:contains("Download")').attr('href')
|
||||||
vars.name = $(this).text()
|
vars.name = $(this).text()
|
||||||
commands += AdiUserscriptLib.interpolate(commandline, vars) + '\n'
|
commands += AdiUserscriptLib.interpolate(commandline, vars)
|
||||||
})
|
})
|
||||||
|
|
||||||
var w = window.open();
|
var w = window.open();
|
||||||
|
|
|
@ -11,10 +11,10 @@
|
||||||
|
|
||||||
AdiUserscriptLib.addButton('Search Torrentz', function () {
|
AdiUserscriptLib.addButton('Search Torrentz', function () {
|
||||||
var regex = new RegExp('/cat/([^/]+)/Season-([0-9]+)/Episode-([0-9]+)')
|
var regex = new RegExp('/cat/([^/]+)/Season-([0-9]+)/Episode-([0-9]+)')
|
||||||
var url = 'http://torrentz.eu/search?f={name}+S{season}E{episode}'
|
var url = 'https://torrentz.eu/search?q={name}+S{season}E{episode}'
|
||||||
|
var X = AdiUserscriptLib
|
||||||
|
|
||||||
$('a').each(function () {
|
$('a').each(function () {
|
||||||
var X = AdiUserscriptLib
|
|
||||||
var matches = regex.exec(this.href)
|
var matches = regex.exec(this.href)
|
||||||
if (matches) {
|
if (matches) {
|
||||||
var replacements = {
|
var replacements = {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
AdiUserscriptLib.addButton('Wget Cmd', function () {
|
AdiUserscriptLib.addButton('Wget Cmd', function () {
|
||||||
var vars = {}
|
var vars = {}
|
||||||
var commandline = 'wget -cO "{name}" --header="Cookie: JSESSIONID={sessioncookie}" {url}\ntouch -d "{date}" "{name}"'
|
var commandline = 'wget -cO "{name}" --header="Cookie: JSESSIONID={sessioncookie}" {url}\ntouch -d "{date}" "{name}"\n'
|
||||||
var commands = ''
|
var commands = ''
|
||||||
|
|
||||||
vars.name = $('font:contains("Name: ") + font').text()
|
vars.name = $('font:contains("Name: ") + font').text()
|
||||||
|
@ -23,7 +23,7 @@ AdiUserscriptLib.addButton('Wget Cmd', function () {
|
||||||
var datematch = vars.date.match(/^(\d{2})-(\d{2})-(\d{4})(.+)/)
|
var datematch = vars.date.match(/^(\d{2})-(\d{2})-(\d{4})(.+)/)
|
||||||
vars.date = AdiUserscriptLib.interpolate('{3}-{2}-{1}{4}', datematch)
|
vars.date = AdiUserscriptLib.interpolate('{3}-{2}-{1}{4}', datematch)
|
||||||
|
|
||||||
commands += AdiUserscriptLib.interpolate(commandline, vars) + '\n'
|
commands += AdiUserscriptLib.interpolate(commandline, vars)
|
||||||
|
|
||||||
var w = window.open();
|
var w = window.open();
|
||||||
w.document.write('<pre>' + commands + '</pre>')
|
w.document.write('<pre>' + commands + '</pre>')
|
||||||
|
|
Loading…
Reference in New Issue