feat(nyaa): support of nyaa torrents

This commit is contained in:
Alexey Kasyanchuk 2018-07-30 17:46:46 +03:00
parent bf23587211
commit ffd0643c0b
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,30 @@
const fetch = require('node-fetch')
const cheerio = require('cheerio')
module.exports = class Nyaa
{
async findHash(hash)
{
this.hash = hash
return await this.parse()
}
async parse()
{
let html = await fetch('https://nyaa.si/' + (this.threadId ? `view/${this.threadId}` : (this.hash ? `?q=${this.hash}` : '')))
if(!html)
return
html = await html.text()
const $ = cheerio.load(html)
let topicTitle = $('.panel-title').first().text()
if(!topicTitle)
return
topicTitle = topicTitle.replace(/\t/g, '').replace(/\n/g, '')
return {
name: topicTitle,
description: $('#torrent-description').text(),
}
}
}

View File

@ -0,0 +1,15 @@
const { assert } = require('chai')
const Nyaa = require('../../src/background/strategies/nyaa.js')
describe("nyaa", () => {
let nyaa = new Nyaa();
it("findHash", async function() {
const data = await nyaa.findHash('b57cc972ecc31dd31e9349017e5d26c164e08906')
assert.equal(data.name, '[HorribleSubs] One Piece - 794 [1080p].mkv')
})
it("notFound", async function() {
assert(!await nyaa.findHash('FFEDA8DF683F34A08BE89026114E6C05F881DCC0'))
})
});