From 6397db3a277327aa1d2013a392c954aede84d89c Mon Sep 17 00:00:00 2001 From: hydrargyrum Date: Tue, 17 Sep 2024 07:56:55 +0200 Subject: [PATCH] csv2table: add --html --- csv2table/_csv2table | 1 + csv2table/csv2table.py | 10 +++++++++- csv2table/test.sh | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/csv2table/_csv2table b/csv2table/_csv2table index 1a75735..da573c0 100644 --- a/csv2table/_csv2table +++ b/csv2table/_csv2table @@ -11,5 +11,6 @@ _arguments \ '(-b --box)-b[Use Unicode pretty characters instead of plain ASCII table]' \ '(-b --box)--box[Use Unicode pretty characters instead of plain ASCII table]' \ '--markdown[Output markdown table]' \ + '--html[Output HTML table]' \ --sniff \ ::FILE:_files diff --git a/csv2table/csv2table.py b/csv2table/csv2table.py index ab66497..bbe9e2c 100755 --- a/csv2table/csv2table.py +++ b/csv2table/csv2table.py @@ -39,6 +39,10 @@ def main(): '--markdown', action='store_true', help='Output markdown table', ) + parser.add_argument( + "--html", action="store_true", + help="Output HTML table", + ) parser.add_argument('--sniff', action='store_true') parser.add_argument('file', nargs='?', default='-') args = parser.parse_args() @@ -62,7 +66,11 @@ def main(): for row in data: table.add_row([row.get(col) for col in table.field_names]) - print(table) + + if args.html: + print(table.get_html_string()) + else: + print(table.get_string()) if __name__ == "__main__": diff --git a/csv2table/test.sh b/csv2table/test.sh index 96b5a55..6752105 100755 --- a/csv2table/test.sh +++ b/csv2table/test.sh @@ -54,3 +54,41 @@ check <<- EOF | banana | yellow | | orange | orange | EOF + +# html +init --header --html <<- EOF + name,color + zucchini,green + tomato,red + banana,yellow + orange,orange +EOF + +check <<- EOF + + + + + + + + + + + + + + + + + + + + + + + + + +
namecolor
zucchinigreen
tomatored
bananayellow
orangeorange
+EOF