@@ -328,105 +328,15 @@ def generate_report(self, sketches_reports):
328328
329329 # Generate summary report data
330330 summary_report_data = [[fqbn_column_heading ]]
331- row_number = 0
332331 for fqbns_data in sketches_reports :
333332 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 )
389334
390335 # Generate detailed report data
391336 full_report_data = [[fqbn_column_heading ]]
392- row_number = 0
393337 for fqbns_data in sketches_reports :
394338 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 )
430340
431341 # Add comment heading
432342 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):
460370 logger .debug ("Report:\n " + report_markdown )
461371 return report_markdown
462372
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+
463479 def get_summary_value (self , show_emoji , minimum , maximum ):
464480 """Return the Markdown formatted text for a memory change data cell in the report table.
465481
0 commit comments