1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
U
£ý°d“ ã@s€dZddlZddlmZddlmZmZddlmZm    Z    ddl
m
Z
ddl m Z d    Z ed
d d deeeee d œdd„ƒZdS)z5Implementing support for MySQL Authentication PluginséN)Ú    lru_cache)ÚOptionalÚTypeé)ÚNotSupportedErrorÚProgrammingError)Úlogger)ÚBaseAuthPluginzmysql.connector.pluginsé
F)ÚmaxsizeÚtyped)Ú plugin_nameÚauth_plugin_classÚreturnc
CsÒt}|r¾zVt d|¡t d|¡t d|›|¡}|rBt||ƒsH|j}t d|¡t||ƒWStk
rŒ}zt     d|¡W5d}~XYn2t
k
r¼}zt d|›ƒ|‚W5d}~XYnXt d|›d    ƒ‚dS)
aÁReturn authentication class based on plugin name
 
    This function returns the class for the authentication plugin plugin_name.
    The returned class is a subclass of BaseAuthPlugin.
 
    Args:
        plugin_name (str): Authentication plugin name.
        auth_plugin_class (str): Authentication plugin class name.
 
    Raises:
        NotSupportedError: When plugin_name is not supported.
 
    Returns:
        Subclass of `BaseAuthPlugin`.
    z package: %szplugin_name: %sÚ.zAUTHENTICATION_PLUGIN_CLASS: %sz"Requested Module was not found: %sNzInvalid module name: zAuthentication plugin 'z' is not supported) ÚDEFAULT_PLUGINS_PKGrÚinfoÚ    importlibÚ import_moduleÚhasattrZAUTHENTICATION_PLUGIN_CLASSÚgetattrÚModuleNotFoundErrorÚwarningÚ
ValueErrorrr)r rÚpackageZ plugin_moduleÚerr©rúUd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\mysql/connector/authentication.pyÚget_auth_plugin+s    "r)N)Ú__doc__rÚ    functoolsrÚtypingrrÚerrorsrrrZpluginsr    rÚstrrrrrrÚ<module>s   
þý