Support controller reuse across multiple NinjaExtraAPI
instances
#293
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #287
Updated
NinjaExtraAPI.register_controllers
to handle per-API isolation:and a fresh APIController to avoid shared global state.
_registered_controllers
(WeakSet) to guard against duplicate registration on the same API._controller_clones
(dict) to cache per-API clones and prevent creating multiple subclasses for the same original controller.Enhanced tests:
auto_discover_controllers
respectsauto_import=False
.(distinct routers, correct
self.api
binding).