muse-dl/src/muse-dl.cr

31 lines
776 B
Crystal

require "./parser.cr"
require "./pdftk.cr"
require "./fetch.cr"
require "./book.cr"
require "./journal.cr"
# TODO: Write documentation for `Muse::Dl`
module Muse::Dl
VERSION = "0.1.0"
# TODO: Put your code here
class Main
def self.run(args : Array(String))
parser = Parser.new(args)
thing = Fetch.get_info(parser.url)
if thing.is_a? Muse::Dl::Book
thing.chapters.each do |chapter|
Fetch.save_chapter(parser.tmp, chapter[0], chapter[1], parser.bookmarks)
end
chapter_ids = thing.chapters.map { |c| c[0] }
pdf_builder = Pdftk.new(parser.tmp)
pdf_builder.stitch(parser.output, chapter_ids)
puts "Saved final output to #{parser.output}"
end
end
end
end
Muse::Dl::Main.run(ARGV)