
     hi                     $   d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
 g ZdgZg dZ ed      rej                  d       ej                  d	        Z ed
      re ed      z  Zne ed      z  ZdD ]  Z e	e      \  ZZeez  Zeez  Z d Zy)    N)isolated)SourceModule)check_requirementcollect_entry_pointloggerzsqlalchemy.testing)	pysqlite2MySQLdbpsycopg2zsqlalchemy.ext.bakedzsqlalchemy >= 1.4z!sqlalchemy.sql.default_comparatorc                 v    dd l } |j                  |       }|j                  D cg c]	  }|  d|  c}S c c}w )Nr   .)	importlibimport_module__all__)module_namer   modulesubmodule_names       MC:\des-py\Monitor\venv\Lib\site-packages\PyInstaller/hooks/hook-sqlalchemy.py_get_dialect_modulesr       s;    $Y$$[1FDJNNS.{m1^,-SSSs   6zsqlalchemy >= 0.6sqlalchemy.dialectszsqlalchemy.databases)r   zsqlalchemy.pluginsc                    t        d      syt        j                  d      }t               }t               }| j                  j                  | j                        D ]  }t        |t              s|j                  j                  d      s0|j                  |j                         t        |j                  d      5 }|j                         }ddd       t        j                   j#                        }|j%                  |      D ]  }|j                  |         ||z  }t'        |      r8t)        j*                  dt'        |              | j,                  t/        |        yy# 1 sw Y   xY w)a>  
    SQLAlchemy 0.9 introduced the decorator 'util.dependencies'.  This decorator does imports. E.g.:

            @util.dependencies("sqlalchemy.sql.schema")

    This hook scans for included SQLAlchemy modules and then scans those modules for any util.dependencies and marks
    those modules as hidden imports.
    zsqlalchemy >= 0.9Nz%@util.dependencies\([\'"](.*?)[\'"]\))startzsqlalchemy.rbz$  Found %d sqlalchemy hidden imports)r   recompilesetmodule_graph
iter_graphr   
isinstancer   
identifier
startswithaddopenfilenamereadr   utildecode_sourcefindalllenr   infoadd_importslist)hook_apidepend_regexhidden_imports_setknown_importsnodefsource_codematchs           r   hookr4   6   s:    01 ::FGLEM%%00x0G .dL)doo.H.H.Wdoo. dmmT* 'affh'#..66{CK &--k: ."&&u-.. -'
:C@R<STd#567 ' 's   =E''E0	)r   importlib.utilr   PyInstallerr   'PyInstaller.lib.modulegraph.modulegraphr   PyInstaller.utils.hooksr   r   r   datasexcludedimportshiddenimportsappenddecorater   entry_point_nameep_datasep_hiddenimportsr4        r   <module>rC      s    
    @ R R
 (( M()<= 
T T ())*?@@M)*@AAM F &!45E!FH	XE%%M&"8rB   