Rework some core licensing stubs and prepare for new license actions.
Review Request #14401 — Created April 21, 2025 and updated — Latest diff uploaded
License
has been updated to provide consistent expiration-related
information, factoring in hard expiration dates, grace periods, and
"expires soon" logic.
LicenseStatus
constants have been renamed to go with
licensed/unlicensed terms and expired-based terms.There are new classes, errors, and stubs for license update checks and
for license actions (which will include things like manually uploading a
license).License check updates will be driven in an upcoming change. The process
involves asking the License Provider for a license check payload,
sending that payload to an outside server, then passing the result back
to the License Provider for processing.Type hints have been updated to utilize
|
instead ofUnion
.Upcoming changes will begin to flesh out more of this, and add UI around
license displays.
Unit tests pass.
Tested this along with in-progress changes, verifying all these new
capabilities being stubbed out in this change.
Diff Revision 3
This is not the most recent revision of the diff. The latest diff is revision 5. See what's changed.
Commits
docs/manual/extending/coderef/index.rst |
---|
reviewboard/licensing/errors.py |
---|
reviewboard/licensing/license.py |
---|
reviewboard/licensing/license_checks.py |
---|
reviewboard/licensing/provider.py |
---|
reviewboard/licensing/tests/__init__.py |
---|
reviewboard/licensing/tests/test_license_info.py |
---|