U
    [e                     @   sT   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 G dd	 d	eZd
S )z
    pyexcel.plugins.sources.querysets
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Representation of querysets

    :copyright: (c) 2015-2022 by Onni Software Ltd.
    :license: New BSD License
    )	constants)AbstractSource)get_data)DB_QUERYSET   )paramsc                   @   sB   e Zd ZdZejejgZej	fZ
ejfZg Zd	ddZdd ZdS )
SheetQuerySetSourcez_
    Database query set as data source

    SQLAlchemy and Django query sets are supported
    Nr   c                 K   s~   || _ | j d krtj| _ || _|| _|| _|| _|| _|	| _|d krLt	d |d kr\t	d |
d krlt	d t
j| f| d S )Nzstart_column is ignoredzcolumn_limit is ignoredzskip_column_func is ignored)Z _SheetQuerySetSource__sheet_namer   ZDEFAULT_SHEET_NAME"_SheetQuerySetSource__column_names _SheetQuerySetSource__query_sets"_SheetQuerySetSource__row_renderer_SheetQuerySetSource__start_row_SheetQuerySetSource__row_limit#_SheetQuerySetSource__skip_row_funcprintr   __init__)selfcolumn_namesZ
query_setsZ
sheet_namerow_renderer	start_row	row_limitZstart_columnZcolumn_limitskip_row_funcZskip_column_funckeywords r   c/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pyexcel/plugins/sources/querysets.pyr      s     
zSheetQuerySetSource.__init__c                 C   sF   t | j| j| jd}| jd k	r(| j|d< t| jft| jd|}|S )N)r   r   r   r   )	file_typer   )	dictr   r   r   r   r   r   r   r
   )r   Zlocal_paramsdatar   r   r   r   ?   s     

zSheetQuerySetSource.get_data)NNr   r	   NNNN)__name__
__module____qualname____doc__r   ZCOLUMN_NAMESZ
QUERY_SETSfieldsr   ZSHEETtargetsZREAD_ACTIONactions
attributesr   r   r   r   r   r   r      s           
 r   N)r!   Zpyexcelr   Zpyexcel.sourcer   Z
pyexcel_ior   Zpyexcel_io.constantsr    r   r   r   r   r   r   <module>   s   	