Improve the default summaries and logic for licenses.
Review Request #14508 — Created July 15, 2025 and submitted — Latest diff uploaded
The default summaries for a license are now computed in
LicenseInfo.get_summary(), and now state information such as the
number of days left in a trial or a grace period. The plan name is no
longer wrapped in parentheses by default, but License Providers can
overrideLicenseInfo.format_plan_name()to set this however they need.The default summary-building makes use of strings stored in a map, which
helps keep the strings maintainable and avoids a bunch of nested logic.
This is purely internal as a helper.There are a few other small fixes for typos and types, and
LicenseInfo.__repr__()has been added.
Unit tests pass.
Verified the different states on the Licenses page.
Made use of the summary in the Power Pack work.