Bug 33050: Allow to specify quote char in runreport.pl
Add to script misc/cronjobs/runreport.pl quote char arg (only for CSV). See perl doc https://metacpan.org/pod/Text::CSV#new This patch also adds missing '--separator' in POD. Test plan : 1 - Write a SQL report 2 - perl misc/cronjobs/runreport.pl --format csv 1 (or correct report number) 3 - Note you get double quotes 4 - Apply patch 5 - Repeat #2 - no change 6 - perl misc/cronjobs/runreport.pl --format csv --quote "'" 1 7 - Now it is single quote delimited 8 - perl misc/cronjobs/runreport.pl --format tsv --separator "'" 1 9 - Error is reported, you cannot set quote unless csv 10 - Try empty string as quote Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
2b6ec7064e
commit
4d604ac2a9
1 changed files with 17 additions and 0 deletions
|
@ -65,6 +65,8 @@ runreport.pl [ -h | -m ] [ -v ] reportID [ reportID ... ]
|
||||||
--subject=s subject for the e-mail
|
--subject=s subject for the e-mail
|
||||||
--param=s parameters for the report
|
--param=s parameters for the report
|
||||||
--store-results store the result of the report
|
--store-results store the result of the report
|
||||||
|
--separator separator character for csv
|
||||||
|
--quote quote character for csv
|
||||||
--csv-header add column names as first line of csv output
|
--csv-header add column names as first line of csv output
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,6 +97,11 @@ Current options are text, html, csv, and tsv. At the moment, text and tsv both p
|
||||||
|
|
||||||
Separator character, only for csv format. Default to comma.
|
Separator character, only for csv format. Default to comma.
|
||||||
|
|
||||||
|
=item B<--quote>
|
||||||
|
|
||||||
|
Quote character, only for csv format. Default to double quote.
|
||||||
|
Empty string is allowed.
|
||||||
|
|
||||||
=item B<--email>
|
=item B<--email>
|
||||||
|
|
||||||
Whether to use e-mail (implied by --to or --from).
|
Whether to use e-mail (implied by --to or --from).
|
||||||
|
@ -191,6 +198,7 @@ my $quote = '"';
|
||||||
my $store_results = 0;
|
my $store_results = 0;
|
||||||
my $csv_header = 0;
|
my $csv_header = 0;
|
||||||
my $csv_separator = "";
|
my $csv_separator = "";
|
||||||
|
my $csv_quote = "";
|
||||||
|
|
||||||
my $username = undef;
|
my $username = undef;
|
||||||
my $password = undef;
|
my $password = undef;
|
||||||
|
@ -204,6 +212,7 @@ GetOptions(
|
||||||
'verbose' => \$verbose,
|
'verbose' => \$verbose,
|
||||||
'format=s' => \$format,
|
'format=s' => \$format,
|
||||||
'separator=s' => \$csv_separator,
|
'separator=s' => \$csv_separator,
|
||||||
|
'quote=s' => \$csv_quote,
|
||||||
'to=s' => \$to,
|
'to=s' => \$to,
|
||||||
'from=s' => \$from,
|
'from=s' => \$from,
|
||||||
'subject=s' => \$subject,
|
'subject=s' => \$subject,
|
||||||
|
@ -237,6 +246,14 @@ if ($csv_separator) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($csv_quote) {
|
||||||
|
if ( $format eq 'csv' ) {
|
||||||
|
$quote = "$csv_quote";
|
||||||
|
} else {
|
||||||
|
print STDERR "Cannot specify quote if not using CSV format\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($format eq 'tsv' || $format eq 'text') {
|
if ($format eq 'tsv' || $format eq 'text') {
|
||||||
$format = 'csv';
|
$format = 'csv';
|
||||||
$separator = "\t";
|
$separator = "\t";
|
||||||
|
|
Loading…
Reference in a new issue