Skip to content

Commit 88e4dfa

Browse files
committed
fix(Command): Stop re-rendering tables for each row
Signed-off-by: provokateurin <kate@provokateurin.de>
1 parent f6f9798 commit 88e4dfa

File tree

7 files changed

+94
-85
lines changed

7 files changed

+94
-85
lines changed

lib/Command/CirclesList.php

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -223,25 +223,26 @@ private function displayCircles(array $circles): void {
223223
$table->setHeaders(
224224
['Single Id', 'Name', 'Config', 'Source', 'Owner', 'Instance', 'Population']
225225
);
226-
$table->render();
227226

228227
$displayName = $this->input->getOption('display-name');
229228
$display = ($this->input->getOption('def') ? Circle::FLAGS_LONG : Circle::FLAGS_SHORT);
229+
$rows = [];
230230
foreach ($circles as $circle) {
231231
$owner = $circle->getOwner();
232-
$table->appendRow(
233-
[
234-
$circle->getSingleId(),
235-
$this->cut(($displayName ? $circle->getDisplayName() : $circle->getName()), 40),
236-
json_encode(Circle::getCircleFlags($circle, $display)),
237-
Circle::$DEF_SOURCE[$circle->getSource()],
238-
$this->cut($displayName ? $owner->getDisplayName() : $owner->getUserId(), 40),
239-
$this->configService->displayInstance($owner->getInstance()),
240-
((string)$circle->getPopulation()) . '/'
241-
. ((string)$this->getInt('members_limit', $circle->getSettings(), -1))
242-
. ' (' . ((string)$circle->getPopulationInherited()) . ')'
243-
]
244-
);
232+
$rows[] = [
233+
$circle->getSingleId(),
234+
$this->cut(($displayName ? $circle->getDisplayName() : $circle->getName()), 40),
235+
json_encode(Circle::getCircleFlags($circle, $display)),
236+
Circle::$DEF_SOURCE[$circle->getSource()],
237+
$this->cut($displayName ? $owner->getDisplayName() : $owner->getUserId(), 40),
238+
$this->configService->displayInstance($owner->getInstance()),
239+
((string)$circle->getPopulation()) . '/'
240+
. ((string)$this->getInt('members_limit', $circle->getSettings(), -1))
241+
. ' (' . ((string)$circle->getPopulationInherited()) . ')'
242+
];
245243
}
244+
245+
$table->setRows($rows);
246+
$table->render();
246247
}
247248
}

lib/Command/CirclesMemberships.php

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -357,28 +357,29 @@ private function manageAllMemberships() {
357357
$output = $output->section();
358358
$table = new Table($output);
359359
$table->setHeaders(['Circle Id', 'Name', 'Source', 'Owner', 'Instance', 'Updated', 'Memberships']);
360-
$table->render();
361360

362361
$count = 0;
362+
$rows = [];
363363
foreach ($circles as $circle) {
364364
$owner = $circle->getOwner();
365365

366366
$updated = $this->membershipService->manageMemberships($circle->getSingleId());
367367
$count += $updated;
368368
$federatedUser = $this->circleRequest->getFederatedUserBySingleId($circle->getSingleId());
369-
$table->appendRow(
370-
[
371-
$circle->getSingleId(),
372-
$circle->getDisplayName(),
373-
($circle->getSource() > 0) ? Circle::$DEF_SOURCE[$circle->getSource()] : '',
374-
$owner->getUserId(),
375-
$this->configService->displayInstance($owner->getInstance()),
376-
$updated,
377-
sizeof($federatedUser->getMemberships())
378-
]
379-
);
369+
$rows[] = [
370+
$circle->getSingleId(),
371+
$circle->getDisplayName(),
372+
($circle->getSource() > 0) ? Circle::$DEF_SOURCE[$circle->getSource()] : '',
373+
$owner->getUserId(),
374+
$this->configService->displayInstance($owner->getInstance()),
375+
$updated,
376+
sizeof($federatedUser->getMemberships())
377+
];
380378
}
381379

380+
$table->setRows($rows);
381+
$table->render();
382+
382383
$output->writeln(((string)$count) . ' memberships updated');
383384
}
384385
}

lib/Command/CirclesRemote.php

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -461,8 +461,8 @@ private function checkRemoteInstances(): void {
461461
$output = $output->section();
462462
$table = new Table($output);
463463
$table->setHeaders(['Instance', 'Type', 'iface', 'UID', 'Authed', 'Aliases']);
464-
$table->render();
465464

465+
$rows = [];
466466
foreach ($instances as $instance) {
467467
try {
468468
$current = $this->remoteStreamService->retrieveRemoteInstance($instance->getInstance());
@@ -475,17 +475,18 @@ private function checkRemoteInstances(): void {
475475
$currentUid = '<error>' . $e->getMessage() . '</error>';
476476
}
477477

478-
$table->appendRow(
479-
[
480-
$instance->getInstance(),
481-
$instance->getType(),
482-
InterfaceService::$LIST_IFACE[$instance->getInterface()],
483-
$instance->getUid(),
484-
$currentUid,
485-
json_encode($instance->getAliases())
486-
]
487-
);
478+
$rows[] = [
479+
$instance->getInstance(),
480+
$instance->getType(),
481+
InterfaceService::$LIST_IFACE[$instance->getInterface()],
482+
$instance->getUid(),
483+
$currentUid,
484+
json_encode($instance->getAliases())
485+
];
488486
}
487+
488+
$table->setRows($rows);
489+
$table->render();
489490
}
490491

491492

lib/Command/CirclesTest.php

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -162,18 +162,18 @@ protected function execute(InputInterface $input, OutputInterface $output): int
162162
$output = new ConsoleOutput();
163163
$table = new Table($output->section());
164164
$table->setHeaders(['SingleId', 'Circle Name', 'Type']);
165-
$table->render();
166165

166+
$rows = [];
167167
foreach ($circles as $entry) {
168-
$table->appendRow(
169-
[
170-
$entry->getSingleId(),
171-
$entry->getDisplayName(),
172-
Circle::$DEF_SOURCE[$entry->getSource()]
173-
]
174-
);
168+
$rows[] = [
169+
$entry->getSingleId(),
170+
$entry->getDisplayName(),
171+
Circle::$DEF_SOURCE[$entry->getSource()]
172+
];
175173
}
176174

175+
$table->setRows($rows);
176+
$table->render();
177177

178178
return 0;
179179
$federatedUser = $circlesManager->getFederatedUser('test1', Member::TYPE_USER);
@@ -204,18 +204,19 @@ protected function execute(InputInterface $input, OutputInterface $output): int
204204
$output = new ConsoleOutput();
205205
$table = new Table($output->section());
206206
$table->setHeaders(['SingleId', 'Circle Name', 'Type']);
207-
$table->render();
208207

208+
$rows = [];
209209
foreach ($circles as $entry) {
210-
$table->appendRow(
211-
[
212-
$entry->getSingleId(),
213-
$entry->getDisplayName(),
214-
Circle::$DEF_SOURCE[$entry->getSource()]
215-
]
216-
);
210+
$rows[] = [
211+
$entry->getSingleId(),
212+
$entry->getDisplayName(),
213+
Circle::$DEF_SOURCE[$entry->getSource()]
214+
];
217215
}
218216

217+
$table->setRows($rows);
218+
$table->render();
219+
219220

220221
// exit
221222
return 0;

lib/Command/MembersList.php

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -215,37 +215,38 @@ protected function execute(InputInterface $input, OutputInterface $output): int
215215
'Username', 'Level', 'Invited By'
216216
]
217217
);
218-
$table->render();
219218

219+
$rows = [];
220220
foreach ($members as $member) {
221221
if ($member->getCircleId() === $circleId) {
222222
$level = $member->getLevel();
223223
} else {
224224
$level = $member->getInheritanceFrom()->getLevel();
225225
}
226226

227-
$table->appendRow(
228-
[
229-
$member->getCircleId(),
230-
$member->getCircle()->getDisplayName(),
231-
$member->getId(),
232-
$member->getSingleId(),
233-
Member::$TYPE[$member->getUserType()],
234-
$member->hasBasedOn() ? Circle::$DEF_SOURCE[$member->getBasedOn()->getSource()] : '',
235-
$this->configService->displayFederatedUser(
236-
$member,
237-
$this->input->getOption('display-name')
238-
),
239-
($level > 0) ? Member::$DEF_LEVEL[$level] :
240-
'(' . strtolower($member->getStatus()) . ')',
241-
($member->hasInvitedBy()) ? $this->configService->displayFederatedUser(
242-
$member->getInvitedBy(),
243-
$this->input->getOption('display-name')
244-
) : 'Unknown'
245-
]
246-
);
227+
$rows[] = [
228+
$member->getCircleId(),
229+
$member->getCircle()->getDisplayName(),
230+
$member->getId(),
231+
$member->getSingleId(),
232+
Member::$TYPE[$member->getUserType()],
233+
$member->hasBasedOn() ? Circle::$DEF_SOURCE[$member->getBasedOn()->getSource()] : '',
234+
$this->configService->displayFederatedUser(
235+
$member,
236+
$this->input->getOption('display-name')
237+
),
238+
($level > 0) ? Member::$DEF_LEVEL[$level] :
239+
'(' . strtolower($member->getStatus()) . ')',
240+
($member->hasInvitedBy()) ? $this->configService->displayFederatedUser(
241+
$member->getInvitedBy(),
242+
$this->input->getOption('display-name')
243+
) : 'Unknown'
244+
];
247245
}
248246

247+
$table->setRows($rows);
248+
$table->render();
249+
249250
return 0;
250251
}
251252

lib/Command/MembersSearch.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,20 +87,21 @@ private function displaySearchResult(array $result) {
8787
$output = $output->section();
8888
$table = new Table($output);
8989
$table->setHeaders(['SingleId', 'UserId', 'UserType', 'Instance']);
90-
$table->render();
9190

91+
$rows = [];
9292
foreach ($result as $entry) {
9393
if (!$result instanceof IFederatedUser) {
9494
continue;
9595
}
96-
$table->appendRow(
97-
[
98-
$entry->getSingleId(),
99-
$entry->getUserId(),
100-
Member::$TYPE[$entry->getUserType()],
101-
$this->configService->displayInstance($entry->getInstance())
102-
]
103-
);
96+
$rows[] = [
97+
$entry->getSingleId(),
98+
$entry->getUserId(),
99+
Member::$TYPE[$entry->getUserType()],
100+
$this->configService->displayInstance($entry->getInstance())
101+
];
104102
}
103+
104+
$table->setRows($rows);
105+
$table->render();
105106
}
106107
}

lib/Command/SharesFiles.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,8 @@ private function displayShares(
193193
}
194194

195195
$table->setHeaders($headers);
196-
$table->render();
197196

197+
$rows = [];
198198
foreach ($shareWrappers as $share) {
199199
if (!$filterRecipient) {
200200
$recipient = $share->getInitiator();
@@ -230,8 +230,11 @@ private function displayShares(
230230
);
231231
}
232232

233-
$table->appendRow($row);
233+
$rows[] = $row;
234234
}
235+
236+
$table->setRows($rows);
237+
$table->render();
235238
}
236239

237240

0 commit comments

Comments
 (0)