Mercurial > cgi-bin > hgweb.cgi > ImagePrep
diff src/name/blackcap/imageprep/Settings.kt @ 0:e0efe7848130
Initial commit. Untested!
author | David Barts <davidb@stashtea.com> |
---|---|
date | Thu, 16 Jul 2020 19:57:23 -0700 |
parents | |
children | 0bded24f746e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/name/blackcap/imageprep/Settings.kt Thu Jul 16 19:57:23 2020 -0700 @@ -0,0 +1,32 @@ +/* + * Our settings. Basically just some parsed properties. + */ +package name.blackcap.imageprep + +/* work around name shadowing */ +private val _PROPS = PROPERTIES + +object Settings { + private var homeDir = System.getProperty("user.home") + val maxDimension = _PROPS.getProperty("maxDimension").toInt() + val outputQuality = _PROPS.getProperty("outputQuality").toInt() + val outputSuffix = tilde(_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(1).trimStart('/', '\\')).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' + } +}