Skip to content

Commit 3e933c1

Browse files
committed
prep for new release
1 parent a394e62 commit 3e933c1

Some content is hidden

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

54 files changed

+381
-226
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ general purpose shell scripting.
1717
+ [jsonjoin](docs/jsonjoin.html) - a tool for joining JSON object documents
1818
+ [jsonmunge](docs/jsonmunge.html) - a tool to transform JSON documents into something else
1919
+ [jsonrange](docs/jsonrange.html) - a tool for iterating for JSON maps and arrays
20+
+ [splitstring](docs/splitstring.html) - splits a string using a delimiting string and returns a JSON array
2021
+ [vcard2json](docs/vcard2json.html) - an experimental tool to convert vCards to JSON
2122
+ [xlsx2csv](docs/xlsx2csv.html) - a tool for converting Excel Workbooks sheets to a CSV file(s)
2223
+ [xlsx2json](docs/xlsx2json.html) - a tool for converting Excel Workbooks to JSON files

TODO.html

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Caltech Library's Digital Library Development Sandbox</title>
5+
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
6+
<link rel="stylesheet" href="/css/site.css">
7+
</head>
8+
<body>
9+
<header>
10+
<a href="http://library.caltech.edu"><img src="/assets/liblogo.gif" alt="Caltech Library logo"></a>
11+
</header>
12+
<nav>
13+
<ul>
14+
<li><a href="/">Home</a></li>
15+
<li><a href="./">README</a></li>
16+
<li><a href="license.html">LICENSE</a></li>
17+
<li><a href="install.html">INSTALL</a></li>
18+
<li><a href="docs/">Documentation</a></li>
19+
<li><a href="how-to/">How To</a></li>
20+
<li><a href="https://github.com/caltechlibrary/datatools">Github</a></li>
21+
</ul>
22+
23+
</nav>
24+
25+
<section>
26+
<h1>Action Items</h1>
27+
28+
<h2>Bug</h2>
29+
30+
<h2>Next</h2>
31+
32+
<ul>
33+
<li>[ ] csvrows would output a range of rows (e.g. [2:] would be all rows but the first row)</li>
34+
<li>[ ] csv utilities to support integer ranges notation for columns and rows references, E.g. &ldquo;1,3:4,7,10:&rdquo; or all</li>
35+
</ul>
36+
37+
<h2>Someday, Maybe</h2>
38+
39+
<ul>
40+
<li>[ ] finddir should have an option to exclude directories (e.g. exclude .git directories from a listing)</li>
41+
<li>[ ] textscraper - a tool for select out text and storing it as a JSON field value, sort grep plus sed cleanup and semi-structured text (e.g. webpage)
42+
43+
<ul>
44+
<li>look at how cut, sed, grep are commonly used in my scripts and merge that functionality into a single tool</li>
45+
</ul></li>
46+
<li>[ ] csvcols, csvrows should have a length option to give you a number of columns or rows respectively</li>
47+
<li>[ ] csvcols, csvrows should have a filter option to filter to support filting output conditionally</li>
48+
<li>[ ] csvsort should allow a multi-column sort respecting column headings
49+
50+
<ul>
51+
<li>plus column number would be ascending by that column</li>
52+
<li>minos column number would be descending by that column</li>
53+
<li>sort would be read from left to right</li>
54+
<li>it would be good to include support for column names and not just column numbers to describe the sort</li>
55+
</ul></li>
56+
<li>[ ] jsonmodify takes a JSON document, a dotpath and value then creates/updates the dotpath in the JSON document with the new value
57+
58+
<ul>
59+
<li>&rdquo;(delete DOTPATH)&rdquo; would remove the property described by the dotpath</li>
60+
<li>&rdquo;(update DOTPATH NEW_VALUE)&rdquo; would replace the property described by the dotpath with a new value (value can be a string, number, or JSON)</li>
61+
<li>&rdquo;(create&rdquo; DOTPATH NEW_VALUE)&rdquo; would add a new property at the described dotpath with a new value (value can be a string, number, or JSON)</li>
62+
<li>&rdquo;(join DOTH_PATH SEP)&rdquo; combines JSON array elements into a string version using separator</li>
63+
<li>&rdquo;(concat DOTPATH1 DOTPATH2&hellip; SEP)&rdquo; combines values into a concatenated string, it takes one or more dotpath values (must be string or number) and return them as a concatenated value (concat .last_name .first_name &ldquo;, &ldquo;) would return a last name comma first name string.</li>
64+
<li>&rdquo;(split DOTH_PATH SEP)&rdquo; turns a string into an array of strings using separator</li>
65+
</ul></li>
66+
<li>[ ] csvcols, csvrows should have a filter mechanism should provide a mechanism to filter by column or row
67+
68+
<ul>
69+
<li>using a prefix notation (e.g. &lsquo;(and (eq (join (cols (colNo &ldquo;Last Name&rdquo;) (colNo &ldquo;First Name&rdquo;)) &ldquo;, &ldquo;) &ldquo;Doiel, R. S.&rdquo;) (gt (cols 4) &ldquo;2017-06-12&rdquo;))&rsquo;)</li>
70+
</ul></li>
71+
<li>[ ] csvfind, csvjoin should have an inverted match operation</li>
72+
<li>[ ] a range should accept the word &ldquo;all&rdquo; as well as comma delimited list of rows and ranges</li>
73+
<li>[ ] Add -uuid and -skip-header-row options constistantly to all csv tools
74+
75+
<ul>
76+
<li>[ ] csvcols</li>
77+
</ul></li>
78+
<li>[ ] unify the options vocabulary to work the same between each cli
79+
80+
<ul>
81+
<li>Need a common approach to column ranges in csvcols, csvfind, csvjoin</li>
82+
<li>csv2json, csv2mdtable, csv2xlsx should accept a column and row range option for output</li>
83+
</ul></li>
84+
<li>[ ] csvfind add filter by row number (helpful when combined with csvcols for snapshotting the middle of a table)</li>
85+
<li>[ ] csv2json should have an option that will include a row number in JSON blob output</li>
86+
<li>[ ] csv2json should have the options to normalize property names in JSON objects
87+
88+
<ul>
89+
<li>camel case</li>
90+
<li>snake case</li>
91+
<li>lower case/upper case</li>
92+
<li>space to underscores</li>
93+
<li>strip punctuation</li>
94+
<li>rename keys</li>
95+
</ul></li>
96+
<li>[ ] csvrotate would take a CSV file as import and output columns as rows</li>
97+
<li>[ ] smartcat would function like cat but with support for ranges of lines (e.g. show me last 20 lines: smartcat -start=0 -end=&ldquo;-20&rdquo; file.txt; cat starting with 10th line: smartcat -start=10 file.txt)
98+
99+
<ul>
100+
<li>[ ] allow prefix line number with a specific delimiter (E.g. comma would let you cat a CSV file adding row numbers as first column)</li>
101+
<li>[ ] show lines with prefix, suffix, containing or regxp</li>
102+
<li>[ ] show lines without prefix, suffix, containing or regexp</li>
103+
</ul></li>
104+
</ul>
105+
106+
<h2>Completed</h2>
107+
108+
<ul>
109+
<li>[x] csvcols -col option should not be a boolean, it should take a range like other csv cli</li>
110+
<li>[x] utilities should use starting index of 1 instead of zero as humans refer to column 1 when intending to work on the first column</li>
111+
<li>[x] for all cli the -delimiter option should support special characters like \t, \n, \r</li>
112+
<li>[x] csvfind would accept CSV input from stdin and output rows with matching column values
113+
114+
<ul>
115+
<li>E.g. <code>cat file1.csv | csvfind -levenshtein -stop-words=&quot;the:a:of&quot; -col=1 &quot;This Red Book of West March&quot;</code></li>
116+
<li>E.g. <code>cat file1.csv | csvfind -inverted -levenstein -stop-words=&quot;the:a:of&quot; -col=1 &quot;This Red Book of West March&quot;</code></li>
117+
<li>E.g. <code>cat file1.csv | csvfind -contains -col=1 &quot;Red Book&quot;</code></li>
118+
</ul></li>
119+
<li>[x] csvjoin should have option for fuzzy match on columns (e.g. comparing titles)</li>
120+
</ul>
121+
122+
</section>
123+
124+
<footer>
125+
<span><h1><A href="http://caltech.edu">Caltech</a></h1></span>
126+
<span>&copy; 2017 <a href="https://www.library.caltech.edu/copyright">Caltech library</a></span>
127+
<address>1200 E California Blvd, Mail Code 1-32, Pasadena, CA 91125-3200</address>
128+
<span>Phone: <a href="tel:+1-626-395-3405">(626)395-3405</a></span>
129+
<span><a href="mailto:[email protected]">Email Us</a></span>
130+
<a class="cl-hide" href="sitemap.xml">Site Map</a>
131+
</footer>
132+
</body>
133+
</html>

datatools.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import (
3535
)
3636

3737
const (
38-
Version = `v0.0.16-dev`
38+
Version = `v0.0.16`
3939

4040
LicenseText = `
4141
%s %s

docs/csv2json.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ <h2>EXAMPLES</h2>
6060
<pre><code class="language-shell"> csv2json -as-blobs -i data1.csv
6161
</code></pre>
6262

63-
<p>csv2json v0.0.15</p>
63+
<p>csv2json v0.0.16</p>
6464

6565
</section>
6666

docs/csv2json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ Convert data1.csv to JSON blobs, one line per blob
4141
```
4242

4343

44-
csv2json v0.0.15
44+
csv2json v0.0.16

docs/csv2mdtable.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ <h2>EXAMPLES</h2>
5757
<pre><code class="language-shell"> csv2mdtable -i data1.csv -o data1.md
5858
</code></pre>
5959

60-
<p>csv2mdtable v0.0.15</p>
60+
<p>csv2mdtable v0.0.16</p>
6161

6262
</section>
6363

docs/csv2mdtable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ Convert data1.csv to data1.md using options.
3838
```
3939

4040

41-
csv2mdtable v0.0.15
41+
csv2mdtable v0.0.16

docs/csv2xlsx.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ <h2>EXAMPLE</h2>
5959
<p>This does the same but the contents of data.csv are piped into
6060
the workbook&rsquo;s sheet.</p>
6161

62-
<p>csv2xlsx v0.0.15</p>
62+
<p>csv2xlsx v0.0.16</p>
6363

6464
</section>
6565

docs/csv2xlsx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ This does the same but the contents of data.csv are piped into
4040
the workbook's sheet.
4141

4242

43-
csv2xlsx v0.0.15
43+
csv2xlsx v0.0.16

docs/csvcols.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ <h2>EXAMPLES</h2>
7676
<pre><code class="language-shell"> csvcols -i 10col.csv -col 1,4,6 &gt; 3col.csv
7777
</code></pre>
7878

79-
<p>csvcols v0.0.15</p>
79+
<p>csvcols v0.0.16</p>
8080

8181
</section>
8282

0 commit comments

Comments
 (0)