33 lines
806 B
Nim
33 lines
806 B
Nim
import std/[strtabs, strutils, tables]
|
|
|
|
import ./cliutils/ansiterm
|
|
import ./cliutils/config
|
|
import ./cliutils/daemonize
|
|
import ./cliutils/procutil
|
|
import ./cliutils/queue_logger
|
|
|
|
export ansiterm
|
|
export config
|
|
export daemonize
|
|
export procutil
|
|
export queue_logger
|
|
|
|
proc doParseQueryParams[T](queryParams: T): seq[string] =
|
|
result = @[]
|
|
|
|
for k,v in queryParams:
|
|
# support ?arg1=val1&arg2=val2 -> cmd val1 val2
|
|
if k.startsWith("arg"): result.add(v)
|
|
|
|
else :
|
|
result.add("--" & k)
|
|
if v != "true": result.add(v) # support things like ?verbose=true -> cmd --verbose
|
|
|
|
|
|
proc queryParamsToCliArgs*(queryParams: Table[string, string]): seq[string] =
|
|
doParseQueryParams(queryParams)
|
|
|
|
|
|
proc queryParamsToCliArgs*(queryParams: StringTableRef): seq[string] =
|
|
doParseQueryParams(queryParams)
|