Sha256: 89f94b454bdb12b2f6eb323418f37083a3ae4f514f1b32626a528c33a2e205fb

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

class DocverterServer::Conversion < DocverterServer::Runner::Base

  def run
    with_manifest do |manifest|
      manifest.validate!(directory)

      if manifest['to'] == 'pdf'
        manifest['to'] = 'html'

        manifest.write('manifest.yml')

        if manifest['from'] != 'html'
          @html_filename = DocverterServer::Runner::Pandoc.new(directory).run
        else
          @html_filename = manifest['input_files'][0]
        end
        @output_filename = DocverterServer::Runner::PDF.new(directory, @html_filename).run
      elsif manifest['to'] == 'mobi'
        manifest['to'] = 'epub'
        manifest.write('manifest.yml')
        epub = DocverterServer::Runner::Pandoc.new('.').run
        @output_filename = DocverterServer::Runner::Calibre.new(directory, epub).run
      else
        @output_filename = DocverterServer::Runner::Pandoc.new(directory).run
      end
      @output_filename
    end
  end

  def output_mime_type
    DocverterServer::ConversionTypes.mime_type(@manifest.pdf ? 'pdf' : @manifest['to'])
  end
  
  def output_extension
    DocverterServer::ConversionTypes.extension(@manifest.pdf ? 'pdf' : @manifest['to'])
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
docverter-server-1.0.3-java lib/docverter-server/conversion.rb
docverter-server-1.0.2-java lib/docverter-server/conversion.rb
docverter-server-1.0.1-java lib/docverter-server/conversion.rb