view src/name/blackcap/imageprep/Settings.kt @ 2:a6f9b51d5e8d

Got jar building.
author David Barts <n5jrn@me.com>
date Fri, 17 Jul 2020 10:34:48 -0700
parents 0bded24f746e
children 5234e4500d45
line wrap: on
line source

/*
 * Our settings. Basically just some parsed properties.
 */
package name.blackcap.imageprep

import java.io.File

/* work around name shadowing */
private val _PROPS = PROPERTIES

object Settings {
    private val homeDir = System.getProperty("user.home")
    val maxDimension = _PROPS.getProperty("maxDimension").toInt()
    val outputQuality = _PROPS.getProperty("outputQuality").toInt()
    val outputSuffix = _PROPS.getProperty("outputSuffix")
    val outputTo = tilde(_PROPS.getProperty("outputTo"))
    val outputToInputDir = strToBool(_PROPS.getProperty("outputToInputDir"))

    private fun tilde(s: String?): String {
        if (s.isNullOrEmpty())
            return homeDir
        if (s.startsWith("~/") || s.startsWith("~\\"))
            return File(homeDir, s.substring(2).trimStart(s[1])).toString()
        else
            return s
    }

    private fun strToBool(s: String): Boolean {
        if (s.isNullOrEmpty())
            return false
        val c1 = s[0].toLowerCase()
        return c1 == 't' || c1 == 'y'
    }
}