@@ -156,7 +156,9 @@ def pytask_execute_build(self) -> Generator[None, None, None]:
156156 self ._live_manager .start ()
157157 yield
158158 self ._live_manager .stop (transient = True )
159- console .print (self ._generate_table (reduce_table = False , sort_table = True ))
159+ table = self ._generate_table (reduce_table = False , sort_table = True )
160+ if table is not None :
161+ console .print (table )
160162
161163 @hookimpl (tryfirst = True )
162164 def pytask_execute_task_log_start (self , task : MetaTask ) -> bool :
@@ -179,53 +181,53 @@ def _generate_table(self, reduce_table: bool, sort_table: bool) -> Optional[Tabl
179181 if more entries are requested, the list is filled up with completed tasks.
180182
181183 """
182- if self ._running_tasks or self ._reports :
183-
184- n_reports_to_display = self ._n_entries_in_table - len (self ._running_tasks )
185- if not reduce_table :
186- relevant_reports = self ._reports
187- elif n_reports_to_display >= 1 :
188- relevant_reports = self ._reports [- n_reports_to_display :]
189- else :
190- relevant_reports = []
191-
192- if sort_table :
193- relevant_reports = sorted (
194- relevant_reports , key = lambda report : report ["name" ]
184+ n_reports_to_display = self ._n_entries_in_table - len (self ._running_tasks )
185+ if not reduce_table :
186+ relevant_reports = self ._reports
187+ elif n_reports_to_display >= 1 :
188+ relevant_reports = self ._reports [- n_reports_to_display :]
189+ else :
190+ relevant_reports = []
191+
192+ if sort_table :
193+ relevant_reports = sorted (
194+ relevant_reports , key = lambda report : report ["name" ]
195+ )
196+
197+ table = Table ()
198+ table .add_column ("Task" , overflow = "fold" )
199+ table .add_column ("Outcome" )
200+ for report in relevant_reports :
201+ if (
202+ report ["outcome" ]
203+ in (
204+ TaskOutcome .SKIP ,
205+ TaskOutcome .SKIP_UNCHANGED ,
206+ TaskOutcome .SKIP_PREVIOUS_FAILED ,
207+ TaskOutcome .PERSISTENCE ,
195208 )
196-
197- table = Table ()
198- table .add_column ("Task" , overflow = "fold" )
199- table .add_column ("Outcome" )
200- for report in relevant_reports :
201- if (
202- report ["outcome" ]
203- in (
204- TaskOutcome .SKIP ,
205- TaskOutcome .SKIP_UNCHANGED ,
206- TaskOutcome .SKIP_PREVIOUS_FAILED ,
207- TaskOutcome .PERSISTENCE ,
208- )
209- and self ._verbose < 2
210- ):
211- pass
212- else :
213- table .add_row (
214- format_task_id (
215- report ["task" ],
216- editor_url_scheme = self ._editor_url_scheme ,
217- short_name = True ,
218- ),
219- Text (report ["outcome" ].symbol , style = report ["outcome" ].style ),
220- )
221- for task in self ._running_tasks .values ():
209+ and self ._verbose < 2
210+ ):
211+ pass
212+ else :
222213 table .add_row (
223214 format_task_id (
224- task , editor_url_scheme = self ._editor_url_scheme , short_name = True
215+ report ["task" ],
216+ editor_url_scheme = self ._editor_url_scheme ,
217+ short_name = True ,
225218 ),
226- "running" ,
219+ Text ( report [ "outcome" ]. symbol , style = report [ "outcome" ]. style ) ,
227220 )
228- else :
221+ for task in self ._running_tasks .values ():
222+ table .add_row (
223+ format_task_id (
224+ task , editor_url_scheme = self ._editor_url_scheme , short_name = True
225+ ),
226+ "running" ,
227+ )
228+
229+ # If the table is empty, do not display anything.
230+ if table .rows == []:
229231 table = None
230232
231233 return table
0 commit comments