o
    —¨Êhþ  ã                   @  sÎ   d Z ddlmZ ddlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZ z
ddlmZmZ W n eyK   ddlmZmZ Y nw i Zeƒ Zeeed�ZG d	d
„ d
ƒZG dd„ dƒZdS )z6Kombu transport using SQLAlchemy as the message store.é    )ÚannotationsN)
ÚBooleanÚColumnÚDateTimeÚ
ForeignKeyÚIndexÚIntegerÚSequenceÚSmallIntegerÚStringÚText©Úrelationship)ÚMetaData)Údeclarative_baseÚdeclared_attr)ÚmetadataÚclass_registryc                   @  sZ   e Zd ZdZdddœZeeedƒddd�Zee	dƒdd�Z
d	d
„ Zdd„ Zedd„ ƒZdS )ÚQueuezThe queue class.TÚInnoDB©Úsqlite_autoincrementÚmysql_engineÚqueue_id_sequence©Úprimary_keyÚautoincrementéÈ   )Úuniquec                 C  s
   || _ d S ©N©Úname)Úselfr!   © r#   úS/var/www/html/env/lib/python3.10/site-packages/kombu/transport/sqlalchemy/models.pyÚ__init__    ó   
zQueue.__init__c                 C  s   d| j › d�S )Nz<Queue(z)>r    ©r"   r#   r#   r$   Ú__str__#   s   zQueue.__str__c                 C  s   t dddd�S )NÚMessageÚqueueÚnoload)ÚbackrefÚlazyr   )Úclsr#   r#   r$   Úmessages&   s   zQueue.messagesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__table_args__r   r   r	   Úidr   r!   r%   r(   r   r/   r#   r#   r#   r$   r      s    
ÿr   c                   @  sœ   e Zd ZdZedddƒdddœfZeeedƒddd	�Z	ee
ddd
�Zededdejjd�Zeedd�Zeeddd�ZdeiZdd„ Zdd„ Zedd„ ƒZdS )r)   zThe message class.Úix_kombu_message_timestamp_idÚ	timestampr5   Tr   r   Úmessage_id_sequencer   )ÚdefaultÚindex)Únullabler:   ÚonupdateF)r;   é   )r;   r9   Úversion_id_colc                 C  s   || _ || _d S r   )Úpayloadr*   )r"   r?   r*   r#   r#   r$   r%   =   s   
zMessage.__init__c                 C  s
   d  | ¡S )Nz/<Message: {0.sent_at} {0.payload} {0.queue_id}>)Úformatr'   r#   r#   r$   r(   A   r&   zMessage.__str__c                 C  s   t ttdtd j dd�ƒS )Nz%s.idr   ÚFK_kombu_message_queuer    )r   r   r   r   Ú__tablename__r'   r#   r#   r$   Úqueue_idD   s   þþzMessage.queue_idN)r0   r1   r2   r3   r   r4   r   r   r	   r5   r   Úvisibler   ÚdatetimeÚnowÚsent_atr   r?   r
   ÚversionÚ__mapper_args__r%   r(   r   rC   r#   r#   r#   r$   r)   +   s&    
þ
ÿ
ÿr)   )r3   Ú
__future__r   rE   Ú
sqlalchemyr   r   r   r   r   r   r	   r
   r   r   Úsqlalchemy.ormr   Úsqlalchemy.schemar   r   r   ÚImportErrorÚsqlalchemy.ext.declarativer   r   Ú	ModelBaser   r)   r#   r#   r#   r$   Ú<module>   s     0þ