Skip to content

Commit

Permalink
Merge pull request #36 from jpreisner/feat/format
Browse files Browse the repository at this point in the history
feat(#32): Amélioration de la gestion du paramètre --format
  • Loading branch information
jules-delecour-dav authored Apr 25, 2022
2 parents 7a3b6ef + e66b77b commit a4363a9
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 17 deletions.
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ Paramètres optionnels :
password: "<password>"
```
- `--format , -f` : Format du rapport. (Valeur par défaut : "xlsx")
- `--format , -f` : Format du rapport. Ce paramètre est optionnel : s'il n'est pas défini, alors le format sera déduit en fonction de l'extension du fichier du rapport. Lorsqu'il est défini, le paramètre format est prioritaire vis-à-vis de l'extension.

Choix :
- xlsx
Expand Down Expand Up @@ -399,7 +399,9 @@ docker run -it --init --rm --cap-add=SYS_ADMIN \

#### Excel (xlsx)

Prérequis : le fichier de sortie doit avoir l'extension `.xlsx`.
Prérequis :
- Soit le paramètre suivant est définit : `--format=xlsx` ou `-f=xlsx`
- Soit le fichier de sortie doit avoir l'extension `.xlsx`

Exemple de commande :

Expand All @@ -423,8 +425,9 @@ Exemple d'un rapport :
#### HTML

Prérequis :
- le fichier de sortie doit avoir l'extension `.html`
- le paramètre `--format=html` ou `-f=html` doit être utilisé
Prérequis :
- Soit le paramètre suivant est définit : `--format=html` ou `-f=html`
- Soit le fichier de sortie doit avoir l'extension `.html`

Exemple de commande :

Expand Down
5 changes: 0 additions & 5 deletions cli-core/reportExcel.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,7 @@ const ProgressBar = require('progress');

//create xlsx report for all the analysed pages and recap on the first sheet
async function create_XLSX_report(reportObject, options){
//Path of the output file
const OUTPUT_FILE = path.resolve(options.report_output_file);
if (!OUTPUT_FILE.toLowerCase().endsWith('.xlsx')) {
throw ` report_output_file : File "${OUTPUT_FILE}" does not end with the ".xlsx" extension.`
}

const fileList = reportObject.reports;
const globalReport = reportObject.globalReport;

Expand Down
5 changes: 0 additions & 5 deletions cli-core/reportHtml.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@ const cssBestPractices = {

//create html report for all the analysed pages and recap on the first sheet
async function create_html_report(reportObject,options){
//Path of the output file
const OUTPUT_FILE = path.resolve(options.report_output_file);
if (!OUTPUT_FILE.toLowerCase().endsWith('.html')) {
throw ` report_output_file : File "${OUTPUT_FILE}" does not end with the ".html" extension.`
}

const fileList = reportObject.reports;
const globalReport = reportObject.globalReport;

Expand Down
24 changes: 23 additions & 1 deletion commands/analyse.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ async function analyse_core(options) {
headers = readHeaders(options.headers);
}

// Get and check report format
const reportFormat = getReportFormat(options.format, options.report_output_file);
if (!reportFormat) {
throw 'Format not supported. Use --format option or report file extension to define a supported extension.'
}

//start browser
const browser = await puppeteer.launch({
headless: true,
Expand Down Expand Up @@ -68,7 +74,7 @@ async function analyse_core(options) {
}
//create report
let reportObj = await create_global_report(reports, options);
if(options.format === 'html') {
if (reportFormat === 'html') {
await create_html_report(reportObj, options);
} else {
await create_XLSX_report(reportObj, options);
Expand Down Expand Up @@ -101,6 +107,22 @@ function readHeaders(headersFile) {
return headers;
}

function getReportFormat(format, filename) {
// Check if format is defined
const formats = ['xlsx', 'html'];
if (format && formats.includes(format.toLowerCase())) {
return format.toLowerCase();
}

// Else, check extension
const filenameLC = filename.toLowerCase();
const extensionFormat = formats.find(format => filenameLC.endsWith(`.${format}`));
if (extensionFormat) {
console.log(`No output format specified, defaulting to ${extensionFormat} based on output file name.`);
}
return extensionFormat;
}

//export method that handle error
function analyse(options) {
analyse_core(options).catch(e=>console.error("ERROR : \n", e))
Expand Down
3 changes: 1 addition & 2 deletions greenit
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ yargs(hideBin(process.argv))
.option('format', {
alias: 'f',
type: 'string',
description: 'Report format : Possible choices : excel (default), html',
default: 'excel'
description: 'Report format : Possible choices : xlsx (excel), html'
})
.option('headers', {
alias: 'h',
Expand Down

0 comments on commit a4363a9

Please sign in to comment.