theshell.ch/bonus2/src/ch/usi/inf/atelier/group1/Main.kt
bevilj 6aeb5370cc bonus2: add support for combinig multiple html files into one LaTeX doc
git-svn-id: svn+ssh://atelier.inf.usi.ch/home/bevilj/group-1@210 a672b425-5310-4d7a-af5c-997e18724b81
2018-11-15 15:11:32 +00:00

50 lines
1.1 KiB
Kotlin

/*
* Copyright (c) 2018 Bevilacqua Joey.
*/
package ch.usi.inf.atelier.group1
import ch.usi.inf.atelier.group1.util.Log
import java.io.File
object Main {
private lateinit var parser: HtmlParser
@JvmStatic
fun main(args: Array<String>) {
if (args.isEmpty()) {
Log.e("At least one argument is needed")
return
}
parser = HtmlParser(arrayOf("-s", "--singlepage").contains(args[0]))
args.forEach(this::convert)
parser.save()
}
/**
* Convert html files to LaTex files
*
* @param path of the file (or directory containing files) to be converted
*/
private fun convert(path: String) {
// Ignore the flags
if (path.startsWith("-")) {
return
}
val file = File(path)
if (!file.isDirectory) {
parser.parse(file)
return
}
// Recursively search for other html files inside a directory
file.listFiles().filter { it.name.endsWith(".html") || it.isDirectory }
.map { it.path }
.forEach(this::convert)
}
}