@@ -328,105 +328,15 @@ def generate_report(self, sketches_reports):
328
328
329
329
# Generate summary report data
330
330
summary_report_data = [[fqbn_column_heading ]]
331
- row_number = 0
332
331
for fqbns_data in sketches_reports :
333
332
for fqbn_data in fqbns_data [self .ReportKeys .boards ]:
334
- row_number += 1
335
- # Add a row to the report
336
- row = ["" for _ in range (len (summary_report_data [0 ]))]
337
- row [0 ] = fqbn_data [self .ReportKeys .board ]
338
- summary_report_data .append (row )
339
-
340
- # Populate the row with data
341
- for size_data in fqbn_data [self .ReportKeys .sizes ]:
342
- # Determine column number for this memory type
343
- column_number = get_report_column_number (
344
- report = summary_report_data ,
345
- column_heading = size_data [self .ReportKeys .name ]
346
- )
347
-
348
- # Add the memory data to the cell
349
- if self .ReportKeys .delta in size_data :
350
- # Absolute data
351
- summary_report_data [row_number ][column_number ] = (
352
- self .get_summary_value (
353
- show_emoji = True ,
354
- minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][
355
- self .ReportKeys .minimum ],
356
- maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][
357
- self .ReportKeys .maximum ]
358
- )
359
- )
360
-
361
- # Relative data
362
- summary_report_data [row_number ][column_number + 1 ] = (
363
- self .get_summary_value (
364
- show_emoji = False ,
365
- minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .relative ][
366
- self .ReportKeys .minimum ],
367
- maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .relative ][
368
- self .ReportKeys .maximum ]
369
- )
370
- )
371
- else :
372
- # Absolute data
373
- summary_report_data [row_number ][column_number ] = (
374
- self .get_summary_value (
375
- show_emoji = True ,
376
- minimum = self .not_applicable_indicator ,
377
- maximum = self .not_applicable_indicator
378
- )
379
- )
380
-
381
- # Relative data
382
- summary_report_data [row_number ][column_number + 1 ] = (
383
- self .get_summary_value (
384
- show_emoji = False ,
385
- minimum = self .not_applicable_indicator ,
386
- maximum = self .not_applicable_indicator
387
- )
388
- )
333
+ self .add_summary_report_row (summary_report_data , fqbn_data )
389
334
390
335
# Generate detailed report data
391
336
full_report_data = [[fqbn_column_heading ]]
392
- row_number = 0
393
337
for fqbns_data in sketches_reports :
394
338
for fqbn_data in fqbns_data [self .ReportKeys .boards ]:
395
- row_number += 1
396
- # Add a row to the report
397
- row = ["" for _ in range (len (full_report_data [0 ]))]
398
- row [0 ] = fqbn_data [self .ReportKeys .board ]
399
- full_report_data .append (row )
400
-
401
- # Populate the row with data
402
- for sketch in fqbn_data [self .ReportKeys .sketches ]:
403
- for size_data in sketch [self .ReportKeys .sizes ]:
404
- # Determine column number for this memory type
405
- column_number = get_report_column_number (
406
- report = full_report_data ,
407
- column_heading = (
408
- sketch [self .ReportKeys .name ] + "<br>"
409
- + size_data [self .ReportKeys .name ]
410
- )
411
- )
412
-
413
- # Add the memory data to the cell
414
- if self .ReportKeys .delta in size_data :
415
- # Absolute
416
- full_report_data [row_number ][column_number ] = (
417
- size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ]
418
- )
419
-
420
- # Relative
421
- full_report_data [row_number ][column_number + 1 ] = (
422
- size_data [self .ReportKeys .delta ][self .ReportKeys .relative ]
423
- )
424
- else :
425
- # Absolute
426
- full_report_data [row_number ][column_number ] = self .not_applicable_indicator
427
-
428
- # Relative
429
- full_report_data [row_number ][column_number + 1 ] = self .not_applicable_indicator
339
+ self .add_detailed_report_row (full_report_data , fqbn_data )
430
340
431
341
# Add comment heading
432
342
report_markdown = self .report_key_beginning + sketches_reports [0 ][self .ReportKeys .commit_hash ] + "**\n \n "
@@ -460,6 +370,112 @@ def generate_report(self, sketches_reports):
460
370
logger .debug ("Report:\n " + report_markdown )
461
371
return report_markdown
462
372
373
+ def add_summary_report_row (self , report_data , fqbn_data ):
374
+ """Add a row to the summary report.
375
+
376
+ Keyword arguments:
377
+ report_data -- the report to add the row to
378
+ right_directory -- the data used to populate the row
379
+ """
380
+ row_number = len (report_data )
381
+ # Add a row to the report
382
+ row = ["" for _ in range (len (report_data [0 ]))]
383
+ row [0 ] = fqbn_data [self .ReportKeys .board ]
384
+ report_data .append (row )
385
+
386
+ # Populate the row with data
387
+ for size_data in fqbn_data [self .ReportKeys .sizes ]:
388
+ # Determine column number for this memory type
389
+ column_number = get_report_column_number (
390
+ report = report_data ,
391
+ column_heading = size_data [self .ReportKeys .name ]
392
+ )
393
+
394
+ # Add the memory data to the cell
395
+ if self .ReportKeys .delta in size_data :
396
+ # Absolute data
397
+ report_data [row_number ][column_number ] = (
398
+ self .get_summary_value (
399
+ show_emoji = True ,
400
+ minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][
401
+ self .ReportKeys .minimum ],
402
+ maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][
403
+ self .ReportKeys .maximum ]
404
+ )
405
+ )
406
+
407
+ # Relative data
408
+ report_data [row_number ][column_number + 1 ] = (
409
+ self .get_summary_value (
410
+ show_emoji = False ,
411
+ minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .relative ][
412
+ self .ReportKeys .minimum ],
413
+ maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .relative ][
414
+ self .ReportKeys .maximum ]
415
+ )
416
+ )
417
+ else :
418
+ # Absolute data
419
+ report_data [row_number ][column_number ] = (
420
+ self .get_summary_value (
421
+ show_emoji = True ,
422
+ minimum = self .not_applicable_indicator ,
423
+ maximum = self .not_applicable_indicator
424
+ )
425
+ )
426
+
427
+ # Relative data
428
+ report_data [row_number ][column_number + 1 ] = (
429
+ self .get_summary_value (
430
+ show_emoji = False ,
431
+ minimum = self .not_applicable_indicator ,
432
+ maximum = self .not_applicable_indicator
433
+ )
434
+ )
435
+
436
+ def add_detailed_report_row (self , report_data , fqbn_data ):
437
+ """Add a row to the detailed report.
438
+
439
+ Keyword arguments:
440
+ report_data -- the report to add the row to
441
+ right_directory -- the data used to populate the row
442
+ """
443
+ row_number = len (report_data )
444
+ # Add a row to the report
445
+ row = ["" for _ in range (len (report_data [0 ]))]
446
+ row [0 ] = fqbn_data [self .ReportKeys .board ]
447
+ report_data .append (row )
448
+
449
+ # Populate the row with data
450
+ for sketch in fqbn_data [self .ReportKeys .sketches ]:
451
+ for size_data in sketch [self .ReportKeys .sizes ]:
452
+ # Determine column number for this memory type
453
+ column_number = get_report_column_number (
454
+ report = report_data ,
455
+ column_heading = (
456
+ sketch [self .ReportKeys .name ] + "<br>"
457
+ + size_data [self .ReportKeys .name ]
458
+ )
459
+ )
460
+
461
+ # Add the memory data to the cell
462
+ if self .ReportKeys .delta in size_data :
463
+ # Absolute
464
+ report_data [row_number ][column_number ] = (
465
+ size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ]
466
+ )
467
+
468
+ # Relative
469
+ report_data [row_number ][column_number + 1 ] = (
470
+ size_data [self .ReportKeys .delta ][self .ReportKeys .relative ]
471
+ )
472
+ else :
473
+ # Absolute
474
+ report_data [row_number ][column_number ] = self .not_applicable_indicator
475
+
476
+ # Relative
477
+ report_data [row_number ][column_number + 1 ] = self .not_applicable_indicator
478
+
463
479
def get_summary_value (self , show_emoji , minimum , maximum ):
464
480
"""Return the Markdown formatted text for a memory change data cell in the report table.
465
481
0 commit comments