diff --git a/main.js b/main.js index 0ea6cbe..1475a13 100644 --- a/main.js +++ b/main.js @@ -22,6 +22,10 @@ String.prototype.cut_before = function(substr) { return this.substr(0, this.indexOf(substr)); }; +String.prototype.cut = function(after, before) { + return this.cut_after(after).cut_before(before); +} + function round_score(num) { num = Math.round(num * 10) / 10; if (isNaN(num)) @@ -245,15 +249,15 @@ function sort_list() { } function apply_stats(elem, old_sum, new_sum, nums) { - var old_score = elem.text().cut_after("Score: ").cut_before(","); - var old_dev = elem.text().cut_after("Dev.: ").cut_before("\n"); + var old_score = elem.text().cut("Mean Score: ", ","); + var old_dev = elem.text().cut("Score Dev.: ", "\n"); var mean = round_score(new_sum / nums) || "0.0"; var deviation = (new_sum - old_sum) / nums + parseFloat(old_dev) || 0; deviation = Math.round(deviation * 100) / 100; elem.text(elem.text() - .replace("Score: " + old_score, "Score: " + mean) - .replace("Dev.: " + old_dev, "Dev.: " + deviation)); + .replace("Mean Score: " + old_score, "Mean Score: " + mean) + .replace("Score Dev.: " + old_dev, "Score Dev.: " + deviation)); } function update_list_stats() { @@ -436,8 +440,7 @@ function hook_shared() { var score_sum = 0, diff_sum = 0, score_nums = 0, diff_nums = 0; shared_table.find("tr").slice(1, -2).each(function(i, row) { - var anime_id = $(row).find("a").attr("href") - .cut_after("/anime/").cut_before("/"); + var anime_id = $(row).find("a").attr("href").cut("/anime/", "/"); var our_cell = $($(row).find("td")[our_pos]).find("span"); var their_cell = $($(row).find("td")[our_pos == 1 ? 2 : 1]); var diff_cell = $($(row).find("td")[3]); @@ -457,16 +460,18 @@ function hook_shared() { unique_table = $($("#content h2")[our_pos]).next(); unique_table.find("tr").slice(1, -1).each(function(i, row) { - var anime_id = $(row).find("a").attr("href") - .cut_after("/anime/").cut_before("/"); + var anime_id = $(row).find("a").attr("href").cut("/anime/", "/"); var cell = $(row).find("td:nth(1)").find("span"); load_score_into_element(data, anime_id, cell); }); mean_score = round_score(score_sum / score_nums); + if (!isNaN(mean_score)) + $(shared_means.find("td")[our_pos]).find("span").text(mean_score); + mean_diff = Math.round(diff_sum / diff_nums * 100) / 100; - $(shared_means.find("td")[our_pos]).find("span").text(mean_score); - $(shared_means.find("td")[3]).text(mean_diff); + if (!isNaN(mean_diff)) + $(shared_means.find("td")[3]).text(mean_diff); }); }