mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 04:40:22 -07:00
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display * update six import * Move remaining failes to display singleton * Fix rebase issues * Singleton improvements * Add code-smell for 'from __main__ import display'. ci_complete * s/self/cls/g * Add docs for no-main-display * Address linting issues * Add changelog fragment. ci_complete * Implement reentrant lock for class instantiation in Singleton * Add Display singleton porting guide
This commit is contained in:
parent
54a2f21f93
commit
9773a1f289
149 changed files with 407 additions and 766 deletions
|
@ -236,12 +236,9 @@ Here's a simple lookup plugin implementation --- this lookup returns the content
|
|||
"""
|
||||
from ansible.errors import AnsibleError, AnsibleParserError
|
||||
from ansible.plugins.lookup import LookupBase
|
||||
from ansible.utils.display import Display
|
||||
|
||||
try:
|
||||
from __main__ import display
|
||||
except ImportError:
|
||||
from ansible.utils.display import Display
|
||||
display = Display()
|
||||
display = Display()
|
||||
|
||||
|
||||
class LookupModule(LookupBase):
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
Sanity Tests » no-main-display
|
||||
==============================
|
||||
|
||||
As of Ansible 2.8, ``Display`` should no longer be imported from ``__main__``.
|
||||
|
||||
``Display`` is now a singleton and should be utilized like the following::
|
||||
|
||||
from ansible.utils.display import Display
|
||||
display = Display()
|
||||
|
||||
There is no longer a need to attempt ``from __main__ import display`` inside
|
||||
a ``try/except`` block.
|
Loading…
Add table
Add a link
Reference in a new issue