From bd1d72b2235293159f47ff50e7e61c5f7e68f4b0 Mon Sep 17 00:00:00 2001 From: Kylart Date: Fri, 9 Dec 2016 23:12:05 +0900 Subject: [PATCH] 'Improved' getLatest() function to always have 18 results. It's a bit slower though.. --- index.html | 4 ++-- package.json | 1 + renderer.js | 33 +++++++++++++++++++++++++++------ 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index c6bc8ac..cb0c9fd 100644 --- a/index.html +++ b/index.html @@ -55,7 +55,7 @@
{{ release.title }}
- +
@@ -133,7 +133,7 @@
Characters
+ class="character mdl-cell mdl-cell--3-col mdl-cell--6-col-phone">
{{ character.name }}
by {{ character.actor }}
diff --git a/package.json b/package.json index de1e890..245ee23 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "dependencies": { "find-remove": "^1.0.0", "is-online": "^5.2.0", + "mal-scraper": "^1.0.6", "malapi": "0.0.3", "node-nyaa-api": "latest", "progressbar.js": "^1.0.1" diff --git a/renderer.js b/renderer.js index b368551..c888534 100644 --- a/renderer.js +++ b/renderer.js @@ -54,9 +54,18 @@ function getNameForResearch(name) { return tmp.join(' ') } +function byProperty(prop) { + return function(a, b) { + if (typeof a[prop] == "number") { + return (a[prop] - b[prop]) + } + return ((a[prop] < b[prop]) ? -1 : ((a[prop] > b[prop]) ? 1 : 0)) + } +} + // Make the research for the latest animes function getLatest () { - Nyaa.get_latest( function (err, animes) { + Nyaa.search('[HorribleSubs]', function (err, animes) { // Initialize releases.releases = [] releases.show = false @@ -79,15 +88,27 @@ function getLatest () { title: getNameOnly(animes[anime].title), link: animes[anime].link, synopsis: reduceString(result.synopsis), - picture: result.image + picture: result.image, + published: animes[anime].published }) + }).then( () => { + if (releases.releases.length === 35) + { + releases.releases.sort(byProperty('published')) + releases.releases.reverse() + + // 35 elements is too much, reducing to 18 + for (let i = 0; i < 17; ++i) + releases.releases.pop() + } + }).then( () => { + setTimeout( () => { + loader.show = false + releases.show = true + }, 1200) }) } } - setTimeout( () => { - loader.show = false - releases.show = true - }, 3000) }) }