3737</ nav >
3838
3939< section >
40- < h2 >
40+ < h2 id =" action-items " >
4141Action Items
4242</ h2 >
43- < h2 >
43+ < h2 id =" bug " >
4444Bug
4545</ h2 >
46- < ul >
46+ < ul class =" task-list " >
4747< li >
48- [ ] findfile v0.0.23-pre option -f, -full-path doesn’t return full paths
48+ < input type ="checkbox " disabled ="" /> findfile v0.0.23-pre option -f,
49+ -full-path doesn’t return full paths
4950</ li >
5051</ ul >
51- < h2 >
52+ < h2 id =" next " >
5253Next
5354</ h2 >
54- < ul >
55+ < ul class =" task-list " >
5556< li >
56- [ ] Review https://csvkit.readthedocs.io/en/latest/ and implement the
57- features in datatools that make sense, e.g. csvsql, a csv2sql, sql2csv,
58- etc.
57+ < input type ="checkbox " disabled ="" /> Drop cli package, update Makefile,
58+ switch from mk_website.py to website.mak, add Man pages
5959</ li >
6060< li >
61- [ ] upgrade to use the new cli v0.0.5-dev
61+ < input type ="checkbox " disabled ="" /> Review
62+ https://csvkit.readthedocs.io/en/latest/ and implement the features in
63+ datatools that make sense, e.g. csvsql, a csv2sql, sql2csv, etc.
6264</ li >
6365< li >
64- [ ] csvrows would output a range of rows (e.g. [2:] would be all rows
65- but the first row)
66+ < input type =" checkbox " disabled ="" /> upgrade to use the new cli
67+ v0.0.5-dev
6668</ li >
6769< li >
68- [ ] csv utilities should support integer ranges notation for columns and
69- rows references, E.g. “1,3:4,7,10:” or all
70+ < input type ="checkbox " disabled ="" /> csvrows would output a range of
71+ rows (e.g. [2:] would be all rows but the first row)
72+ </ li >
73+ < li >
74+ < input type ="checkbox " disabled ="" /> csv utilities should support
75+ integer ranges notation for columns and rows references, E.g.
76+ “1,3:4,7,10:” or all
7077</ li >
7178</ ul >
72- < h2 >
79+ < h2 id =" someday-maybe " >
7380Someday, Maybe
7481</ h2 >
75- < ul >
82+ < ul class =" task-list " >
7683< li >
77- [ ] finddir should have an option to exclude directories (e.g. exclude
78- .git directories from a listing)
84+ < input type =" checkbox " disabled ="" /> finddir should have an option to
85+ exclude directories (e.g. exclude .git directories from a listing)
7986</ li >
8087< li >
81- [ ] textscraper - a tool for select out text and storing it as a JSON
82- field value, sort grep plus sed cleanup and semi-structured text
83- (e.g. webpage)
88+ < input type =" checkbox " disabled ="" /> textscraper - a tool for select out
89+ text and storing it as a JSON field value, sort grep plus sed cleanup
90+ and semi-structured text (e.g. webpage)
8491< ul >
8592< li >
8693look at how cut, sed, grep are commonly used in my scripts and merge
8996</ ul >
9097</ li >
9198< li >
92- [ ] csvcols, csvrows should have a length option to give you a number of
93- columns or rows respectively
99+ < input type =" checkbox " disabled ="" /> csvcols, csvrows should have a
100+ length option to give you a number of columns or rows respectively
94101</ li >
95102< li >
96- [ ] csvcols, csvrows should have a filter option to filter to support
97- filting output conditionally
103+ < input type =" checkbox " disabled ="" /> csvcols, csvrows should have a
104+ filter option to filter to support filting output conditionally
98105</ li >
99106< li >
100- [ ] csvsort should allow a multi-column sort respecting column headings
107+ < input type ="checkbox " disabled ="" /> csvsort should allow a multi-column
108+ sort respecting column headings
101109< ul >
102110< li >
103111plus column number would be ascending by that column
115123</ ul >
116124</ li >
117125< li >
118- [ ] jsonmodify takes a JSON document, a dotpath and value then
119- creates/updates the dotpath in the JSON document with the new value
126+ < input type ="checkbox " disabled ="" /> jsonmodify takes a JSON document, a
127+ dotpath and value then creates/updates the dotpath in the JSON document
128+ with the new value
120129< ul >
121130< li >
122131“(delete DOTPATH)” would remove the property described by the dotpath
146155</ ul >
147156</ li >
148157< li >
149- [ ] csvcols, csvrows should have a filter mechanism should provide a
150- mechanism to filter by column or row
158+ < input type =" checkbox " disabled ="" /> csvcols, csvrows should have a
159+ filter mechanism should provide a mechanism to filter by column or row
151160< ul >
152161< li >
153162using a prefix notation (e.g. ‘(and (eq (join (cols (colNo “Last Name”)
@@ -156,23 +165,25 @@ <h2>
156165</ ul >
157166</ li >
158167< li >
159- [ ] csvfind, csvjoin should have an inverted match operation
168+ < input type ="checkbox " disabled ="" /> csvfind, csvjoin should have an
169+ inverted match operation
160170</ li >
161171< li >
162- [ ] a range should accept the word “all” as well as comma delimited list
163- of rows and ranges
172+ < input type =" checkbox " disabled ="" /> a range should accept the word
173+ “all” as well as comma delimited list of rows and ranges
164174</ li >
165175< li >
166- [ ] Add -uuid and -skip-header-row options constistantly to all csv
167- tools
168- < ul >
176+ < input type =" checkbox " disabled ="" /> Add -uuid and -skip-header-row
177+ options constistantly to all csv tools
178+ < ul class =" task-list " >
169179< li >
170- [ ] csvcols
180+ < input type =" checkbox " disabled ="" /> csvcols
171181</ li >
172182</ ul >
173183</ li >
174184< li >
175- [ ] unify the options vocabulary to work the same between each cli
185+ < input type ="checkbox " disabled ="" /> unify the options vocabulary to
186+ work the same between each cli
176187< ul >
177188< li >
178189Need a common approach to column ranges in csvcols, csvfind, csvjoin
@@ -184,16 +195,17 @@ <h2>
184195</ ul >
185196</ li >
186197< li >
187- [ ] csvfind add filter by row number (helpful when combined with csvcols
188- for snapshotting the middle of a table)
198+ < input type ="checkbox " disabled ="" /> csvfind add filter by row number
199+ (helpful when combined with csvcols for snapshotting the middle of a
200+ table)
189201</ li >
190202< li >
191- [ ] csv2json should have an option that will include a row number in
192- JSON blob output
203+ < input type =" checkbox " disabled ="" /> csv2json should have an option that
204+ will include a row number in JSON blob output
193205</ li >
194206< li >
195- [ ] csv2json should have the options to normalize property names in JSON
196- objects
207+ < input type =" checkbox " disabled ="" /> csv2json should have the options to
208+ normalize property names in JSON objects
197209< ul >
198210< li >
199211camel case
@@ -216,48 +228,55 @@ <h2>
216228</ ul >
217229</ li >
218230< li >
219- [ ] csvrotate would take a CSV file as import and output columns as rows
231+ < input type ="checkbox " disabled ="" /> csvrotate would take a CSV file as
232+ import and output columns as rows
220233</ li >
221234< li >
222- [ ] smartcat would function like cat but with support for ranges of
223- lines (e.g. show me last 20 lines: smartcat -start=0 -end=“-20”
224- file.txt; cat starting with 10th line: smartcat -start=10 file.txt)
225- < ul >
235+ < input type ="checkbox " disabled ="" /> smartcat would function like cat
236+ but with support for ranges of lines (e.g. show me last 20 lines:
237+ smartcat -start=0 -end=“-20” file.txt; cat starting with 10th line:
238+ smartcat -start=10 file.txt)
239+ < ul class ="task-list ">
226240< li >
227- [ ] allow prefix line number with a specific delimiter (E.g. comma would
228- let you cat a CSV file adding row numbers as first column)
241+ < input type ="checkbox " disabled ="" /> allow prefix line number with a
242+ specific delimiter (E.g. comma would let you cat a CSV file adding row
243+ numbers as first column)
229244</ li >
230245< li >
231- [ ] show lines with prefix, suffix, containing or regxp
246+ < input type ="checkbox " disabled ="" /> show lines with prefix, suffix,
247+ containing or regxp
232248</ li >
233249< li >
234- [ ] show lines without prefix, suffix, containing or regexp
250+ < input type ="checkbox " disabled ="" /> show lines without prefix, suffix,
251+ containing or regexp
235252</ li >
236253</ ul >
237254</ li >
238255</ ul >
239- < h2 >
256+ < h2 id =" completed " >
240257Completed
241258</ h2 >
242- < ul >
259+ < ul class =" task-list " >
243260< li >
244- [x] consolidate string utilities (e.g. toupper, tolower, totitle) into
245- string cli
261+ < input type =" checkbox " disabled ="" checked ="" /> consolidate string
262+ utilities (e.g. toupper, tolower, totitle) into string cli
246263</ li >
247264< li >
248- [x] csvcols -col option should not be a boolean, it should take a range
249- like other csv cli
265+ < input type =" checkbox " disabled ="" checked ="" /> csvcols -col option
266+ should not be a boolean, it should take a range like other csv cli
250267</ li >
251268< li >
252- [x] utilities should use starting index of 1 instead of zero as humans
253- refer to column 1 when intending to work on the first column
269+ < input type ="checkbox " disabled ="" checked ="" /> utilities should use
270+ starting index of 1 instead of zero as humans refer to column 1 when
271+ intending to work on the first column
254272</ li >
255273< li >
256- [x] for all cli the -delimiter option should support special characters
257- like , /li>
274+ < input type ="checkbox " disabled ="" checked ="" /> for all cli the
275+ -delimiter option should support special characters like ,
276+ </ li >
258277< li >
259- [x] csvfind would accept CSV input from stdin and output rows with
260- matching column values
278+ < input type =" checkbox " disabled ="" checked ="" /> csvfind would accept CSV
279+ input from stdin and output rows with matching column values
261280< ul >
262281< li >
263282E.g. < code > cat file1.csv | csvfind -levenshtein -stop-words=“the:a:of”
273292</ ul >
274293</ li >
275294< li >
276- [x] csvjoin should have option for fuzzy match on columns (e.g.
277- comparing titles)
295+ < input type =" checkbox " disabled ="" checked ="" /> csvjoin should have
296+ option for fuzzy match on columns (e.g. comparing titles)
278297</ li >
279298</ ul >
280299</ section >
0 commit comments