From 9750ac16b3bdf3d0c28212e11f64e66507b54026 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Thu, 17 Jan 2019 13:19:59 -0600 Subject: [PATCH] Add version of queryParamsToCliArgs that accepts a Table[string,string] to support Jester 0.4 --- cliutils.nim | 13 ++++++++++++- cliutils.nimble | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cliutils.nim b/cliutils.nim index 1f9cfa0..af3a109 100644 --- a/cliutils.nim +++ b/cliutils.nim @@ -1,4 +1,4 @@ -import docopt, json, osproc, posix, nre, streams, strtabs, terminal, unicode +import docopt, json, osproc, posix, nre, streams, strtabs, tables, terminal, unicode import os except sleep import strutils except toUpper, toLower @@ -188,6 +188,17 @@ let STRIP_ANSI_REGEX = re"\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]" proc stripAnsi*(str: string): string = return str.replace(STRIP_ANSI_REGEX, "") +proc queryParamsToCliArgs*(queryParams: Table[string, string]): 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[1].add("--" & k) + if v != "true": result[1].add(v) # support things like ?verbose=true -> cmd --verbose + proc queryParamsToCliArgs*(queryParams: StringTableRef): seq[string] = result = @[] diff --git a/cliutils.nimble b/cliutils.nimble index 3eec9f1..b6f45de 100644 --- a/cliutils.nimble +++ b/cliutils.nimble @@ -1,6 +1,6 @@ # Package -version = "0.6.0" +version = "0.6.1" author = "Jonathan Bernard" description = "Helper functions for writing command line interfaces." license = "MIT"