Rework some core licensing stubs and prepare for new license actions.

Review Request #14401 — Created April 21, 2025 and updated — Latest diff uploaded

Information

Review Board
release-7.1.x

Reviewers

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 of Union.

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.

Changes between revision 1 and 2

orig
1
2
3
4
5

Commits

Summary ID Author
Rework some core licensing stubs and prepare for new license actions.
`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 of `Union`. Upcoming changes will begin to flesh out more of this, and add UI around license displays.
11705549fc4dadf6a836bc38c1d471608f2d92ca Christian Hammond
Rework some core licensing stubs and prepare for new license actions.
`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 of `Union`. Upcoming changes will begin to flesh out more of this, and add UI around license displays.
f0298a734d28ce2998231606c8402486237a3e59 Christian Hammond
reviewboard/licensing/provider.py
Loading...