
    Ef                     Z    d Z ddlmZ ddlmZ  G d de          Z G d de          ZdS )	z
    pyexcel_io.database.sql
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    The lower level handler for database import and export

    :copyright: (c) 2014-2022 by Onni Software Ltd.
    :license: New BSD License, see LICENSE for more details
    )IReader)QuerysetsReaderc                       e Zd ZdZddZdS )SQLTableReaderzRead a tableNc                     |                     |                                          }d }|r|}n7t          |          dk    r$t          d |d         j        D                       }t          j        | ||fi | d S )Nr   c                     g | ]
}|d k    |S )_sa_instance_state ).0columns     j/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/pyexcel_io/database/exporters/sqlalchemy.py
<listcomp>z+SQLTableReader.__init__.<locals>.<listcomp>   s.       "!%999 999    )queryalllensorted__dict__r   __init__)selfsessiontableexport_columnskeywords
everythingcolumn_namess          r   r   zSQLTableReader.__init__   s    ]]5))--//
 
	)LL:""% &0m&<      	 z<LL8LLLLLr   N)__name__
__module____qualname____doc__r   r
   r   r   r   r      s4        M M M M M Mr   r   c                   $    e Zd ZdZd Zd Zd ZdS )SQLBookReaderzread a table via sqlalchemyc                 D    || _         | j         j        | _        || _        d S r   )_SQLBookReader__exporteradapterscontent_arrayr   )r   exporter_r   s       r   r   zSQLBookReader.__init__%   s!    "!_5 r   c                 j    | j         |         }t          | j        j        |j        |j                  }|S r   )r'   r   r%   r   r   r   )r   native_sheet_indexnative_sheetreaders       r   
read_sheetzSQLBookReader.read_sheet*   s:    )*<=O#'
 

 r   c                     d S r   r
   )r   s    r   closezSQLBookReader.close3   s    r   N)r   r   r    r!   r   r.   r0   r
   r   r   r#   r#   "   sG        %%! ! !
      r   r#   N)r!   pyexcel_io.plugin_apir   pyexcel_io.database.querysetsr   r   r#   r
   r   r   <module>r3      s     * ) ) ) ) ) 9 9 9 9 9 9M M M M M_ M M M(    G     r   