Skip to content

Commit 7013e8f

Browse files
committed
Refine show group formatting
1 parent e54707b commit 7013e8f

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

src/poetry/console/commands/show.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,16 @@ def _display_packages_information(
310310
latest_statuses = {}
311311
installed_repo = InstalledRepository.load(self.env)
312312
requires = root.all_requires
313-
package_groups = self._package_groups(root) if show_groups else {}
313+
package_groups: dict[NormalizedName, list[NormalizedName]] = {}
314+
default_groups = ""
315+
formatted_groups: dict[NormalizedName, str] = {}
316+
if show_groups:
317+
package_groups = self._package_groups(root)
318+
default_groups = self._format_groups([])
319+
formatted_groups = {
320+
package_name: self._format_groups(groups)
321+
for package_name, groups in package_groups.items()
322+
}
314323

315324
# Computing widths
316325
for locked in locked_packages:
@@ -365,9 +374,7 @@ def _display_packages_information(
365374
if show_groups:
366375
groups_length = max(
367376
groups_length,
368-
len(
369-
self._format_groups(package_groups.get(locked.name, []))
370-
),
377+
len(formatted_groups.get(locked.name, default_groups)),
371378
)
372379
else:
373380
name_length = max(name_length, current_length)
@@ -389,7 +396,7 @@ def _display_packages_information(
389396
if show_groups:
390397
groups_length = max(
391398
groups_length,
392-
len(self._format_groups(package_groups.get(locked.name, []))),
399+
len(formatted_groups.get(locked.name, default_groups)),
393400
)
394401

395402
if self.option("format") == OutputFormats.JSON:
@@ -504,7 +511,7 @@ def _display_packages_information(
504511
line += f" <b>{version:{version_length}}</b>"
505512

506513
if write_groups:
507-
groups = self._format_groups(package_groups.get(locked.name, []))
514+
groups = formatted_groups.get(locked.name, default_groups)
508515
line += f" {groups:{groups_length}}"
509516

510517
if show_latest:
@@ -556,7 +563,7 @@ def _display_packages_information(
556563
def _package_groups(
557564
self, root: ProjectPackage
558565
) -> dict[NormalizedName, list[NormalizedName]]:
559-
active_groups = set(root._dependency_groups)
566+
active_groups = root.dependency_group_names(include_optional=True)
560567
lock_data = self.poetry.locker.lock_data
561568

562569
if (
@@ -571,7 +578,8 @@ def _package_groups(
571578
}
572579

573580
package_groups: dict[NormalizedName, set[NormalizedName]] = {}
574-
for group_name, group in root._dependency_groups.items():
581+
for group_name in root.dependency_group_names(include_optional=True):
582+
group = root.dependency_group(group_name)
575583
for dependency in group.dependencies_for_locking:
576584
package_groups.setdefault(dependency.name, set()).add(group_name)
577585

0 commit comments

Comments
 (0)