B *oaÀGŠ’¹ã@sHddlmZmZddlmZmZddlmZeeƒGdd„deƒƒZ dS)é)Úabsolute_importÚunicode_literals)ÚABCMetaÚabstractmethod)Ú add_metaclassc@s<eZdZdZedd„ƒZdd„Zedd„ƒZe dd „ƒZ d S) ÚDiscoverz5Discover and provide the requested Python interpretercCst‚dS)z`Add CLI arguments for this discovery mechanisms. :param parser: the CLI parser N)ÚNotImplementedError)ÚclsÚparser©r úN/opt/alt/python37/lib/python3.7/site-packages/virtualenv/discovery/discover.pyÚadd_parser_arguments szDiscover.add_parser_argumentscCsd|_d|_|j|_dS)z…Create a new discovery mechanism. :param options: the parsed options as defined within :meth:`add_parser_arguments` FN)Ú_has_runÚ _interpreterÚenvZ_env)ÚselfÚoptionsr r r Ú__init__szDiscover.__init__cCst‚dS)zsDiscovers an interpreter. :return: the interpreter ready to use for virtual environment creation N)r)rr r r Úrunsz Discover.runcCs |jdkr| ¡|_d|_|jS)zM :return: the interpreter as returned by :meth:`run`, cached FT)rrr)rr r r Ú interpreter's  zDiscover.interpreterN) Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú classmethodr rrrÚpropertyrr r r r rs   rN) Ú __future__rrÚabcrrZsixrÚobjectrr r r r Ús