Skip to content

Commit a3f92f1

Browse files
committed
Added -quote option to jsoncols and fixed references to depreciated shelltools
1 parent fb8931c commit a3f92f1

File tree

8 files changed

+29
-18
lines changed

8 files changed

+29
-18
lines changed

cmds/finddir/finddir.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232

3333
// CaltechLibrary packages
3434
"github.com/caltechlibrary/cli"
35-
"github.com/caltechlibrary/shelltools"
35+
"github.com/caltechlibrary/datatools"
3636
)
3737

3838
var (
@@ -152,7 +152,7 @@ func main() {
152152
args := flag.Args()
153153

154154
// Configuration and command line interation
155-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
155+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
156156
cfg.UsageText = fmt.Sprintf(usage, appName)
157157
cfg.DescriptionText = fmt.Sprintf(description, appName)
158158
cfg.ExampleText = fmt.Sprintf(examples, appName)

cmds/findfile/findfile.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232

3333
// Caltech Library Packages
3434
"github.com/caltechlibrary/cli"
35-
"github.com/caltechlibrary/shelltools"
35+
"github.com/caltechlibrary/datatools"
3636
)
3737

3838
var (
@@ -151,7 +151,7 @@ func main() {
151151
flag.Parse()
152152
args := flag.Args()
153153
// Configuration and command line interation
154-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
154+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
155155
cfg.UsageText = fmt.Sprintf(usage, appName)
156156
cfg.DescriptionText = fmt.Sprintf(description, appName)
157157
cfg.ExampleText = fmt.Sprintf(examples, appName)

cmds/jsoncols/jsoncols.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"io/ioutil"
1515
"os"
1616
"path"
17+
"strings"
1718

1819
// Caltech Library Packages
1920
"github.com/caltechlibrary/cli"
@@ -88,6 +89,7 @@ Would yield
8889
delimiter = ","
8990
expressions []string
9091
permissive bool
92+
quote bool
9193
)
9294

9395
func handleError(err error, exitCode int) {
@@ -117,6 +119,7 @@ func init() {
117119
flag.BoolVar(&runInteractive, "r", false, "run interactively")
118120
flag.BoolVar(&runInteractive, "repl", false, "run interactively")
119121
flag.StringVar(&delimiter, "d", delimiter, "set the delimiter for multi-field output")
122+
flag.BoolVar(&quote, "quote", false, "if dilimiter is found in column value add quotes")
120123
flag.BoolVar(&permissive, "permissive", false, "suppress error messages")
121124
flag.BoolVar(&permissive, "quiet", false, "suppress error messages")
122125
}
@@ -197,15 +200,23 @@ func main() {
197200
if err == nil {
198201
switch result.(type) {
199202
case string:
200-
fmt.Fprintf(out, "%s", result)
203+
if quote == true && strings.Contains(result.(string), delimiter) == true {
204+
fmt.Fprintf(out, "%q", result)
205+
} else {
206+
fmt.Fprintf(out, "%s", result)
207+
}
201208
case json.Number:
202209
fmt.Fprintf(out, "%s", result.(json.Number).String())
203210
default:
204211
src, err := json.Marshal(result)
205212
if err != nil {
206213
handleError(err, 1)
207214
}
208-
fmt.Fprintf(out, "%s", src)
215+
if quote == true {
216+
fmt.Fprintf(out, "%q", src)
217+
} else {
218+
fmt.Fprintf(out, "%s", src)
219+
}
209220
}
210221
} else {
211222
handleError(err, 1)

cmds/mergepath/mergepath.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727

2828
// CaltechLibrary packages
2929
"github.com/caltechlibrary/cli"
30-
"github.com/caltechlibrary/shelltools"
30+
"github.com/caltechlibrary/datatools"
3131
)
3232

3333
var (
@@ -110,7 +110,7 @@ func main() {
110110
flag.Parse()
111111

112112
// Configuration and command line interation
113-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
113+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
114114
cfg.UsageText = fmt.Sprintf(usage, appName)
115115
cfg.DescriptionText = fmt.Sprintf(description, appName)
116116
cfg.ExampleText = fmt.Sprintf(examples, appName)

cmds/range/range.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import (
3131

3232
// CaltechLibrary Packages
3333
"github.com/caltechlibrary/cli"
34-
"github.com/caltechlibrary/shelltools"
34+
"github.com/caltechlibrary/datatools"
3535
)
3636

3737
var (
@@ -132,7 +132,7 @@ func main() {
132132
appName := path.Base(os.Args[0])
133133
flag.Parse()
134134
// Configuration and command line interation
135-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
135+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
136136
cfg.UsageText = fmt.Sprintf(usage, appName)
137137
cfg.DescriptionText = fmt.Sprintf(description, appName)
138138
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName, appName)

cmds/reldate/reldate.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ import (
3030

3131
// Local package
3232
"github.com/caltechlibrary/cli"
33-
"github.com/caltechlibrary/shelltools"
34-
"github.com/caltechlibrary/shelltools/reldate"
33+
"github.com/caltechlibrary/datatools"
34+
"github.com/caltechlibrary/datatools/reldate"
3535
)
3636

3737
var (
@@ -162,7 +162,7 @@ func main() {
162162
flag.Parse()
163163

164164
// Configuration and command line interation
165-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
165+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
166166
cfg.UsageText = fmt.Sprintf(usage, appName)
167167
cfg.DescriptionText = fmt.Sprintf(description, appName)
168168
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName, appName)

cmds/timefmt/timefmt.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import (
2828

2929
// CaltechLibrary Packages
3030
"github.com/caltechlibrary/cli"
31-
"github.com/caltechlibrary/shelltools"
32-
"github.com/caltechlibrary/shelltools/timefmt"
31+
"github.com/caltechlibrary/datatools"
32+
"github.com/caltechlibrary/datatools/timefmt"
3333
)
3434

3535
var (
@@ -130,7 +130,7 @@ func main() {
130130
args := flag.Args()
131131

132132
// Configuration and command line interation
133-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
133+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
134134
cfg.UsageText = fmt.Sprintf(usage, appName)
135135
cfg.DescriptionText = fmt.Sprintf(description, appName, appName)
136136
cfg.ExampleText = fmt.Sprintf(examples, appName, appName)

cmds/urlparse/urlparse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727

2828
// CaltechLibrary Packages
2929
"github.com/caltechlibrary/cli"
30-
"github.com/caltechlibrary/shelltools"
30+
"github.com/caltechlibrary/datatools"
3131
)
3232

3333
var (
@@ -129,7 +129,7 @@ func main() {
129129
flag.Parse()
130130

131131
// Configuration and command line interation
132-
cfg := cli.New(appName, appName, fmt.Sprintf(shelltools.LicenseText, appName, shelltools.Version), shelltools.Version)
132+
cfg := cli.New(appName, appName, fmt.Sprintf(datatools.LicenseText, appName, datatools.Version), datatools.Version)
133133
cfg.UsageText = fmt.Sprintf(usage, appName)
134134
cfg.DescriptionText = fmt.Sprintf(description, appName)
135135
cfg.ExampleText = fmt.Sprintf(examples, appName, appName, appName, appName, appName, appName)

0 commit comments

Comments
 (0)