base/src/sqwl/cms/package.scala
author Tomas Zeman <tzeman@volny.cz>
Thu, 13 Dec 2018 14:21:10 +0100
changeset 18 8cfd67425811
parent 16 4556852613a9
child 23 afcfbdeb3b88
permissions -rw-r--r--
Scalatex article as primary format
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
package sqwl
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
import java.nio.file.Path
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
import scala.io.Source
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
import scala.util.{Failure, Success, Try}
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
package object cms {
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
18
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    10
  def readSourceFull(src: Source): Try[String] = {
16
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
    try {
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
      Success(src.getLines.mkString)
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
    } catch {
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
      case t: Throwable => Failure(t)
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
    } finally {
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
      src.close()
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
    }
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
  }
18
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    19
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    20
  def readFile(f: Path, enc: String = "UTF-8"): Try[String] =
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    21
    readSourceFull(Source.fromFile(f.toFile, enc))
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    22
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    23
  def readFile(f: String): String =
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    24
    readSourceFull(Source.fromFile(f, "UTF-8")) getOrElse ""
8cfd67425811 Scalatex article as primary format
Tomas Zeman <tzeman@volny.cz>
parents: 16
diff changeset
    25
16
4556852613a9 Scalatex based article implementation
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
}