Newer
Older
DataReport / src / main / scala / uk / org / floop / ons / data_report / CreateReport.scala
package uk.org.floop.ons.data_report

import java.io.{File, PrintWriter}

import scala.io.Source
import scala.xml.PrettyPrinter

object CreateReport extends App {

  val dataDir = new File("in")
  val table = <table>{
    for {
      d <- dataDir.listFiles
      if d.isDirectory
      f <- d.listFiles
      if f.isFile
    } yield {
      val lines = Source.fromFile(f).getLines.size
      <tr>
        <td>
          {d.getName}
        </td>
        <td>
          {f.getName}
        </td>
        <td>
          {lines}
        </td>
      </tr>
    }
  }</table>
  val pp = new PrettyPrinter(80, 2)
  val pw = new PrintWriter(new File("report.xml"))
  pw.write(pp.format(<section name="Line counts">{table}</section>))
  pw.close

}