@@ -156,7 +156,9 @@ def pytask_execute_build(self) -> Generator[None, None, None]:
156
156
self ._live_manager .start ()
157
157
yield
158
158
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 )
160
162
161
163
@hookimpl (tryfirst = True )
162
164
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
179
181
if more entries are requested, the list is filled up with completed tasks.
180
182
181
183
"""
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 ,
195
208
)
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 :
222
213
table .add_row (
223
214
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 ,
225
218
),
226
- "running" ,
219
+ Text ( report [ "outcome" ]. symbol , style = report [ "outcome" ]. style ) ,
227
220
)
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 == []:
229
231
table = None
230
232
231
233
return table
0 commit comments