Skip to content

Commit ede8965

Browse files
committed
fix: formatting of man pages and normalized handling of showHelp, showLicense, showVersion
1 parent 14d3709 commit ede8965

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+305
-277
lines changed

cmd/codemeta2cff/codemeta2cff.go

+15-9
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,15 @@ Specifying the full paths.
8585
`
8686
)
8787

88-
func fmtTxt(src string, appName string, version string) string {
89-
return strings.ReplaceAll(strings.ReplaceAll(helpText, "{app_name}", appName), "{version}", version)
90-
}
91-
9288
func main() {
89+
9390
// command line name and options support
9491
appName := path.Base(os.Args[0])
92+
version := datatools.Version
93+
license := datatools.LicenseText
94+
releaseDate := datatools.ReleaseDate
95+
releaseHash := datatools.ReleaseHash
96+
9597
showHelp, showVersion, showLicense := false, false, false
9698
// Setup to parse command line
9799
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -101,17 +103,21 @@ func main() {
101103

102104
args := flag.Args()
103105

106+
//in := os.Stdin
107+
out := os.Stdout
108+
eout := os.Stderr
109+
104110
// Process options and run report
105111
if showHelp {
106-
fmt.Fprintf(os.Stdout, "%s\n", fmtTxt(helpText, appName, datatools.Version))
112+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
107113
os.Exit(0)
108114
}
109115
if showLicense {
110-
fmt.Fprintf(os.Stdout, "%s\n", fmtTxt(datatools.LicenseText, appName, datatools.Version))
116+
fmt.Fprintf(out, "%s\n", license)
111117
os.Exit(0)
112118
}
113119
if showVersion {
114-
fmt.Printf("datatools, %s v%s\n", appName, datatools.Version)
120+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
115121
os.Exit(0)
116122
}
117123
codemeta, citation := "codemeta.json", "CITATION.cff"
@@ -120,12 +126,12 @@ func main() {
120126
} else if len(args) == 1 {
121127
codemeta = args[0]
122128
} else if len(args) != 0 {
123-
fmt.Fprintf(os.Stderr, "Unexpected parameters: %q\n", strings.Join(os.Args, " "))
129+
fmt.Fprintf(eout, "Unexpected parameters: %q\n", strings.Join(os.Args, " "))
124130
os.Exit(1)
125131
}
126132
err := datatools.CodemetaToCitationCff(codemeta, citation)
127133
if err != nil {
128-
fmt.Fprintf(os.Stderr, "ERROR: %s\n", err)
134+
fmt.Fprintf(eout, "ERROR: %s\n", err)
129135
os.Exit(1)
130136
}
131137
}

cmd/csv2json/csv2json.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ Convert data1.csv to JSON blobs, one line per blob
137137
pretty bool
138138
)
139139

140-
func fmtTxt(src string, appName string, version string) string {
141-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
142-
}
143-
144140
func main() {
145141
appName := path.Base(os.Args[0])
142+
version := datatools.Version
143+
license := datatools.LicenseText
144+
releaseDate := datatools.ReleaseDate
145+
releaseHash := datatools.ReleaseHash
146146

147147
// Standard Options
148148
flag.BoolVar(&showHelp, "help", showHelp, "display help")
@@ -196,15 +196,15 @@ func main() {
196196

197197
// Process options
198198
if showHelp {
199-
fmt.Fprintf(os.Stdout, "%s\n", fmtTxt(helpText, appName, datatools.Version))
199+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
200200
os.Exit(0)
201201
}
202202
if showLicense == true {
203-
fmt.Fprintf(os.Stdout, "%s\n", fmtTxt(datatools.LicenseText, appName, datatools.Version))
203+
fmt.Fprintf(out, "%s\n", license)
204204
os.Exit(0)
205205
}
206206
if showVersion == true {
207-
fmt.Fprintf(os.Stdout, "%s %s\n", appName, datatools.Version)
207+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
208208
os.Exit(0)
209209
}
210210
if newLine {

cmd/csv2mdtable/csv2mdtable.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,12 @@ Convert data1.csv to data1.md using options.
118118
trimLeadingSpace bool
119119
)
120120

121-
func fmtTxt(src string, appName string, version string) string {
122-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
123-
}
124-
125121
func main() {
126122
appName := path.Base(os.Args[0])
123+
version := datatools.Version
124+
license := datatools.LicenseText
125+
releaseDate := datatools.ReleaseDate
126+
releaseHash := datatools.ReleaseHash
127127

128128
// Add Help Docs
129129
flag.BoolVar(&showLicense, "license", false, "display license")
@@ -174,15 +174,15 @@ func main() {
174174

175175
// Process options
176176
if showHelp {
177-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
177+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
178178
os.Exit(0)
179179
}
180180
if showLicense {
181-
fmt.Fprintf(out, "%s\n", fmtTxt(datatools.LicenseText, appName, datatools.Version))
181+
fmt.Fprintf(out, "%s\n", license)
182182
os.Exit(0)
183183
}
184184
if showVersion {
185-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
185+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
186186
os.Exit(0)
187187
}
188188
if newLine {

cmd/csv2tab/csv2tab.go

+7-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"io"
1111
"os"
1212
"path"
13-
"strings"
1413

1514
// Caltech Library Packages
1615
"github.com/caltechlibrary/datatools"
@@ -84,12 +83,12 @@ This would yield
8483
fieldsPerRecord int
8584
)
8685

87-
func fmtTxt(src string, appName string, version string) string {
88-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
89-
}
90-
9186
func main() {
9287
appName := path.Base(os.Args[0])
88+
version := datatools.Version
89+
license := datatools.LicenseText
90+
releaseDate := datatools.ReleaseDate
91+
releaseHash := datatools.ReleaseHash
9392

9493
flag.BoolVar(&showHelp, "h", false, "display help")
9594
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -110,15 +109,15 @@ func main() {
110109
eout := os.Stderr
111110

112111
if showHelp {
113-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
112+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
114113
os.Exit(0)
115114
}
116115
if showLicense {
117-
fmt.Fprintf(out, "%s\n", fmtTxt(datatools.LicenseText, appName, datatools.Version))
116+
fmt.Fprintf(out, "%s\n", license)
118117
os.Exit(0)
119118
}
120119
if showVersion {
121-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
120+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
122121
os.Exit(0)
123122
}
124123

cmd/csv2xlsx/csv2xlsx.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,6 @@ the workbook's 'My worksheet 2' sheet.
128128
trimLeadingSpace bool
129129
)
130130

131-
func fmtTxt(src string, appName string, version string) string {
132-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
133-
}
134-
135131
func csv2XLSXSheet(in *os.File, workbookName string, sheetName string, delimiter string, lazyQuotes, trimLeadingSpace bool) error {
136132
var workbook *xlsx.File
137133

@@ -178,6 +174,10 @@ func csv2XLSXSheet(in *os.File, workbookName string, sheetName string, delimiter
178174

179175
func main() {
180176
appName := path.Base(os.Args[0])
177+
version := datatools.Version
178+
license := datatools.LicenseText
179+
releaseDate := datatools.ReleaseDate
180+
releaseHash := datatools.ReleaseHash
181181

182182
// Standard Options
183183
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -229,15 +229,15 @@ func main() {
229229

230230
// Process options
231231
if showHelp {
232-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
232+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
233233
os.Exit(0)
234234
}
235235
if showLicense {
236-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
236+
fmt.Fprintf(out, "%s\n", license)
237237
os.Exit(0)
238238
}
239239
if showVersion {
240-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
240+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
241241
os.Exit(0)
242242
}
243243

cmd/csvcleaner/csvcleaner.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,12 @@ Trim leading and trailing spaces from output.
174174
verbose bool
175175
)
176176

177-
func fmtTxt(src string, appName string, version string) string {
178-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
179-
}
180-
181177
func main() {
182178
appName := path.Base(os.Args[0])
179+
version := datatools.Version
180+
license := datatools.LicenseText
181+
releaseDate := datatools.ReleaseDate
182+
releaseHash := datatools.ReleaseHash
183183

184184
// Standard options
185185
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -239,15 +239,15 @@ func main() {
239239

240240
// Process options
241241
if showHelp {
242-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
242+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
243243
os.Exit(0)
244244
}
245245
if showLicense {
246-
fmt.Fprintf(out, "%s\n", fmtTxt(datatools.LicenseText, appName, datatools.Version))
246+
fmt.Fprintf(out, "%s\n", license)
247247
os.Exit(0)
248248
}
249249
if showVersion {
250-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
250+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
251251
os.Exit(0)
252252
}
253253

cmd/csvcols/csvcols.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,6 @@ Using options filter a 3 column CSV file for columns 1,3 into 2col.csv
151151
trimLeadingSpace bool
152152
)
153153

154-
func fmtTxt(src string, appName string, version string) string {
155-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
156-
}
157154

158155
func selectedColumns(rowNo int, record []string, columnNos []int, prefixUUID bool, skipHeaderRow bool) []string {
159156
var id string
@@ -221,6 +218,10 @@ func CSVColumns(in *os.File, out *os.File, eout *os.File, columnNos []int, prefi
221218

222219
func main() {
223220
appName := path.Base(os.Args[0])
221+
version := datatools.Version
222+
license := datatools.LicenseText
223+
releaseDate := datatools.ReleaseDate
224+
releaseHash := datatools.ReleaseHash
224225

225226
// Standard Options
226227
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -276,15 +277,15 @@ func main() {
276277

277278
// Process options
278279
if showHelp {
279-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
280+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
280281
os.Exit(0)
281282
}
282283
if showLicense {
283-
fmt.Fprintf(out, "%s\n", datatools.LicenseText)
284+
fmt.Fprintf(out, "%s\n", license)
284285
os.Exit(0)
285286
}
286287
if showVersion {
287-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
288+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
288289
os.Exit(0)
289290
}
290291

cmd/csvfind/csvfind.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,12 @@ You can also search for phrases in columns.
184184
trimLeadingSpace bool
185185
)
186186

187-
func fmtTxt(src string, appName string, version string) string {
188-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
189-
}
190-
191187
func main() {
192188
appName := path.Base(os.Args[0])
189+
version := datatools.Version
190+
license := datatools.LicenseText
191+
releaseDate := datatools.ReleaseDate
192+
releaseHash := datatools.ReleaseHash
193193

194194
// Basic Options
195195
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -257,15 +257,15 @@ func main() {
257257

258258
// Process options
259259
if showHelp {
260-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
260+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
261261
os.Exit(0)
262262
}
263263
if showLicense {
264-
fmt.Fprintf(out, "%s\n", datatools.LicenseText)
264+
fmt.Fprintf(out, "%s\n", license)
265265
os.Exit(0)
266266
}
267267
if showVersion {
268-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
268+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
269269
os.Exit(0)
270270
}
271271
if newLine {

cmd/csvjoin/csvjoin.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,6 @@ merged-data.csv..
173173
trimLeadingSpace bool
174174
)
175175

176-
func fmtTxt(src string, appName string, version string) string {
177-
return strings.ReplaceAll(strings.ReplaceAll(src, "{app_name}", appName), "{version}", version)
178-
}
179176

180177
// cellsMatch checks if two cells' values match
181178
func cellsMatch(val1, val2 string, stopWords []string) bool {
@@ -248,6 +245,10 @@ func scanTable(eout io.Writer, w *csv.Writer, rowA []string, col1 int, table [][
248245

249246
func main() {
250247
appName := path.Base(os.Args[0])
248+
version := datatools.Version
249+
license := datatools.LicenseText
250+
releaseDate := datatools.ReleaseDate
251+
releaseHash := datatools.ReleaseHash
251252

252253
// Standard Options
253254
flag.BoolVar(&showHelp, "help", false, "display help")
@@ -300,15 +301,15 @@ func main() {
300301

301302
// Process Options
302303
if showHelp {
303-
fmt.Fprintf(out, "%s\n", fmtTxt(helpText, appName, datatools.Version))
304+
fmt.Fprintf(out, "%s\n", datatools.FmtHelp(helpText, appName, version, releaseDate, releaseHash))
304305
os.Exit(0)
305306
}
306307
if showLicense {
307-
fmt.Fprintf(out, "%s\n", datatools.LicenseText)
308+
fmt.Fprintf(out, "%s\n", license)
308309
os.Exit(0)
309310
}
310311
if showVersion {
311-
fmt.Fprintf(out, "%s %s\n", appName, datatools.Version)
312+
fmt.Fprintf(out, "datatools, %s %s %s\n", appName, version, releaseHash)
312313
os.Exit(0)
313314
}
314315

0 commit comments

Comments
 (0)