Ë
    qûàgã  ã                   ó8  — d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
  G d„ dej                  «      Z G d„ dej                  «      Z G d	„ d
e«      Z G d„ dej                  j                   «      Z G d„ dej$                  «      Z G d„ dej                  «      Zy)é    )Úmodels)Únow)Úgettext_lazy)ÚAutoSlugFieldÚCreationDateTimeFieldÚModificationDateTimeFieldc                   ón   ‡ — e Zd ZdZ e ed«      «      Z e ed«      «      Zˆ fd„Z	 G d„ d«      Z
ˆ xZS )ÚTimeStampedModelz|
    TimeStampedModel

    An abstract base class model that provides self-managed "created" and
    "modified" fields.
    ÚcreatedÚmodifiedc                 óh   •— |j                  dt        | dd«      «      | _        t        ‰| �  di |¤Ž y )NÚupdate_modifiedT© )ÚpopÚgetattrr   ÚsuperÚsave)ÚselfÚkwargsÚ	__class__s     €úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django_extensions/db/models.pyr   zTimeStampedModel.save   s1   ø€ Ø%Ÿz™zÐ*;¼WÀTÐK\Ð^bÓ=cÓdˆÔÜ‰‰Ñ�vÓó    c                   ó   — e Zd ZdZdZy)úTimeStampedModel.Metar   TN)Ú__name__Ú
__module__Ú__qualname__Úget_latest_byÚabstractr   r   r   ÚMetar      s   „ Ø"ˆØ‰r   r    )r   r   r   Ú__doc__r   Ú_r   r   r   r   r    Ú__classcell__©r   s   @r   r
   r
   	   s5   ø„ ññ $¡A i£LÓ1€GÙ(©¨:«Ó7€Hô÷õ r   r
   c                   óŽ   — e Zd ZdZ ej
                   ed«      d¬«      Z ej                   ed«      dd¬«      Z	 G d„ d	«      Z
y
)ÚTitleDescriptionModelzm
    TitleDescriptionModel

    An abstract base class model that provides title and description fields.
    Útitleéÿ   )Ú
max_lengthÚdescriptionT)ÚblankÚnullc                   ó   — e Zd ZdZy)úTitleDescriptionModel.MetaTN©r   r   r   r   r   r   r   r    r.   '   ó   „ Ø‰r   r    N)r   r   r   r!   r   Ú	CharFieldr"   r'   Ú	TextFieldr*   r    r   r   r   r&   r&      sF   „ ñð ˆF×Ñ™Q˜w›Z°CÔ8€EØ"�&×"Ñ"¡1 ]Ó#3¸4ÀdÔK€K÷ò r   r&   c                   óD   — e Zd ZdZ e ed«      d¬«      Z G d„ d«      Zy)ÚTitleSlugDescriptionModelaÁ  
    TitleSlugDescriptionModel

    An abstract base class model that provides title and description fields
    and a self-managed "slug" field that populates from the title.

    .. note ::
        If you want to use custom "slugify" function, you could
        define ``slugify_function`` which then will be used
        in :py:class:`AutoSlugField` to slugify ``populate_from`` field.

        See :py:class:`AutoSlugField` for more details.
    Úslugr'   )Úpopulate_fromc                   ó   — e Zd ZdZy)úTitleSlugDescriptionModel.MetaTNr/   r   r   r   r    r8   <   r0   r   r    N)r   r   r   r!   r   r"   r5   r    r   r   r   r4   r4   +   s#   „ ññ ™˜6›°'Ô:€D÷ò r   r4   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚActivatorQuerySetzH
    ActivatorQuerySet

    Query set that returns statused results
    c                 óB   — | j                  t        j                  ¬«      S )z Return active query set ©Ústatus)ÚfilterÚActivatorModelÚACTIVE_STATUS©r   s    r   ÚactivezActivatorQuerySet.activeG   s   € à�{‰{¤.×">Ñ">ˆ{Ó?Ð?r   c                 óB   — | j                  t        j                  ¬«      S )z Return inactive query set r<   )r>   r?   ÚINACTIVE_STATUSrA   s    r   ÚinactivezActivatorQuerySet.inactiveK   s   € à�{‰{¤.×"@Ñ"@ˆ{ÓAÐAr   N)r   r   r   r!   rB   rE   r   r   r   r:   r:   @   s   „ ñò@óBr   r:   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚActivatorModelManagerz|
    ActivatorModelManager

    Manager to return instances of ActivatorModel: SomeModel.objects.active() / .inactive()
    c                 óD   — t        | j                  | j                  ¬«      S )z' Use ActivatorQuerySet for all results )ÚmodelÚusing)r:   rI   Ú_dbrA   s    r   Úget_querysetz"ActivatorModelManager.get_querysetW   s   € ä  t§z¡z¸¿¹ÔBÐBr   c                 ó>   — | j                  «       j                  «       S )zƒ
        Return active instances of ActivatorModel:

        SomeModel.objects.active(), proxy to ActivatorQuerySet.active
        )rL   rB   rA   s    r   rB   zActivatorModelManager.active[   s   € ð × Ñ Ó"×)Ñ)Ó+Ð+r   c                 ó>   — | j                  «       j                  «       S )z‰
        Return inactive instances of ActivatorModel:

        SomeModel.objects.inactive(), proxy to ActivatorQuerySet.inactive
        )rL   rE   rA   s    r   rE   zActivatorModelManager.inactivec   s   € ð × Ñ Ó"×+Ñ+Ó-Ð-r   N)r   r   r   r!   rL   rB   rE   r   r   r   rG   rG   P   s   „ ñòCò,ó.r   rG   c                   ó  ‡ — e Zd ZdZdZdZe ed«      fe ed«      ffZ ej                   ed«      ee¬«      Z
 ej                  dd ed	«      ¬
«      Z ej                  dd ed«      ¬
«      Z e«       Z G d„ d«      Zˆ fd„Zˆ xZS )r?   zh
    ActivatorModel

    An abstract base class model that provides activate and deactivate fields.
    r   é   ÚInactiveÚActiver=   )ÚchoicesÚdefaultTz&keep empty for an immediate activation)r+   r,   Ú	help_textz$keep empty for indefinite activationc                   ó   — e Zd ZdZdZy)úActivatorModel.Meta)r=   z-activate_dateTN)r   r   r   Úorderingr   r   r   r   r    rW      s   „ Ø0ˆØ‰r   r    c                 óZ   •— | j                   st        «       | _         t        ‰| �  |i |¤Ž y )N)Úactivate_dater   r   r   )r   Úargsr   r   s      €r   r   zActivatorModel.saveƒ   s'   ø€ Ø×!Ò!Ü!$£ˆDÔÜ‰‰�dÐ%˜fÓ%r   )r   r   r   r!   rD   r@   r"   ÚSTATUS_CHOICESr   ÚIntegerFieldr=   ÚDateTimeFieldrZ   Údeactivate_daterG   Úobjectsr    r   r#   r$   s   @r   r?   r?   l   s¥   ø„ ñð €OØ€Mð 
™!˜J›-Ð(Ø	™˜(›Ð$ð€Nð !ˆV× Ñ ¡ 8£°nÈmÔ\€FØ(�F×(Ñ(¨t¸$É!ÐLtÓJuÔv€MØ*�f×*Ñ*°¸DÉAÐNtÓLuÔv€OÙ#Ó%€G÷ñ ÷&ð &r   r?   N)Ú	django.dbr   Údjango.utils.timezoner   Údjango.utils.translationr   r"   Údjango_extensions.db.fieldsr   r   r   ÚModelr
   r&   r4   ÚqueryÚQuerySetr:   ÚManagerrG   r?   r   r   r   ú<module>ri      sy   ðå Ý %Ý 6ç gÑ gô�v—|‘|ô ô(˜FŸL™Lô ôÐ 5ô ô*B˜Ÿ™×-Ñ-ô Bô .˜FŸN™Nô .ô8&�V—\‘\õ &r   