From 709c1b69ebedff022bd3c8197c3c3e2490a13e20 Mon Sep 17 00:00:00 2001 From: Nicolas Stepien Date: Mon, 1 Apr 2013 16:19:48 +0200 Subject: [PATCH] Add archive redirection for /gd/, /out/, /vp/ and /vr/. Update CS. Fix compiling on my laptop. (maxBuffer error) --- 4chan_x.user.js | 27 ++++++++++++++++++++------- Cakefile | 2 +- changelog | 2 ++ script.coffee | 10 +++++----- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/4chan_x.user.js b/4chan_x.user.js index 546b31979..abba95907 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -581,7 +581,7 @@ Filter = { filters: {}, init: function() { - var boards, filter, hl, key, op, regexp, stub, top, _i, _len, _ref, _ref1, _ref2, _ref3, _ref4; + var boards, err, filter, hl, key, op, regexp, stub, top, _i, _len, _ref, _ref1, _ref2, _ref3, _ref4; for (key in Config.filter) { this.filters[key] = []; _ref = Conf[key].split('\n'); @@ -603,7 +603,8 @@ } else { try { regexp = RegExp(regexp[1], regexp[2]); - } catch (err) { + } catch (_error) { + err = _error; alert(err.message); continue; } @@ -2090,7 +2091,6 @@ }, replies: [], reply: (function() { - function _Class() { var persona, prev, _this = this; @@ -3044,14 +3044,15 @@ } reader = new FileReader(); reader.onload = function(e) { - var data; + var data, err; try { data = JSON.parse(decodeURIComponent(escape(e.target.result))); Options.loadSettings(data); if (confirm('Import successful. Refresh now?')) { return window.location.reload(); } - } catch (err) { + } catch (_error) { + err = _error; return output.textContent = 'Import failed due to an error.'; } }; @@ -4917,11 +4918,14 @@ image: function(board, filename) { switch (board) { case 'a': + case 'gd': case 'jp': case 'm': case 'q': case 'tg': case 'vg': + case 'vp': + case 'vr': case 'wsg': return "//archive.foolz.us/" + board + "/full_image/" + filename; case 'u': @@ -4949,6 +4953,7 @@ switch (board) { case 'a': case 'co': + case 'gd': case 'jp': case 'm': case 'q': @@ -4957,6 +4962,8 @@ case 'tv': case 'v': case 'vg': + case 'vp': + case 'vr': case 'wsg': case 'dev': case 'foolz': @@ -4966,6 +4973,7 @@ return "//nsfw.foolz.us/_/api/chan/post/?board=" + board + "&num=" + postID; case 'c': case 'int': + case 'out': case 'po': return "//archive.thedarkcave.org/_/api/chan/post/?board=" + board + "&num=" + postID; } @@ -4979,6 +4987,7 @@ switch (board) { case 'a': case 'co': + case 'gd': case 'jp': case 'm': case 'q': @@ -4987,6 +4996,8 @@ case 'tv': case 'v': case 'vg': + case 'vp': + case 'vr': case 'wsg': case 'dev': case 'foolz': @@ -4997,6 +5008,7 @@ url = Redirect.path('//nsfw.foolz.us', 'foolfuuka', data); break; case 'int': + case 'out': case 'po': url = Redirect.path('//archive.thedarkcave.org', 'foolfuuka', data); break; @@ -5742,7 +5754,7 @@ return post; }, node: function(nodes, notify) { - var callback, node, _i, _j, _len, _len1, _ref; + var callback, err, node, _i, _j, _len, _len1, _ref; _ref = Main.callbacks; for (_i = 0, _len = _ref.length; _i < _len; _i++) { callback = _ref[_i]; @@ -5751,7 +5763,8 @@ node = nodes[_j]; callback(node); } - } catch (err) { + } catch (_error) { + err = _error; if (notify) { alert("4chan X (" + Main.version + ") error: " + err.message + "\nReport the bug at mayhemydg.github.com/4chan-x/#bug-report\n\nURL: " + window.location + "\n" + err.stack); } diff --git a/Cakefile b/Cakefile index 775278944..228e00778 100644 --- a/Cakefile +++ b/Cakefile @@ -112,7 +112,7 @@ task 'upgrade', (options) -> exec "git commit -am 'Release #{version}.' && git tag -a #{version} -m '#{version}' && git tag -af stable -m '#{version}'" task 'build', -> - exec 'coffee --print script.coffee', (err, stdout, stderr) -> + exec 'coffee --print script.coffee', {maxBuffer: 500 * 1024}, (err, stdout, stderr) -> throw err if err fs.writeFile OUTFILE, HEADER + stdout, (err) -> throw err if err diff --git a/changelog b/changelog index e37aa34db..f1ac88e43 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,6 @@ master +- Mayhem + Add /gd/, /out/, /vp/ and /vr/ archive redirection. 2.39.0 - Queue diff --git a/script.coffee b/script.coffee index 22c003812..2c67aa5b3 100644 --- a/script.coffee +++ b/script.coffee @@ -4080,7 +4080,7 @@ Redirect = image: (board, filename) -> # Do not use g.BOARD, the image url can originate from a cross-quote. switch board - when 'a', 'jp', 'm', 'q', 'tg', 'vg', 'wsg' + when 'a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg' "//archive.foolz.us/#{board}/full_image/#{filename}" when 'u' "//nsfw.foolz.us/#{board}/full_image/#{filename}" @@ -4096,22 +4096,22 @@ Redirect = "//archive.nyafuu.org/#{board}/full_image/#{filename}" post: (board, postID) -> switch board - when 'a', 'co', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'wsg', 'dev', 'foolz' + when 'a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg', 'dev', 'foolz' "//archive.foolz.us/_/api/chan/post/?board=#{board}&num=#{postID}" when 'u', 'kuku' "//nsfw.foolz.us/_/api/chan/post/?board=#{board}&num=#{postID}" - when 'c', 'int', 'po' + when 'c', 'int', 'out', 'po' "//archive.thedarkcave.org/_/api/chan/post/?board=#{board}&num=#{postID}" to: (data) -> unless data.isSearch {threadID} = data {board} = data switch board - when 'a', 'co', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'wsg', 'dev', 'foolz' + when 'a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg', 'dev', 'foolz' url = Redirect.path '//archive.foolz.us', 'foolfuuka', data when 'u', 'kuku' url = Redirect.path '//nsfw.foolz.us', 'foolfuuka', data - when 'int', 'po' + when 'int', 'out', 'po' url = Redirect.path '//archive.thedarkcave.org', 'foolfuuka', data when 'ck', 'lit' url = Redirect.path '//fuuka.warosu.org', 'fuuka', data