PandocDriver.java

package org.docascode.api.core.converter;

import org.apache.commons.io.FilenameUtils;
import org.docascode.api.core.errors.ProcessingException;
import java.io.IOException;

public class PandocDriver extends AbstractConverter{
    @Override
    public void convert() throws ProcessingException {
        try {
            toFile.getParentFile().mkdirs();
            ProcessBuilder process = new ProcessBuilder(
                    "pandoc",
                    String.format("--extract-media=%s",FilenameUtils.getBaseName(toFile.getAbsolutePath())),
                    String.format("%s",fromFile.getAbsolutePath()),
                    String.format("--output=%s",toFile.getAbsolutePath()));
            process.directory(toFile.getParentFile());
            process.start().waitFor();
        } catch (IOException e) {
            throw new ProcessingException("Unable to execute pandoc driver",e);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }

    }
}