UNPKG

jul11co-mangadl

Version:
83 lines (64 loc) 2.68 kB
var path = require('path'); var urlutil = require('url'); module.exports = { name: 'Truyen18', website: 'http://truyen18.org', match: function(link, options) { return /truyen18\.org/g.test(link); }, dispatch: function(saver, $, page, options, callback) { if (options.group_by_site && !options.orig_output_dir) { options.orig_output_dir = options.output_dir; options.output_dir = path.join(options.output_dir, 'Truyen18'); saver.setMangaOutputDir(options.output_dir); } if ($('.entry').length) { var chapter_url = page.url; var chapter_title = page.title; var images_list_html = $('#truyen18-eedit').html(); $('body').append('<div id="chapter-images"></div>'); $('#chapter-images').html(images_list_html); var chapter_images = saver.getImages($, page, '#chapter-images'); if (options.verbose) console.log(chapter_images); var chapter_url_obj = urlutil.parse(chapter_url); // var output_dir_name = path.basename(chapter_url_obj.pathname); var output_dir_name = path.basename(path.dirname(chapter_url_obj.pathname)); var output_dir = path.resolve((options.output_dir || '.'), output_dir_name); if (options.verbose) { console.log('Options output dir : ' + options.output_dir); console.log('Page output dir : ' + page.output_dir); console.log('Output dir name : ' + output_dir_name); console.log('Output dir : ' + output_dir); } saver.downloadMangaChapter({ chapter_url: page.url, chapter_title: chapter_title, chapter_images: chapter_images, output_dir: output_dir, output_dir_name: output_dir_name }, options, function(err) { if (err) return callback(err); callback(); }); } else if ($('table.listing').length) { console.log('Chapter list'); if (options.auto_manga_dir) { var manga_title = page.title.split('|')[0].trim(); console.log('Manga title: ' + manga_title); options.output_dir = path.join(options.output_dir, manga_title); saver.setMangaOutputDir(options.output_dir); } saver.setStateData('url', page.url); var links = saver.getLinks($, page, 'table.listing'); if (options.verbose) console.log(links); var chapter_links = links.filter(function(link) { return (link.indexOf('/doctruyen/') >= 0); }); if (options.verbose) console.log(chapter_links); console.log(chapter_links.length + ' chapters'); saver.processPages(chapter_links, options, callback); } else { callback(); } } }