view src/main/kotlin/name/blackcap/passman/ImportExportArguments.kt @ 26:69526ae8c8de

Allow list --name to be abbreviated -n, since it is so commonly used.
author David Barts <n5jrn@me.com>
date Fri, 05 Jul 2024 10:11:31 -0700
parents 4427199eb218
children
line wrap: on
line source

package name.blackcap.passman

class ImportExportArguments {
    private companion object {
        const val D_CHARSET = "UTF-8"
        const val D_ESCAPE = '"'
        const val D_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
        const val D_QUOTE = '"'
        const val D_SEPARATOR = ','
        const val D_ZONE = "UTC"
    }
    @Argument(description = "Character set of CSV file (default $D_CHARSET).")
    var charset: String = D_CHARSET
    @Argument(description = "CSV escape character (default $D_ESCAPE).")
    var escape: Char = D_ESCAPE
    @Argument(description = "Do not ask before overwriting.")
    var force: Boolean = false
    @Argument(description = "Time format (default $D_FORMAT).")
    var format: String = D_FORMAT
    @Argument(description = "Print this help message.")
    var help: Boolean = false
    @Argument(description = "Ignore white space before quoted strings.")
    var ignore: Boolean = false
    @Argument(description = "CSV string-quoting character (default $D_QUOTE).")
    var quote: Char = D_QUOTE
    @Argument(description = "CSV separator character (default $D_SEPARATOR).")
    var separator: Char = D_SEPARATOR
    @Argument(description = "Skip first line of input", shortName = 'k')
    var skip: Boolean = false
    @Argument(description = "Time zone (default $D_ZONE).")
    var zone: String = D_ZONE
}