U
     uclL ã                   @   s6  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	 d dl
Z
d dlmZ dd	lT d d
lmZmZmZmZmZmZmZ G dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZ G d d!„ d!ejƒZ!G d"d#„ d#ejƒZ"G d$d%„ d%ejƒZ#G d&d'„ d'ejƒZ$G d(d)„ d)ejƒZ%G d*d+„ d+ejƒZ&G d,d-„ d-ejƒZ'G d.d/„ d/ejƒZ(G d0d1„ d1ejƒZ)G d2d3„ d3ejƒZ*G d4d5„ d5ejƒZ+G d6d7„ d7ejƒZ,G d8d9„ d9ejƒZ-G d:d;„ d;ejƒZ.G d<d=„ d=ejƒZ/G d>d?„ d?ejƒZ0G d@dA„ dAejƒZ1G dBdC„ dCejƒZ2G dDdE„ dEejƒZ3G dFdG„ dGejƒZ4G dHdI„ dIejƒZ5G dJdK„ dKejƒZ6G dLdM„ dMejƒZ7G dNdM„ dMejƒZ7G dOdP„ dPejƒZ8G dQdR„ dRejƒZ9G dSdT„ dTejƒZ:G dUdV„ dVejƒZ;G dWdX„ dXejƒZ<G dYdZ„ dZejƒZ=G d[d\„ d\ejƒZ>G d]d^„ d^ejƒZ?G d_d`„ d`ejƒZ@G dadb„ dbejƒZAG dcdd„ ddejƒZBG dedf„ dfejƒZCG dgdh„ dhejƒZDG didj„ djejƒZEG dkdl„ dlejƒZFG dmdn„ dnejƒZGG dodp„ dpejƒZHG dqdr„ drejƒZIG dsdt„ dtejƒZJG dudv„ dvejƒZKG dwdx„ dxejƒZLG dydz„ dzejƒZMG d{d|„ d|ejƒZNG d}d~„ d~ejƒZOG dd€„ d€ejƒZPG d�d‚„ d‚ejƒZQG dƒd„„ d„ejƒZRG d…d†„ d†ejƒZSG d‡dˆ„ dˆejƒZTG d‰dŠ„ dŠejƒZUG d‹dŒ„ dŒejƒZVG d�dŽ„ dŽejƒZWdS )�é    )Úread)Úmonth)Úfield)Úcount)ÚcontextN)Úserializersé   )Ú*)ÚSumÚAvgÚMaxÚMinÚCountÚFÚQc                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineCategorySerializerc                   @   s   e Zd ZeZdZdS )zMagazineCategorySerializer.MetaÚ__all__N©Ú__name__Ú
__module__Ú__qualname__ÚMagazineCategoryÚmodelÚfields© r   r   úa/var/www/html/staging.mfahmagazine.net/magazine_api/magazine_web_admin/magazineapp/serializers.pyÚMeta   s   r   N©r   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZG dd„ dƒZdS )ÚSystemCategorySerializerc                   @   s   e Zd ZeZdZdS )úSystemCategorySerializer.Meta)ÚidÚcategory_nameN©r   r   r   ÚSystemCategoryr   r   r   r   r   r   r      s   r   Nr   r   r   r   r   r      s   r   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineInfoSerializerc                   @   s0   e Zd ZeZddddddddd	d
ddddgZdS )zMagazineInfoSerializer.Metar    Ú	cover_picÚnameÚrattingÚ
rent_priceÚ	buy_priceÚdescriptionÚbackground_first_colorÚbackground_second_colorÚ
issue_dateÚsystem_categoryÚmagazine_categoryÚ	create_onÚ
updated_onN©r   r   r   ÚMagazineInfor   r   r   r   r   r   r      s   r   Nr   r   r   r   r   r$      s   r$   c                   @   s   e Zd ZG dd„ dƒZdS )ÚAuthorSerializerc                   @   s   e Zd ZeZddgZdS )zAuthorSerializer.Metar    Úauthor_nameN)r   r   r   ÚAuthorr   r   r   r   r   r   r   $   s   r   Nr   r   r   r   r   r4   #   s   r4   c                   @   sJ   e Zd Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dd„ Zd	S )
ÚMagazinebySystemSerializerc                   @   s6   e Zd ZeZddddddddd	d
dddddddgZdS )zMagazinebySystemSerializer.Metar    r%   r&   r'   r(   r)   r*   r+   r,   r-   Úpublished_dateÚ	frequencyÚ
total_pageÚauthorsÚis_favoriter0   r1   Nr2   r   r   r   r   r   -   s   r   c                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S ©NÚWÚWeeklyÚYÚYearlyr   ÚQuaterlyÚHzHalf YearlyÚMÚMonthly©r9   r3   ÚDoesNotExist©ÚselfÚobjr   r   r   Úget_frequency2   s    




z(MagazinebySystemSerializer.get_frequencyc                 C   s:   |r6| j  d¡}|r6tjj||jd� ¡ }|r2dS dS dS )NÚuser_id)ÚusersÚ	magazinesTF)r   ÚgetÚMagazineFavoriteÚobjectsÚfilterr    r   )rI   rJ   rL   Zmag_favr   r   r   Úget_is_favoriteB   s    z*MagazinebySystemSerializer.get_is_favoritec                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S ©N©r    T©Úmany©r6   rQ   rR   Ú	author_idÚallr4   Údata©rI   rJ   Úauthr   r   r   Úget_authorsP   s    z&MagazinebySystemSerializer.get_authorsN)r   r   r   r   ÚSerializerMethodFieldr9   r<   r;   r   rK   rS   r^   r   r   r   r   r7   )   s   r7   c                   @   sJ   e Zd Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dd„ Zd	S )
r   c                   @   s   e Zd ZeZdZdS )r   )Úsystem_category_idÚsystem_category_nameÚmagazineNr"   r   r   r   r   r   Y   s   r   c                 C   s   |j S ©NrU   rH   r   r   r   Úget_system_category_id]   s    z/SystemCategorySerializer.get_system_category_idc                 C   s   |j S rc   ©r!   rH   r   r   r   Úget_system_category_name`   s    z1SystemCategorySerializer.get_system_category_namec                 C   s0   t jj|jd� ¡ }t|dd| j d¡id�jS )N)r.   TrL   ©rW   r   )	r3   rQ   rR   r    rZ   r7   r   rO   r[   ©rI   rJ   Zmagazineinfor   r   r   Úget_magazinee   s    z%SystemCategorySerializer.get_magazineN)r   r   r   r   r_   r`   ra   rb   r   rd   rf   ri   r   r   r   r   r   U   s   c                   @   sJ   e Zd Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dd„ Zd	S )
ÚSystemppCategorySerializerc                   @   s   e Zd ZeZdZdS )zSystemppCategorySerializer.Meta)Úmagazine_category_idÚmagazine_category_namerb   Nr   r   r   r   r   r   m   s   r   c                 C   s   |j S rc   rU   rH   r   r   r   Úget_magazine_category_idq   s    z3SystemppCategorySerializer.get_magazine_category_idc                 C   s   |j S rc   re   rH   r   r   r   Úget_magazine_category_namet   s    z5SystemppCategorySerializer.get_magazine_category_namec                 C   s"   t jj|jd� ¡ }t|dd�jS )N)r/   TrV   )r3   rQ   rR   r    rZ   r7   r[   rh   r   r   r   ri   y   s    z'SystemppCategorySerializer.get_magazineN)r   r   r   r   r_   rk   rl   rb   r   rm   rn   ri   r   r   r   r   rj   i   s   rj   c                   @   sJ   e Zd Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dd„ Zd	S )
Ú"SystemAndMagazineDetailsSerializerc                   @   s   e Zd ZeZdddgZdS )z'SystemAndMagazineDetailsSerializer.Metar.   r/   rb   Nr2   r   r   r   r   r   �   s   r   c                 C   s   | j  d¡S )Nrk   ©r   rO   rH   r   r   r   Úget_magazine_category…   s    z8SystemAndMagazineDetailsSerializer.get_magazine_categoryc                 C   s   | j  d¡S )Nr`   rp   rH   r   r   r   Úget_system_categoryˆ   s    z6SystemAndMagazineDetailsSerializer.get_system_categoryc                 C   sL   | j  d¡}| j  d¡}| j  d¡}tjj||d� ¡ }t|dd|id�jS )NrL   r`   rk   )r.   r/   Trg   )r   rO   r3   rQ   rR   rZ   r7   r[   )rI   rJ   rL   r`   rk   Zmanginer   r   r   ri   ‹   s
    z/SystemAndMagazineDetailsSerializer.get_magazineN)r   r   r   r   r_   rb   r.   r/   r   rq   rr   ri   r   r   r   r   ro   }   s   ro   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazinebookmarkSerializerc                   @   s   e Zd ZeZdgZdS )zMagazinebookmarkSerializer.MetaÚpage_numberN©r   r   r   ÚMagazineBookmarkr   r   r   r   r   r   r   •   s   r   Nr   r   r   r   r   rs   ”   s   rs   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMegazinePagesSerializerc                   @   s   e Zd ZeZdgZdS )zMegazinePagesSerializer.MetaÚpagesN)r   r   r   ÚMegazinePagesr   r   r   r   r   r   r   œ   s   r   Nr   r   r   r   r   rw   ›   s   rw   c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚMagazineDetailSerializerc                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )zMagazineDetailSerializer.Metar    Úmagazine_urlÚis_purchaser%   r&   r'   r(   r)   r*   r+   r,   Úreadsr;   r8   r9   ra   rl   Úis_bookmarkr<   rx   rM   r0   r1   Nr2   r   r   r   r   r   «   s   r   c                 C   sN   t jj|jd� ¡ }|jrF|rFtjj|jd�jdd�}|dkrBdS dS dS d S ©N©rN   rU   T©r~   r   F©rv   rQ   rR   r    Úlastr3   Úupdate©rI   rJ   ZbookmarkobjZstatusbookmarkr   r   r   Úget_is_bookmark°   s    
z(MagazineDetailSerializer.get_is_bookmarkc                 C   sN   t jj|jd� ¡ }|jrF|rFtjj|jd�jdd�}|dkrBdS dS dS d S ©Nr€   rU   T)r<   r   F©rP   rQ   rR   r    rƒ   r3   r„   ©rI   rJ   ZfavoritreobjZstatusfavoritrer   r   r   rS   º   s    
z(MagazineDetailSerializer.get_is_favoritec                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK   Ä   s    




z&MagazineDetailSerializer.get_frequencyc                 C   sX   z:|j r6tjj|j d� ¡ }|r0t|ƒj}|W S W d S W d S  tjk
rR   Y d S X d S ©N©rb   ©	r    ry   rQ   rR   rƒ   rw   r[   r3   rG   ©rI   rJ   ÚmagazineobjÚ
serializerr   r   r   Úget_magazine_urlÔ   s    
z)MagazineDetailSerializer.get_magazine_urlc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S ©NrU   ©r.   r#   rQ   rR   r    rƒ   r!   ©rI   rJ   Z	systemobjr   r   r   rf   ó   s    z1MagazineDetailSerializer.get_system_category_namec                 C   s&   |j r"tjj|jjd� ¡ }|jS d S r‘   ©r.   r   rQ   rR   r/   r    rƒ   r!   ©rI   rJ   rŽ   r   r   r   rn   ú   s    z3MagazineDetailSerializer.get_magazine_category_namec                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S rT   rX   r\   r   r   r   r^     s    z$MagazineDetailSerializer.get_authorsc                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S ©Nr€   TrV   ©rv   rQ   rR   r    Úvaluesrs   r[   ©rI   rJ   Úpageobjr   r   r   Ú	get_pages  s    z"MagazineDetailSerializer.get_pagesN©r   r   r   r   r_   ra   rl   r;   rx   r{   r9   r~   r<   r   r†   rS   rK   r�   rf   rn   r^   r›   r   r   r   r   rz   ¢   s"   

rz   c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚDetailSerializerc                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )zDetailSerializer.Metar    r{   r|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   rx   rM   r0   r1   Nr2   r   r   r   r   r     s   r   c                 C   sd   zFt jj|jd� ¡ }|r>tjj|jd�jdd�}|rDW dS nW dS W n t jk
r^   Y dS X d S )Nr€   rU   Tr�   F)rv   rQ   rR   r    rƒ   r3   r„   rG   r…   r   r   r   r†     s    
z DetailSerializer.get_is_bookmarkc                 C   sN   t jj|jd� ¡ }|jrF|rFtjj|jd�jdd�}|dkrBdS dS dS d S r‡   rˆ   r‰   r   r   r   rS   2  s    
z DetailSerializer.get_is_favoritec                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK   =  s    




zDetailSerializer.get_frequencyc                 C   sX   z:|j r6tjj|j d� ¡ }|r0t|ƒj}|W S W d S W d S  tjk
rR   Y d S X d S rŠ   rŒ   r�   r   r   r   r�   M  s    
z!DetailSerializer.get_magazine_urlc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   r’   r“   r   r   r   rf   l  s    z)DetailSerializer.get_system_category_namec                 C   s&   |j r"tjj|jjd� ¡ }|jS d S r‘   r”   r•   r   r   r   rn   s  s    z+DetailSerializer.get_magazine_category_namec                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S rT   rX   r\   r   r   r   r^   z  s    zDetailSerializer.get_authorsc                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S r–   r—   r™   r   r   r   r›   €  s    zDetailSerializer.get_pagesNrœ   r   r   r   r   r�     s"   r�   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineBookmarkSerializerc                   @   s    e Zd ZeZddddddgZdS )zMagazineBookmarkSerializer.Metar    rt   rN   rM   r0   r1   Nru   r   r   r   r   r   ˆ  s   r   Nr   r   r   r   r   rž   ‡  s   rž   c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚBookmarkListSerializerc                   @   s    e Zd ZeZddddddgZdS )zBookmarkListSerializer.Metar    rt   Úmagazine_idrL   r0   r1   Nru   r   r   r   r   r   ‘  s   r   c                 C   s   |j r|j jS d S rc   ©rN   r    rH   r   r   r   Úget_magazine_id–  s    z&BookmarkListSerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   ©rM   r    rH   r   r   r   Úget_user_id›  s    z"BookmarkListSerializer.get_user_idN)
r   r   r   r   r_   rL   r    r   r¢   r¤   r   r   r   r   rŸ   Ž  s
   rŸ   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineFavoriteSerializerc                   @   s    e Zd ZeZddddddgZdS )zMagazineFavoriteSerializer.Metar    rt   rN   rM   r0   r1   N)r   r   r   rP   r   r   r   r   r   r   r   ¢  s   r   Nr   r   r   r   r   r¥   ¡  s   r¥   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineInfosSerializerc                   @   s   e Zd ZeZdZdS )zMagazineInfosSerializer.Metar   Nr2   r   r   r   r   r   ª  s   r   Nr   r   r   r   r   r¦   ©  s   r¦   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineInfosCoverPicSerializerc                   @   s   e Zd ZeZdgZdS )z$MagazineInfosCoverPicSerializer.Metar%   Nr2   r   r   r   r   r   ®  s   r   Nr   r   r   r   r   r§   ­  s   r§   c                   @   sj   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	G dd„ dƒZ
dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚMagazinePurchaseInfoSerializerc                   @   s.   e Zd ZeZddddddddd	d
dddgZdS )z#MagazinePurchaseInfoSerializer.Metar    r&   r    Ú	rent_dater'   Úbuy_dateÚis_buyedÚ	is_rentedÚrent_expiry_dater;   r%   r0   r1   N©r   r   r   ÚMagazinePurchaseInfor   r   r   r   r   r   r   ¸  s   r   c                 C   s   |j r|j jS d S rc   )ÚmagazineInfosr'   rH   r   r   r   Úget_ratting¾  s    z*MagazinePurchaseInfoSerializer.get_rattingc                 C   s   |j r|j jS d S rc   ©r°   r    rH   r   r   r   r¢   Ã  s    z.MagazinePurchaseInfoSerializer.get_magazine_idc                 C   s4   |j r0tjj|j jd� ¡ }|r,|jr,|jS d S d S r‘   )r°   r3   rQ   rR   r    rƒ   r&   r•   r   r   r   Úget_nameÈ  s    
z'MagazinePurchaseInfoSerializer.get_namec                 C   sT   z6|j r2tjj|j jd� ¡ }t|dd�}|jW S W d S  tjk
rN   Y d S X d S ©NrU   FrV   ©	r°   r3   rQ   rR   r    rƒ   r§   r[   rG   r�   r   r   r   Úget_cover_picÒ  s    z,MagazinePurchaseInfoSerializer.get_cover_picc                 C   s:   |j r6|j jr6tjj|j jd� ¡ }|r6t|dd�jS d S rT   ©r°   rY   r6   rQ   rR   rZ   r4   r[   r\   r   r   r   r^   Ü  s
    z*MagazinePurchaseInfoSerializer.get_authorsN)r   r   r   r   r_   r&   r;   r%   r    r'   r   r±   r¢   r³   r¶   r^   r   r   r   r   r¨   ±  s   

r¨   c                   @   s   e Zd ZG dd„ dƒZdS )ÚPurchaseInfoSerializerc                   @   s*   e Zd ZeZddddddddd	d
dgZdS )zPurchaseInfoSerializer.Metar    Úpurchases_typer°   rM   r©   rª   r«   r¬   r­   r0   r1   Nr®   r   r   r   r   r   ì  s   r   Nr   r   r   r   r   r¸   ë  s   r¸   c                   @   s   e Zd ZG dd„ dƒZdS )ÚSearchMagazineinfoSerializerc                   @   s   e Zd ZeZdZdS )z!SearchMagazineinfoSerializer.Metar   N)r   r   r   ÚSearchMagazineinfor   r   r   r   r   r   r   õ  s   r   Nr   r   r   r   r   rº   ô  s   rº   c                   @   sŠ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )ÚSearchMagazineDetailSerializerc                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )z#SearchMagazineDetailSerializer.Metar    r{   r|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   rx   rM   r0   r1   Nr2   r   r   r   r   r     s   r   c                 C   sN   t jj|jd� ¡ }|jrF|rFtjj|jd�jdd�}|dkrBdS dS dS d S r   r‚   r…   r   r   r   r†     s    
z.SearchMagazineDetailSerializer.get_is_bookmarkc                 C   sN   t jj|jd� ¡ }|jrF|rFtjj|jd�jdd�}|dkrBdS dS dS d S r‡   rˆ   r‰   r   r   r   rS     s    
z.SearchMagazineDetailSerializer.get_is_favoritec                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK     s    




z,SearchMagazineDetailSerializer.get_frequencyc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   r’   r“   r   r   r   rf   +  s    z7SearchMagazineDetailSerializer.get_system_category_namec                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   )r/   r   rQ   rR   r    rƒ   r!   r•   r   r   r   rn   9  s    z9SearchMagazineDetailSerializer.get_magazine_category_namec                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S rT   rX   r\   r   r   r   r^   @  s    z*SearchMagazineDetailSerializer.get_authorsc                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S r–   r—   r™   r   r   r   r›   F  s    z(SearchMagazineDetailSerializer.get_pagesN)r   r   r   r   r_   ra   rl   r;   rx   r9   r~   r<   r   r†   rS   rK   rf   rn   r^   r›   r   r   r   r   r¼   ú  s   

r¼   c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚMagMapAuthorSerializerc                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )zMagMapAuthorSerializer.Metar    r{   r|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   rx   rM   r0   r1   N©r   r   r   ÚMagMapAuthorr   r   r   r   r   r   r   V  s   r   c                 C   sZ   z<|j r8tjj|jj d� ¡ }|r2t|ƒj}|W S W d S W d S  tj	k
rT   Y d S X d S rŠ   )
r    ry   rQ   rR   rb   rƒ   rw   r[   r3   rG   r�   r   r   r   r�   [  s    
z'MagMapAuthorSerializer.get_magazine_urlc                 C   sR   t jj|jjd� ¡ }|jrJ|rJtjj|jjd�jdd�}|dkrFdS dS dS d S r   )rv   rQ   rR   rb   r    rƒ   r3   r„   r…   r   r   r   r†   g  s    
z&MagMapAuthorSerializer.get_is_bookmarkc                 C   sR   t jj|jjd� ¡ }|jrJ|rJtjj|jjd�jdd�}|dkrFdS dS dS d S r‡   )rP   rQ   rR   rb   r    rƒ   r3   r„   r‰   r   r   r   rS   q  s    
z&MagMapAuthorSerializer.get_is_favoritec                 C   s~   z`|j jdkrW dS |j jdkr&W dS |j jdkr8W dS |j jdkrJW dS |j jd	kr\W d
S W d S  tjk
rx   Y d S X d S r=   )rb   r9   r¿   rG   rH   r   r   r   rK   {  s    z$MagMapAuthorSerializer.get_frequencyc                 C   s(   |j r$tjj|jj jd� ¡ }|jS d S r‘   ©r.   r#   rQ   rR   rb   r    rƒ   r!   r“   r   r   r   rf   ‹  s    z/MagMapAuthorSerializer.get_system_category_namec                 C   s(   |j r$tjj|jj jd� ¡ }|jS d S r‘   )r/   r   rQ   rR   rb   r    rƒ   r!   r•   r   r   r   rn   ‘  s    z1MagMapAuthorSerializer.get_magazine_category_namec                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S rT   ©r6   rQ   rR   ÚauthorrY   rZ   r4   r[   r\   r   r   r   r^   ˜  s    z"MagMapAuthorSerializer.get_authorsc                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S r–   )rv   rQ   rR   rb   r    r˜   rs   r[   r™   r   r   r   r›   ž  s    z MagMapAuthorSerializer.get_pagesN)r   r   r   r   r_   ra   rl   r;   rx   r9   r~   r<   r{   r   r�   r†   rS   rK   rf   rn   r^   r›   r   r   r   r   r½   L  s"   

r½   c                   @   sJ   e Zd Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dd„ Zd	S )
ÚorderSerializerc                   @   s,   e Zd ZeZddddddddd	d
ddgZdS )zorderSerializer.Metar    r¹   r&   r%   r©   rª   r«   r¬   r­   r;   r0   r1   Nr®   r   r   r   r   r   «  s   r   c                 C   sV   z8|j r6tjj|j jd� ¡ }|r0|jr0|jW S W d S W n tjk
rP   Y d S X d S r‘   )r°   r3   rQ   rR   r    rƒ   r&   rG   r•   r   r   r   r³   °  s    

zorderSerializer.get_namec                 C   sT   z6|j r2tjj|j jd� ¡ }t|dd�}|jW S W d S  tjk
rN   Y d S X d S r´   rµ   r�   r   r   r   r¶   º  s    zorderSerializer.get_cover_picc                 C   s>   |j r:|j jr:tjj|j jd� ¡ }|r6t|dd�jS d S d S rT   r·   r\   r   r   r   r^   Ä  s    zorderSerializer.get_authorsN)r   r   r   r   r_   r&   r;   r%   r   r³   r¶   r^   r   r   r   r   rÃ   ¤  s   

rÃ   c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚmagazineliberarySerializerc                   @   sB   e Zd ZeZddddddddd	d
dddddddddddddgZdS )zmagazineliberarySerializer.Metar    r{   r|   r%   r    r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   rx   r0   r1   Nr2   r   r   r   r   r   Ú  s   r   c                 C   s   |j r|j S d S rc   rU   rH   r   r   r   r¢   ß  s    z*magazineliberarySerializer.get_magazine_idc                 C   sP   z2|r.t jj|jd� ¡ }t|dd�}|jW S W d S  t jk
rJ   Y d S X d S r´   )r3   rQ   rR   r    rƒ   r§   r[   rG   r�   r   r   r   r¶   ä  s    z(magazineliberarySerializer.get_cover_picc                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK     s    




z(magazineliberarySerializer.get_frequencyc                 C   sX   z:|j r6tjj|j d� ¡ }|r0t|ƒj}|W S W d S W d S  tjk
rR   Y d S X d S rŠ   rŒ   r�   r   r   r   r�   #  s    
z+magazineliberarySerializer.get_magazine_urlc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   r’   r“   r   r   r   rf   /  s    z3magazineliberarySerializer.get_system_category_namec                 C   s&   |j r"tjj|jjd� ¡ }|jS d S r‘   r”   r•   r   r   r   rn   6  s    z5magazineliberarySerializer.get_magazine_category_namec                 C   s*   t jj|jd� ¡ }|r&t|dd�jS d S rT   rX   r\   r   r   r   r^   =  s    z&magazineliberarySerializer.get_authorsc                 C   sJ   t | j d¡dƒ | j d¡}tjj|j|d� ¡ }|rFt|dd�j	S d S )NrL   z============user id===©rN   rM   TrV   )
Úprintr   rO   rv   rQ   rR   r    r˜   rs   r[   )rI   rJ   rL   rš   r   r   r   r›   C  s    z$magazineliberarySerializer.get_pagesN)r   r   r   r   r_   ra   rl   r;   rx   r{   r9   r%   r    r   r¢   r¶   rK   r�   rf   rn   r^   r›   r   r   r   r   rÄ   Î  s"   /rÄ   c                   @   s:  e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z e ¡ Z!e ¡ Z"e ¡ Z#e ¡ Z$e ¡ Z%e ¡ Z&e ¡ Z'G dd„ dƒZ(dd„ Z)dd„ Z*dd„ Z+d	d
„ Z,dd„ Z-dd„ Z.dd„ Z/dd„ Z0dd„ Z1dd„ Z2dd„ Z3dd„ Z4dd„ Z5dd„ Z6dd „ Z7d!d"„ Z8d#d$„ Z9d%d&„ Z:d'd(„ Z;d)d*„ Z<d+d,„ Z=d-d.„ Z>d/d0„ Z?d1d2„ Z@d3d4„ ZAd5d6„ ZBd7d8„ ZCd9d:„ ZDd;d<„ ZEd=d>„ ZFd?d@„ ZGdAdB„ ZHdCdD„ ZIdEdF„ ZJdGS )HÚTestmagazineSerializerc                #   @   sZ   e Zd ZeZddddddddd	d
dddddddddddddddddddddd d!d"d#g#Zd$S )%zTestmagazineSerializer.Metar    r{   Úmagazine_typeÚcover_priceÚskuÚissuesÚyears_availableÚumcÚcommentÚcurrencyÚ	pdf_countr|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   Úis_read_statusr¬   Úis_subscriptionÚ
free_pagesrx   r0   r1   Nr¾   r   r   r   r   r   q  s   r   c                 C   s.   | j  d¡}tjj|ddd� ¡ }|r*dS dS ©NÚuserT)Úusers_idrÒ   Úsubscription_user_statusF©r   rO   r¯   rQ   rR   rƒ   ©rI   rJ   ÚuseridÚuserobjr   r   r   Úget_is_subscriptionw  s
    z*TestmagazineSerializer.get_is_subscriptionc                 C   s   t dƒS ©NZUSD©ÚstrrH   r   r   r   Úget_currency~  s    z#TestmagazineSerializer.get_currencyc                 C   sR   z4t jj|jjd� ¡ }|r0|jr*|jW S W d S W d S  tjk
rL   Y d S X d S rŠ   )	ry   rQ   rR   rb   r    rƒ   rt   r¿   rG   r•   r   r   r   Úget_pdf_count�  s    z$TestmagazineSerializer.get_pdf_countc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÈ   r¿   rG   rH   r   r   r   Úget_magazine_typeŒ  s    
z(TestmagazineSerializer.get_magazine_typec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÉ   r¿   rG   rH   r   r   r   Úget_cover_price•  s    
z&TestmagazineSerializer.get_cover_pricec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÊ   r¿   rG   rH   r   r   r   Úget_skuž  s    
zTestmagazineSerializer.get_skuc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rË   r¿   rG   rH   r   r   r   Ú
get_issues§  s    
z!TestmagazineSerializer.get_issuesc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÌ   r¿   rG   rH   r   r   r   Úget_years_available°  s    
z*TestmagazineSerializer.get_years_availablec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÍ   r¿   rG   rH   r   r   r   Úget_umc¹  s    
zTestmagazineSerializer.get_umcc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÎ   r¿   rG   rH   r   r   r   Úget_commentÂ  s    
z"TestmagazineSerializer.get_commentc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r|   r¿   rG   rH   r   r   r   Úget_is_purchaseÊ  s    
z&TestmagazineSerializer.get_is_purchasec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r%   r¿   rG   rH   r   r   r   r¶   Ñ  s    
z$TestmagazineSerializer.get_cover_picc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r&   r¿   rG   rH   r   r   r   r³   Ø  s    
zTestmagazineSerializer.get_namec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r'   r¿   rG   rH   r   r   r   r±   ß  s    
z"TestmagazineSerializer.get_rattingc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r(   r¿   rG   rH   r   r   r   Úget_rent_priceæ  s    
z%TestmagazineSerializer.get_rent_pricec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r)   r¿   rG   rH   r   r   r   Úget_buy_priceí  s    
z$TestmagazineSerializer.get_buy_pricec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r*   r¿   rG   rH   r   r   r   Úget_descriptionô  s    
z&TestmagazineSerializer.get_descriptionc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r+   r¿   rG   rH   r   r   r   Úget_background_first_colorû  s    
z1TestmagazineSerializer.get_background_first_colorc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r,   r¿   rG   rH   r   r   r   Úget_background_second_color  s    
z2TestmagazineSerializer.get_background_second_colorc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r}   r¿   rG   rH   r   r   r   Ú	get_reads	  s    
z TestmagazineSerializer.get_readsc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r8   r¿   rG   rH   r   r   r   Úget_published_date  s    
z)TestmagazineSerializer.get_published_datec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r~   r¿   rG   rH   r   r   r   r†     s    
z&TestmagazineSerializer.get_is_bookmarkc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r<   r¿   rG   rH   r   r   r   rS     s    
z&TestmagazineSerializer.get_is_favoritec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÑ   r¿   rG   rH   r   r   r   Úget_is_read_status%  s    
z)TestmagazineSerializer.get_is_read_statusc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r¬   r¿   rG   rH   r   r   r   Úget_is_rented,  s    
z$TestmagazineSerializer.get_is_rentedc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   rÓ   r¿   rG   rH   r   r   r   Úget_free_pages3  s    
z%TestmagazineSerializer.get_free_pagesc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r0   r¿   rG   rH   r   r   r   Úget_create_on:  s    
z$TestmagazineSerializer.get_create_onc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )rb   r1   r¿   rG   rH   r   r   r   Úget_updated_onA  s    
z%TestmagazineSerializer.get_updated_onc                 C   s~   z`|j jdkrW dS |j jdkr&W dS |j jdkr8W dS |j jdkrJW dS |j jd	kr\W d
S W d S  tjk
rx   Y d S X d S r=   )rb   r9   r3   rG   rH   r   r   r   rK   I  s    z$TestmagazineSerializer.get_frequencyc                 C   sh   zJ|j rFt|jj dƒ tjj|jj d� ¡ }|r@t|ƒj}|W S W d S W d S  t	j
k
rb   Y d S X d S )Nz=======id====r‹   )r    rÆ   rb   ry   rQ   rR   rƒ   rw   r[   r3   rG   r�   r   r   r   r�   Y  s    
z'TestmagazineSerializer.get_magazine_urlc                 C   s(   |j r$tjj|jj jd� ¡ }|jS d S r‘   rÀ   r“   r   r   r   rf   g  s    z/TestmagazineSerializer.get_system_category_namec                 C   s(   |j r$tjj|jjjd� ¡ }|jS d S r‘   )	r.   r   rQ   rR   rb   r/   r    rƒ   r!   r•   r   r   r   rn   n  s    z1TestmagazineSerializer.get_magazine_category_namec                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S rT   rÁ   r\   r   r   r   r^   u  s    z"TestmagazineSerializer.get_authorsc                 C   s6   | j  d¡}tjj|jj|d�jddd�}|r2|S d S ©NrÕ   rÅ   rt   T©Úflat)r   rO   rv   rQ   rR   rb   r    Úvalues_list©rI   rJ   rÚ   rš   r   r   r   r›   |  s
    z TestmagazineSerializer.get_pagesN)Kr   r   r   r   Ú	CharFieldrÈ   r_   ra   rl   r;   rx   r{   r9   rÐ   rÏ   rÒ   rÉ   rÊ   rË   rÌ   rÍ   rÎ   r|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r8   r~   r<   rÑ   r¬   rÓ   r0   r1   r   rÜ   rà   rá   râ   rã   rä   rå   ræ   rç   rè   ré   r¶   r³   r±   rê   rë   rì   rí   rî   rï   rð   r†   rS   rñ   rò   ró   rô   rõ   rK   r�   rf   rn   r^   r›   r   r   r   r   rÇ   M  sŠ   						rÇ   c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Z	dd„ Z
dS )ÚPTestmagazineSerializerc                   @   s   e Zd ZeZddgZdS )zPTestmagazineSerializer.Metar    r5   Nr¾   r   r   r   r   r   ‰  s   r   c                 C   s   |j S rc   )rÂ   rH   r   r   r   Úget_idŽ  s    zPTestmagazineSerializer.get_idc                 C   s   |j r|j jr|j jS d S rc   )rÂ   r5   rH   r   r   r   Úget_author_name‘  s    z'PTestmagazineSerializer.get_author_nameN)r   r   r   r   rû   r    r_   r5   r   rý   rþ   r   r   r   r   rü   …  s
   rü   c                   @   sª   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚmagazineSerializerc                %   @   s^   e Zd ZeZddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%g%Zd&S )'zmagazineSerializer.Metar    r{   rÈ   rÉ   rÊ   rË   rÌ   rÍ   ÚsubrateÚremitrÎ   rÏ   rÐ   r|   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   r~   r<   rÑ   r¬   rÒ   rÓ   rx   r0   r1   Nr2   r   r   r   r   r   ¨  s   r   c                 C   s.   | j  d¡}tjj|ddd� ¡ }|r*dS dS rÔ   rØ   rÙ   r   r   r   rÜ   ®  s
    z&magazineSerializer.get_is_subscriptionc                 C   s   t dƒS rÝ   rÞ   rH   r   r   r   rà   ¼  s    zmagazineSerializer.get_currencyc                 C   sP   z2t jj|jd� ¡ }|r.|jr(|jW S W d S W d S  tjk
rJ   Y d S X d S rŠ   ©ry   rQ   rR   r    rƒ   rt   r3   rG   r•   r   r   r   rá   ¿  s    z magazineSerializer.get_pdf_countc                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK   Ì  s    




z magazineSerializer.get_frequencyc                 C   sX   z:|j r6tjj|j d� ¡ }|r0t|ƒj}|W S W d S W d S  tjk
rR   Y d S X d S rŠ   rŒ   r�   r   r   r   r�   Ü  s    
z#magazineSerializer.get_magazine_urlc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   r’   r“   r   r   r   rf   é  s    z+magazineSerializer.get_system_category_namec                 C   s&   |j r"tjj|jjd� ¡ }|jS d S r‘   r”   r•   r   r   r   rn   ð  s    z-magazineSerializer.get_magazine_category_namec                 C   sB   t jj|jd�jddd�}tjj|d�}t|dd�}|r>|jS d S ©NrU   r    Tr÷   )Zmagazine__inrV   ©r3   rQ   rR   r    rù   r¿   rü   r[   ©rI   rJ   rŽ   ZmaputhorobjZ
authordatar   r   r   r^     s    zmagazineSerializer.get_authorsc                 C   s4   | j  d¡}tjj|j|d�jddd�}|r0|S d S rö   )r   rO   rv   rQ   rR   r    rù   rú   r   r   r   r›     s
    zmagazineSerializer.get_pagesN)r   r   r   r   r_   ra   rl   r;   rx   r{   r9   rÐ   rÏ   rÒ   r   rÜ   rà   rá   rK   r�   rf   rn   r^   r›   r   r   r   r   rÿ   ˜  s&   rÿ   c                   @   sú   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dS ) ÚAlldataSerializerc                %   @   s^   e Zd ZeZddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%g%Zd&S )'zAlldataSerializer.Metar    r{   rÈ   rÉ   rÊ   rË   rÌ   rÍ   r   r  rÎ   rÏ   rÐ   r%   r&   r'   r(   r)   r*   r+   r,   r}   r;   r8   r9   ra   rl   rx   r~   r<   r|   rÑ   r¬   rÒ   rÓ   r0   r1   Nr2   r   r   r   r   r   %  s   r   c                 C   s   t dƒS rÝ   rÞ   rH   r   r   r   rà   +  s    zAlldataSerializer.get_currencyc                 C   sP   z2t jj|jd� ¡ }|r.|jr(|jW S W d S W d S  tjk
rJ   Y d S X d S rŠ   r  r•   r   r   r   rá   .  s    zAlldataSerializer.get_pdf_countc                 C   s   dS ©NFr   rH   r   r   r   r†   I  s    z!AlldataSerializer.get_is_bookmarkc                 C   s   dS r  r   rH   r   r   r   rS   L  s    z!AlldataSerializer.get_is_favoritec                 C   s   dS r  r   rH   r   r   r   ré   O  s    z!AlldataSerializer.get_is_purchasec                 C   s   dS r  r   rH   r   r   r   rñ   R  s    z$AlldataSerializer.get_is_read_statusc                 C   s   dS r  r   rH   r   r   r   rò   U  s    zAlldataSerializer.get_is_rentedc                 C   s   dS r  r   rH   r   r   r   rÜ   X  s    z%AlldataSerializer.get_is_subscriptionc                 C   st   zV|j dkrW dS |j dkr"W dS |j dkr2W dS |j dkrBW dS |j d	krRW d
S W d S  tjk
rn   Y d S X d S r=   rF   rH   r   r   r   rK   ^  s    




zAlldataSerializer.get_frequencyc                 C   sX   z:|j r6tjj|j d� ¡ }|r0t|ƒj}|W S W d S W d S  tjk
rR   Y d S X d S rŠ   rŒ   r�   r   r   r   r�   n  s    
z"AlldataSerializer.get_magazine_urlc                 C   s&   |j r"tjj|j jd� ¡ }|jS d S r‘   r’   r“   r   r   r   rf   {  s    z*AlldataSerializer.get_system_category_namec                 C   s&   |j r"tjj|jjd� ¡ }|jS d S r‘   r”   r•   r   r   r   rn   ‚  s    z,AlldataSerializer.get_magazine_category_namec                 C   sB   t jj|jd�jddd�}tjj|d�}t|dd�}|r>|jS d S r  r  r  r   r   r   r^   —  s    zAlldataSerializer.get_authorsc                 C   s   d S rc   r   rH   r   r   r   r›   Ÿ  s    zAlldataSerializer.get_pagesN)"r   r   r   r   r_   ra   rl   r;   rx   r{   r9   r<   r~   r|   rÑ   r¬   rÒ   rÐ   rÏ   r   rà   rá   r†   rS   ré   rñ   rò   rÜ   rK   r�   rf   rn   r^   r›   r   r   r   r   r    s:   r  c                   @   s   e Zd ZG dd„ dƒZdS )ÚCreatepurchageSerializerc                   @   sP   e Zd ZeZddddddddd	d
ddddddddddddddddddddgZdS ) zCreatepurchageSerializer.Metar    r¹   Údelivery_locationÚ
offer_codeÚoffer_max_amountÚoffer_discount_amountÚoffer_discountÚmagazineOfferÚpurchases_order_idÚtransaction_idrÏ   Úsubscription_pricer)   Úoffer_priceÚ
is_offeredr(   Úhard_copy_pricer©   rª   r«   r¬   rÒ   Úis_hard_copyr­   r°   rM   ÚsubscriptionÚmonthsr0   r1   Nr®   r   r   r   r   r   ª  s   r   Nr   r   r   r   r   r  ©  s   r  c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚShowPurchaseSerializerc                   @   sH   e Zd ZeZddddddddd	d
ddddddddddddddddgZdS )zShowPurchaseSerializer.Metar    r¹   r	  r  r  r
  r  r  r  rÏ   ÚdateÚpricer  r  r«   r¬   rÒ   r  Úexpiry_dater    Úmagazine_namerL   Ú	user_namer  r0   r1   Nr®   r   r   r   r   r   ¸  s   r   c                 C   s   t dƒS rÝ   rÞ   rH   r   r   r   rà   ¾  s    z#ShowPurchaseSerializer.get_currencyc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r3   rQ   rR   r°   r    rƒ   r•   r   r   r   r¢   Á  s    z&ShowPurchaseSerializer.get_magazine_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r3   rQ   rR   r°   r    rƒ   r&   r•   r   r   r   Úget_magazine_nameÇ  s    z(ShowPurchaseSerializer.get_magazine_namec                 C   s   |r
|j S d S rc   ©r­   rH   r   r   r   Úget_expiry_dateÍ  s    z&ShowPurchaseSerializer.get_expiry_datec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©ÚUserrQ   rR   rM   r    rƒ   ©rI   rJ   rÛ   r   r   r   r¤   Ò  s    z"ShowPurchaseSerializer.get_user_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r$  rQ   rR   rM   r    rƒ   Ú
first_namer%  r   r   r   Úget_user_nameØ  s    z$ShowPurchaseSerializer.get_user_namec                 C   s8   |j }|j}|r|S |r|S |jr(|jS |jr4|jS d S rc   ©r(   r)   r  r  ©rI   rJ   ÚrentobjZpriceobjr   r   r   Ú	get_priceÞ  s    z ShowPurchaseSerializer.get_pricec                 C   s    |j }|j}|r|S |r|S d S rc   ©r©   rª   r*  r   r   r   Úget_dateí  s    zShowPurchaseSerializer.get_dateN©r   r   r   r   r_   r    rL   r  r  r  r  r  rÏ   r   rà   r¢   r   r"  r¤   r(  r,  r.  r   r   r   r   r  ¯  s"   r  c                   @   s   e Zd ZG dd„ dƒZdS )ÚSCreatepurchageSerializerc                   @   sP   e Zd ZeZddddddddd	d
ddddddddddddddddddddgZdS ) zSCreatepurchageSerializer.Metar    r¹   r	  r
  r  r  r  r  r  r  rÏ   r  r)   r  r  r(   r  r©   rª   r«   r¬   rÒ   r  r­   r°   rM   r  r  r0   r1   Nr®   r   r   r   r   r   ÷  s   r   Nr   r   r   r   r   r0  ö  s   r0  c                   @   sš   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚSShowPurchaseSerializerc                   @   sH   e Zd ZeZddddddddd	d
ddddddddddddddddgZdS )zSShowPurchaseSerializer.Metar    r¹   r	  r  r  r
  r  r  r  rÏ   r  r  r  r  r«   r¬   rÒ   r  r  r    r  rL   r  r  r0   r1   Nr®   r   r   r   r   r     s   r   c                 C   s   t dƒS rÝ   rÞ   rH   r   r   r   rà     s    z$SShowPurchaseSerializer.get_currencyc                 C   s   d S rc   r   rH   r   r   r   r¢     s    z'SShowPurchaseSerializer.get_magazine_idc                 C   s   d S rc   r   rH   r   r   r   r     s    z)SShowPurchaseSerializer.get_magazine_namec                 C   s   |r
|j S d S rc   r!  rH   r   r   r   r"    s    z'SShowPurchaseSerializer.get_expiry_datec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r#  r%  r   r   r   r¤     s    z#SShowPurchaseSerializer.get_user_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r&  r%  r   r   r   r(  %  s    z%SShowPurchaseSerializer.get_user_namec                 C   s8   |j }|j}|r|S |r|S |jr(|jS |jr4|jS d S rc   r)  r*  r   r   r   r,  +  s    z!SShowPurchaseSerializer.get_pricec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  :  s    z SShowPurchaseSerializer.get_dateNr/  r   r   r   r   r1  ü  s"   r1  c                   @   s   e Zd ZG dd„ dƒZdS )Ú"MagazinePurchaseInfodataSerializerc                   @   s*   e Zd ZeZddddddddd	d
dgZdS )z'MagazinePurchaseInfodataSerializer.Metar    r¹   r©   rª   r«   r¬   r­   r°   rM   r0   r1   Nr®   r   r   r   r   r   C  s   r   Nr   r   r   r   r   r2  B  s   r2  c                   @   s"   e Zd Ze ¡ ZG dd„ dƒZdS )ÚMagazineOfferListSerializerc                   @   s"   e Zd ZeZdddddddgZdS )	ú MagazineOfferListSerializer.Metar    ÚcodeÚdiscountr  r*   Ú
created_onr1   N©r   r   r   ÚMagazineOfferinfor   r   r   r   r   r   r   Q  s   r   N)r   r   r   r   r_   Útotal_pricer   r   r   r   r   r3  J  s   r3  c                   @   sz   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
G dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ ZdS )r3  c                   @   s0   e Zd ZeZddddddddd	d
ddddgZdS )r4  r    r5  r:  r6  r  Úsubscription_typeÚdaysr  Ú
start_dateÚend_daterL   r*   r7  r1   Nr8  r   r   r   r   r   ]  s   r   c                 C   s   |r
|j S d S rc   )Úmax_discountrH   r   r   r   Úget_total_priceb  s    z+MagazineOfferListSerializer.get_total_pricec                 C   s   |j r|j j |j jS d S rc   )Úsubscriptiontyper  rH   r   r   r   r,  g  s    z%MagazineOfferListSerializer.get_pricec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   m  s    z'MagazineOfferListSerializer.get_user_idc                 C   s   |j r|j jS d S rc   )rA  r;  rH   r   r   r   Úget_subscription_typer  s    z1MagazineOfferListSerializer.get_subscription_typec                 C   s   |j r|j jS d S rc   )rA  r<  rH   r   r   r   Úget_daysw  s    z$MagazineOfferListSerializer.get_daysc              
   C   s„   zT|j rP|j jdkrtdƒW S |j jdkr4tdƒW S |j jdkrJtdƒW S W d S W d S  tjk
r~ } z
W Y ¢d S d }~X Y nX d S ©NZgoldenz3 monthsZsilverz2 monthsZpremiumz1 months)rA  r;  rß   ÚSubscriptionrG   ©rI   rJ   Úer   r   r   Ú
get_months|  s    


z&MagazineOfferListSerializer.get_monthsN)r   r   r   r   r_   rL   r;  r<  r  r  r:  r   r@  r,  r¤   rB  rC  rH  r   r   r   r   r3  V  s   c                   @   s   e Zd ZG dd„ dƒZdS )ÚMutipleMAGOfferListSerializerc                
   @   s(   e Zd ZeZddddddddd	d
g
ZdS )z"MutipleMAGOfferListSerializer.Metar    r5  r6  r?  r=  r>  Úoffer_statusr*   r7  r1   Nr8  r   r   r   r   r   –  s   r   Nr   r   r   r   r   rI  Š  s   rI  c                   @   s*   e Zd Ze ¡ ZG dd„ dƒZdd„ ZdS )ÚMAGOfferListSerializerc                   @   s,   e Zd ZeZddddddddd	d
ddgZdS )zMAGOfferListSerializer.Metar    rM   r5  r  r6  r?  r=  r>  rJ  r*   r7  r1   Nr8  r   r   r   r   r   Ï  s   r   c                 C   s   |j r|j jS d S rc   )rA  r    rH   r   r   r   r,  Ô  s    z MAGOfferListSerializer.get_priceN)r   r   r   r   r_   r  r   r,  r   r   r   r   rK  È  s   rK  c                   @   sŠ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )ÚSubscriptionSerializerc                   @   s6   e Zd ZeZddddddddd	d
dddddddgZdS )zSubscriptionSerializer.Metar    rL   r  r;  r:  r<  r&   r  Úsave_percentager  Úper_month_pricer=  r>  Úsubscription_statusr*   r7  r1   N©r   r   r   rE  r   r   r   r   r   r   r   å  s   r   c                 C   s   |j r|j jS d S rc   ©rM   r'  rH   r   r   r   r(  ë  s    z$SubscriptionSerializer.get_user_namec                 C   s   |r|j rdS dS r  )rO  rH   r   r   r   Úget_subscription_statusð  s    z.SubscriptionSerializer.get_subscription_statusc                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ÷  s    z"SubscriptionSerializer.get_user_idc                 C   s   |j r|j j |j jS d S rc   ©r  r  rH   r   r   r   r@  ü  s    z&SubscriptionSerializer.get_total_pricec                 C   s   |j r|j jS d S rc   ©r  r;  rH   r   r   r   rB    s    z,SubscriptionSerializer.get_subscription_typec                 C   s   |j r|j jS d S rc   ©r  r<  rH   r   r   r   rC    s    zSubscriptionSerializer.get_daysc              
   C   s„   zT|j rP|j jdkrtdƒW S |j jdkr4tdƒW S |j jdkrJtdƒW S W d S W d S  tjk
r~ } z
W Y ¢d S d }~X Y nX d S rD  ©r  r;  rß   rE  rG   rF  r   r   r   rH    s    


z!SubscriptionSerializer.get_monthsN)r   r   r   r   r_   rL   r;  r<  r  r:  rO  r  r   r(  rR  r¤   r@  rB  rC  rH  r   r   r   r   rL  Ü  s   rL  c                   @   sú   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dS ) ÚListcountrySerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zListcountrySerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  Údiscount_priceÚdiscount_to_payr  r  r  r0   r1   Nr®   r   r   r   r   r   -  s   r   c                 C   s$   |j j}|j j}|r|S |r |S d S rc   ©r°   r)   r(   ©rI   rJ   Úbuyobjr+  r   r   r   r,  A  s    zListcountrySerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  ©rI   rJ   Z	expireobjr   r   r   r"  K  s    z%ListcountrySerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  Q  s    zListcountrySerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  Y  s    z#ListcountrySerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ^  s    z!ListcountrySerializer.get_user_idc                 C   s   |j r|j jS d S rc   ©r°   r&   rH   r   r   r   r   c  s    z'ListcountrySerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢   h  s    z%ListcountrySerializer.get_magazine_idc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S ©N©Úcountry©
ÚSubscriptionTyperQ   rR   r  ra  r    rƒ   r;  r¯   rG   ©rI   rJ   Úsubobjr   r   r   rB  m  s    z+ListcountrySerializer.get_subscription_typec                 C   sF   z(t jj|jjjd� ¡ }|r$W dS W dS  tjk
r@   Y dS X d S )Nr`  F©	rc  rQ   rR   r  ra  r    rƒ   r¯   rG   rd  r   r   r   rR  w  s    z-ListcountrySerializer.get_subscription_statusc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  ©
rc  rQ   rR   r  ra  r    rƒ   r*   r¯   rG   rd  r   r   r   rì   �  s    z%ListcountrySerializer.get_descriptionc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  ©
rc  rQ   rR   r  ra  r    rƒ   r  r¯   rG   rd  r   r   r   r@  Š  s    z%ListcountrySerializer.get_total_pricec                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  ©
rc  rQ   rR   r  ra  r    rƒ   r6  r¯   rG   rd  r   r   r   Úget_discount“  s    z"ListcountrySerializer.get_discountc                 C   sp   zRt jj|jjjd� ¡ }|rN|j}tt|ƒt|j	ƒ d ƒ}t
|dƒ}|W S W d S  tjk
rj   Y d S X d S ©Nr`  éd   é   ©rc  rQ   rR   r  ra  r    rƒ   r  Úfloatr6  Úroundr¯   rG   ©rI   rJ   re  ÚsubpriceÚ
percentager  r   r   r   Úget_discount_priceœ  s    
z(ListcountrySerializer.get_discount_pricec                 C   s€   zbt jj|jjjd� ¡ }|r^|j}tt|ƒt|j	ƒ d ƒ}t|ƒt|ƒ }t
|dƒ}|W S W d S  tjk
rz   Y d S X d S rk  rn  ©rI   rJ   re  rr  rs  Údiscountpricer  r   r   r   Úget_discount_to_pay¨  s    
z)ListcountrySerializer.get_discount_to_payN©"r   r   r   r   r_   rL   r;  rO  r*   r  r:  r    r  r  r  r  r6  rX  rY  r   r,  r"  r.  r(  r¤   r   r¢   rB  rR  rì   r@  rj  rt  rw  r   r   r   r   rW    s:   


			rW  c                   @   sú   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dS ) ÚListSerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zListSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  rX  rY  r  r  r  r0   r1   Nr®   r   r   r   r   r   È  s   r   c                 C   s$   |j j}|j j}|r|S |r |S d S rc   rZ  r[  r   r   r   r,  Ü  s    zListSerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  r]  r   r   r   r"  æ  s    zListSerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  ì  s    zListSerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  ô  s    zListSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ù  s    zListSerializer.get_user_idc                 C   s   |j r|j jS d S rc   r^  rH   r   r   r   r   þ  s    z ListSerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢     s    zListSerializer.get_magazine_idc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rb  rd  r   r   r   rB    s    z$ListSerializer.get_subscription_typec                 C   sF   z(t jj|jjjd� ¡ }|r$W dS W dS  tjk
r@   Y dS X d S ©Nr`  TFrf  rd  r   r   r   rR    s    z&ListSerializer.get_subscription_statusc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rg  rd  r   r   r   rì     s    zListSerializer.get_descriptionc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rh  rd  r   r   r   r@  %  s    zListSerializer.get_total_pricec                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  ri  rd  r   r   r   rj  .  s    zListSerializer.get_discountc                 C   sp   zRt jj|jjjd� ¡ }|rN|j}tt|ƒt|j	ƒ d ƒ}t
|dƒ}|W S W d S  tjk
rj   Y d S X d S rk  rn  rq  r   r   r   rt  7  s    
z!ListSerializer.get_discount_pricec                 C   s€   zbt jj|jjjd� ¡ }|r^|j}tt|ƒt|j	ƒ d ƒ}t|ƒt|ƒ }t
|dƒ}|W S W d S  tjk
rz   Y d S X d S rk  rn  ru  r   r   r   rw  C  s    
z"ListSerializer.get_discount_to_payNrx  r   r   r   r   ry  ·  s:   


			ry  c                   @   sê   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚCountryListUserSerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zCountryListUserSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  rX  rY  r  r  r  r0   r1   N©r   r   r   rc  r   r   r   r   r   r   r   d  s   r   c                 C   s(   |j r t|j ƒtdƒ tdƒ S d S d S )Nú r  )r<  rß   rH   r   r   r   rH  j  s    z$CountryListUserSerializer.get_monthsc                 C   s.   |j r&t|j ƒ}t|t|jƒ ƒ}|S d S d S rc   )r  ro  r<  )rI   rJ   Útotalr  r   r   r   r,  o  s
    
z#CountryListUserSerializer.get_pricec                 C   s   |rdS d S ©NÚ r   rH   r   r   r   r(  }  s    z'CountryListUserSerializer.get_user_namec                 C   s   |rdS d S ©Nr   r   rH   r   r   r   r¤   ‚  s    z%CountryListUserSerializer.get_user_idc                 C   s   |rdS d S r�  r   rH   r   r   r   r¢   ‡  s    z)CountryListUserSerializer.get_magazine_idc                 C   s   |rdS d S r  r   rH   r   r   r   r   Œ  s    z+CountryListUserSerializer.get_magazine_namec                 C   sP   | j  d¡}tj ¡ }tjj|jdd|d� ¡ }|r@t	dƒ dS t	dƒ dS d S )NrL   T)r  rÒ   r×   rM   z=====true -====z=====false====F)
r   rO   ÚdatetimeÚnowr¯   rQ   rR   r    ÚfirstrÆ   )rI   rJ   rÚ   ÚtodayZpurchaseonjr   r   r   rR  ‘  s    
z1CountryListUserSerializer.get_subscription_statusc                 C   s   |rt j  ¡ }|S d S rc   )r‚  rƒ  )rI   rJ   Úcurrent_dater   r   r   r.  ¤  s    
z"CountryListUserSerializer.get_datec                 C   s4   |r0t j  ¡ }t|jƒd }|t j|d� }|S d S )Né   )r<  )r‚  rƒ  Úintr<  Ú	timedelta)rI   rJ   r†  r   Úexpr   r   r   r"  ª  s    
z)CountryListUserSerializer.get_expiry_datec                 C   s   |r
|j S d S rc   )r  rH   r   r   r   r@  ²  s    z)CountryListUserSerializer.get_total_pricec                 C   s   |r
|j S d S rc   )r6  rH   r   r   r   rj  ·  s    z&CountryListUserSerializer.get_discountc                 C   s4   |j r0tt|j ƒt|jƒ d ƒ}t|dƒ}|S d S ©Nrl  rm  ©r  ro  r6  rp  )rI   rJ   rs  r  r   r   r   rt  ¼  s
    
z,CountryListUserSerializer.get_discount_pricec                 C   sF   |j rBtt|j ƒt|jƒ d ƒ}t|j ƒt|ƒ }t|dƒ}|S d S r‹  rŒ  )rI   rJ   rs  rv  r  r   r   r   rw  Ã  s    
z-CountryListUserSerializer.get_discount_to_payN) r   r   r   r   r_   rL   r  rO  r:  r    r  r  r  r  r6  rX  rY  r  r   rH  r,  r(  r¤   r¢   r   rR  r.  r"  r@  rj  rt  rw  r   r   r   r   r{  R  s6   r{  c                   @   s
  e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dd„ Z"dd „ Z#d!S )"ÚTestListUserSerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zTestListUserSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  rX  rY  r  r  r  r0   r1   Nr®   r   r   r   r   r   ß  s   r   c                 C   s   |j r|j S d S d S rc   ©r  rH   r   r   r   rH  ä  s    z!TestListUserSerializer.get_monthsc                 C   s$   |j j}|j j}|r|S |r |S d S rc   rZ  r[  r   r   r   r,  ÷  s    z TestListUserSerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  r]  r   r   r   r"  	  s    z&TestListUserSerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  	  s    zTestListUserSerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  	  s    z$TestListUserSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   	  s    z"TestListUserSerializer.get_user_idc                 C   s   |j r|j jS d S rc   r^  rH   r   r   r   r   	  s    z(TestListUserSerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢   	  s    z&TestListUserSerializer.get_magazine_idc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   ©rc  rQ   rR   Úsubscription_idrƒ   r;  r¯   rG   rd  r   r   r   rB  $	  s    z,TestListUserSerializer.get_subscription_typec                 C   s$   t jj|jjd|jd�}|r dS dS )NT)rM   rÒ   Zrent_date__lteF)r¯   rQ   rR   rM   r    r©   )rI   rJ   Úpurchaser   r   r   rR  .	  s    z.TestListUserSerializer.get_subscription_statusc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   ©rc  rQ   rR   r�  rƒ   r*   r¯   rG   rd  r   r   r   rì   =	  s    z&TestListUserSerializer.get_descriptionc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   ©rc  rQ   rR   r�  rƒ   r  r¯   rG   rd  r   r   r   r@  F	  s    z&TestListUserSerializer.get_total_pricec                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   ©rc  rQ   rR   r�  rƒ   r6  r¯   rG   rd  r   r   r   rj  O	  s    z#TestListUserSerializer.get_discountc                 C   s|   z^t jj|jd� ¡ }|rZ|j}tt|ƒt|jƒ d ƒ}t|ƒt|ƒ }t|dƒ}|W S W d S  t	j
k
rv   Y d S X d S ©NrU   rl  rm  ©rc  rQ   rR   r�  rƒ   r  ro  r6  rp  r¯   rG   ru  r   r   r   rt  X	  s    
z)TestListUserSerializer.get_discount_pricec                 C   s|   z^t jj|jd� ¡ }|rZ|j}tt|ƒt|jƒ d ƒ}t|ƒt|ƒ }t|dƒ}|W S W d S  t	j
k
rv   Y d S X d S r•  r–  ru  r   r   r   rw  e	  s    
z*TestListUserSerializer.get_discount_to_payN©$r   r   r   r   r_   rL   r;  rO  r*   r  r:  r    r  r  r  r  r6  rX  rY  r  r   rH  r,  r"  r.  r(  r¤   r   r¢   rB  rR  rì   r@  rj  rt  rw  r   r   r   r   r�  Í  s>   

			r�  c                   @   s
  e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dd„ Z"dd „ Z#d!S )"ÚListUserSerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zListUserSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  rX  rY  r  r  r  r0   r1   Nr®   r   r   r   r   r   †	  s   r   c                 C   s   |j r|j S d S d S rc   rŽ  rH   r   r   r   rH  ‹	  s    zListUserSerializer.get_monthsc                 C   s,   |j j}|j j}|jj}|r |S |r(|S d S rc   )r°   r)   r(   r  r  )rI   rJ   r\  r+  re  r   r   r   r,  ž	  s    zListUserSerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  r]  r   r   r   r"  ¬	  s    z"ListUserSerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  ²	  s    zListUserSerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  º	  s    z ListUserSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ¿	  s    zListUserSerializer.get_user_idc                 C   s   |j r|j jS d S rc   r^  rH   r   r   r   r   Ä	  s    z$ListUserSerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢   É	  s    z"ListUserSerializer.get_magazine_idc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   r�  rd  r   r   r   rB  Ï	  s    z(ListUserSerializer.get_subscription_typec                 C   sŒ   znt j  ¡ }tjj|jjddd� ¡ }|j|  ko<|j	kn  }|rX|rXt
dƒ W dS t
dƒ t
|dƒ W dS  tjk
r†   Y dS X d S )NT)rM   rÒ   r×   z=======purchase ====truez===purchase===false ===z====current date====F)r‚  rƒ  r¯   rQ   rR   rM   r    rƒ   r©   r­   rÆ   rG   )rI   rJ   r†  r‘  Údurationr   r   r   rR  Ù	  s    

z*ListUserSerializer.get_subscription_statusc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   r’  rd  r   r   r   rì   ë	  s    z"ListUserSerializer.get_descriptionc                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   r“  rd  r   r   r   r@  ô	  s    z"ListUserSerializer.get_total_pricec                 C   sD   z&t jj|jd� ¡ }|r"|jW S W d S  tjk
r>   Y d S X d S r‘   r”  rd  r   r   r   rj  ý	  s    zListUserSerializer.get_discountc                 C   s|   z^t jj|jd� ¡ }|rZ|j}tt|ƒt|jƒ d ƒ}t|ƒt|ƒ }t|dƒ}|W S W d S  t	j
k
rv   Y d S X d S r•  r–  ru  r   r   r   rt  
  s    
z%ListUserSerializer.get_discount_pricec                 C   s|   z^t jj|jd� ¡ }|rZ|j}tt|ƒt|jƒ d ƒ}t|ƒt|ƒ }t|dƒ}|W S W d S  t	j
k
rv   Y d S X d S r•  r–  ru  r   r   r   rw  
  s    
z&ListUserSerializer.get_discount_to_payNr—  r   r   r   r   r˜  t	  s>   
			r˜  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚUserPurchaseListSerializerc                   @   s   e Zd ZeZddgZdS )zUserPurchaseListSerializer.MetaÚuser_subscriptionÚsubscription_listN©r   r   r   r$  r   r   r   r   r   r   r   $
  s   r   c                 C   s2   t jj|jdd� ¡ }t|dd�}|r.|jgS d S )NT©rM   rÒ   FrV   )r¯   rQ   rR   r    rƒ   r˜  r[   ©rI   rJ   Ú	mysublistÚserializerdatar   r   r   Úget_user_subscription)
  s
    z0UserPurchaseListSerializer.get_user_subscriptionc                 C   s0   t jj|jdd� ¡ }t|dd�}|r,|jS d S )NTrž  rV   )r¯   rQ   rR   r    rZ   r˜  r[   rŸ  r   r   r   Úget_subscription_list2
  s
    z0UserPurchaseListSerializer.get_subscription_listN©
r   r   r   r   r_   r›  rœ  r   r¢  r£  r   r   r   r   rš  !
  s
   	rš  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚUserPurchCountrySerializerc                   @   s   e Zd ZeZddgZdS )zUserPurchCountrySerializer.Metar›  rœ  N©r   r   r   ÚCountryr   r   r   r   r   r   r   >
  s   r   c                 C   s   g S rc   r   rH   r   r   r   r¢  C
  s    z0UserPurchCountrySerializer.get_user_subscriptionc                 C   sH   t jj|jd�jddd�}tjj|dd� ¡ }t|dd�}|rD|jS d S ©N©Ú
country_idr    Tr÷   )Zsubscription__inrÒ   rV   )	rc  rQ   rR   r    rù   r¯   rZ   ry  r[   ©rI   rJ   re  r   r¡  r   r   r   r£  F
  s    z0UserPurchCountrySerializer.get_subscription_listNr¤  r   r   r   r   r¥  ;
  s
   r¥  c                   @   s*   e Zd Ze ¡ ZG dd„ dƒZdd„ ZdS )ÚCountrybaseSerializerc                   @   s   e Zd ZeZdgZdS )zCountrybaseSerializer.Metarœ  Nr¦  r   r   r   r   r   S
  s   r   c                 C   sH   t jj|jd�jddd�}tjj|dd� ¡ }t|dd�}|rD|jS d S r¨  )	rc  rQ   rR   r    rù   r¯   rZ   rW  r[   r«  r   r   r   r£  [
  s    z+CountrybaseSerializer.get_subscription_listN)r   r   r   r   r_   rœ  r   r£  r   r   r   r   r¬  P
  s   r¬  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚSortCountryListSerializerc                   @   s$   e Zd ZeZddddddddgZd	S )
zSortCountryListSerializer.Metar    rª  r  r;  r*   r6  r  r7  Nr|  r   r   r   r   r   v
  s   r   c              
   C   sD   z|j r|j W S W d S  tjk
r> } z
W Y ¢d S d }~X Y nX d S rc   ©r<  rc  rG   rF  r   r   r   rH  {
  s    z$SortCountryListSerializer.get_monthsc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   ©ra  r    rc  rG   rH   r   r   r   Úget_country_idƒ
  s    
z(SortCountryListSerializer.get_country_idN©
r   r   r   r   r_   r  rª  r   rH  r°  r   r   r   r   r­  e
  s
   r­  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚSortCountrySerializerc                   @   s   e Zd ZeZddgZdS )zSortCountrySerializer.Metar›  rœ  Nr¦  r   r   r   r   r   Ž
  s   r   c                 C   s   g S rc   r   rH   r   r   r   r¢  “
  s    z+SortCountrySerializer.get_user_subscriptionc                 C   sJ   t jj|jd�}t|dƒ t|dƒ t|dd�}t|jdƒ |rF|jS d S ©Nr©  z
====subobjz====mysublistTrV   z=================data©rc  rQ   rR   r    rÆ   r­  r[   ©rI   rJ   re  r¡  r   r   r   r£  –
  s    

z+SortCountrySerializer.get_subscription_listNr¤  r   r   r   r   r²  ‹
  s
   r²  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚCpppSortCountryListSerializerc                   @   s$   e Zd ZeZddddddddgZd	S )
z"CpppSortCountryListSerializer.Metar    rª  r  r;  r*   r6  r  r7  Nr|  r   r   r   r   r   ³
  s   r   c              
   C   sD   z|j r|j W S W d S  tjk
r> } z
W Y ¢d S d }~X Y nX d S rc   r®  rF  r   r   r   rH  ¸
  s    z(CpppSortCountryListSerializer.get_monthsc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   r¯  rH   r   r   r   r°  À
  s    
z,CpppSortCountryListSerializer.get_country_idNr±  r   r   r   r   r¶  ¢
  s
   r¶  c                   @   sú   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dS ) ÚPPListSerializerc                   @   s8   e Zd ZeZddddddddd	d
ddddddddgZdS )zPPListSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r6  rX  rY  r  r  r  r0   r1   Nr®   r   r   r   r   r   Ù
  s   r   c                 C   s$   |j j}|j j}|r|S |r |S d S rc   rZ  r[  r   r   r   r,  í
  s    zPPListSerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  r]  r   r   r   r"  ÷
  s    z PPListSerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  ý
  s    zPPListSerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(    s    zPPListSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   
  s    zPPListSerializer.get_user_idc                 C   s   |j r|j jS d S rc   r^  rH   r   r   r   r     s    z"PPListSerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢     s    z PPListSerializer.get_magazine_idc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rb  rd  r   r   r   rB    s    z&PPListSerializer.get_subscription_typec                 C   sF   z(t jj|jjjd� ¡ }|r$W dS W dS  tjk
r@   Y dS X d S rz  rf  rd  r   r   r   rR  #  s    z(PPListSerializer.get_subscription_statusc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rg  rd  r   r   r   rì   -  s    z PPListSerializer.get_descriptionc                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  rh  rd  r   r   r   r@  6  s    z PPListSerializer.get_total_pricec                 C   sH   z*t jj|jjjd� ¡ }|r&|jW S W d S  tj	k
rB   Y d S X d S r_  ri  rd  r   r   r   rj  ?  s    zPPListSerializer.get_discountc                 C   sp   zRt jj|jjjd� ¡ }|rN|j}tt|ƒt|j	ƒ d ƒ}t
|dƒ}|W S W d S  tjk
rj   Y d S X d S rk  rn  rq  r   r   r   rt  H  s    
z#PPListSerializer.get_discount_pricec                 C   s€   zbt jj|jjjd� ¡ }|r^|j}tt|ƒt|j	ƒ d ƒ}t|ƒt|ƒ }t
|dƒ}|W S W d S  tjk
rz   Y d S X d S rk  rn  ru  r   r   r   rw  T  s    
z$PPListSerializer.get_discount_to_payNrx  r   r   r   r   r·  È
  s:   


			r·  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚpppSortCountrySerializerc                   @   s   e Zd ZeZddgZdS )zpppSortCountrySerializer.Metar›  rœ  Nr¦  r   r   r   r   r   d  s   r   c                 C   s   g S rc   r   rH   r   r   r   r¢  i  s    z.pppSortCountrySerializer.get_user_subscriptionc                 C   sJ   t jj|jd�}t|dƒ t|dƒ t|dd�}t|jdƒ |rF|jS d S r³  r´  rµ  r   r   r   r£  l  s    

z.pppSortCountrySerializer.get_subscription_listNr¤  r   r   r   r   r¸  a  s
   r¸  c                   @   sj   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	G dd„ dƒZ
dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚUserSubscriptionListSerializerc                   @   s$   e Zd ZeZddddddddgZd	S )
z#UserSubscriptionListSerializer.Metar    rL   r  r;  rO  r*   r0   r1   Nr®   r   r   r   r   r   ƒ  s   r   c                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  ‰  s    z,UserSubscriptionListSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   Ž  s    z*UserSubscriptionListSerializer.get_user_idc                 C   s>   z t |jƒ |jr|jjW S W d S  tjk
r8   Y d S X d S rc   )rÆ   r  r;  r¯   rG   rH   r   r   r   rB  ”  s    

z4UserSubscriptionListSerializer.get_subscription_typec                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )r  rO  r¯   rG   rH   r   r   r   rR  Ÿ  s    
z6UserSubscriptionListSerializer.get_subscription_statusc                 C   s4   z|j r|j jW S W d S  tjk
r.   Y d S X d S rc   )r  r*   r¯   rG   rH   r   r   r   rì   ©  s    
z.UserSubscriptionListSerializer.get_descriptionN)r   r   r   r   r_   rL   r;  rO  r*   r  r   r(  r¤   rB  rR  rì   r   r   r   r   r¹  {  s   
r¹  c                   @   sÚ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚSubscriptionListSerializerc                   @   s2   e Zd ZeZddddddddd	d
dddddgZdS )zSubscriptionListSerializer.Metar    r    r  r  rL   r  r;  rO  r*   r:  r  r  r  r0   r1   Nr®   r   r   r   r   r   Â  s   r   c              
   C   s„   zT|j rP|j jdkrtdƒW S |j jdkr4tdƒW S |j jdkrJtdƒW S W d S W d S  tjk
r~ } z
W Y ¢d S d }~X Y nX d S rD  )r  r;  rß   rc  rG   rF  r   r   r   rH  Î  s    


z%SubscriptionListSerializer.get_monthsc                 C   s$   |j j}|j j}|r|S |r |S d S rc   rZ  r[  r   r   r   r,  ê  s    z$SubscriptionListSerializer.get_pricec                 C   s   |j }|r|S d S rc   r!  r]  r   r   r   r"  ô  s    z*SubscriptionListSerializer.get_expiry_datec                 C   s    |j }|j}|r|S |r|S d S rc   r-  r*  r   r   r   r.  ú  s    z#SubscriptionListSerializer.get_datec                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(    s    z(SubscriptionListSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤     s    z&SubscriptionListSerializer.get_user_idc                 C   s   |j r|j jS d S rc   r^  rH   r   r   r   r     s    z,SubscriptionListSerializer.get_magazine_namec                 C   s   |j r|j jS d S rc   r²   rH   r   r   r   r¢     s    z*SubscriptionListSerializer.get_magazine_idc                 C   sF   z(t jj|jjd� ¡ }|r$|jW S W d S  tjk
r@   Y d S X d S r‘   )	rc  rQ   rR   r  r    rƒ   r;  r¯   rG   rd  r   r   r   rB    s    z0SubscriptionListSerializer.get_subscription_typec                 C   sF   z(t jj|jjd� ¡ }|r$|jW S W d S  tjk
r@   Y d S X d S r‘   )	rc  rQ   rR   r  r    rƒ   rO  r¯   rG   rd  r   r   r   rR     s    z2SubscriptionListSerializer.get_subscription_statusc                 C   sF   z(t jj|jjd� ¡ }|r$|jW S W d S  tjk
r@   Y d S X d S r‘   )	rc  rQ   rR   r  r    rƒ   r*   r¯   rG   rd  r   r   r   rì   *  s    z*SubscriptionListSerializer.get_descriptionc                 C   s   |j r|j S d S rc   )r  rH   r   r   r   r@  R  s    z*SubscriptionListSerializer.get_total_priceN)r   r   r   r   r_   rL   r;  rO  r*   r  r:  r    r  r  r  r  r  r   rH  r,  r"  r.  r(  r¤   r   r¢   rB  rR  rì   r@  r   r   r   r   rº  ²  s2   


(rº  c                   @   sz   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
G dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ ZdS )Ú"MagazineSubscriptionInfoSerializerc                   @   s6   e Zd ZeZddddddddd	d
dddddddgZdS )z'MagazineSubscriptionInfoSerializer.Metar    rL   r  r;  r:  r<  r&   r  rM  r  rN  r=  r>  rO  r*   r7  r1   NrP  r   r   r   r   r   ©  s   r   c                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  ¯  s    z0MagazineSubscriptionInfoSerializer.get_user_namec                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ´  s    z.MagazineSubscriptionInfoSerializer.get_user_idc                 C   s   |j r|j j |j jS d S rc   rS  rH   r   r   r   r@  ¹  s    z2MagazineSubscriptionInfoSerializer.get_total_pricec                 C   s   |j r|j jS d S rc   rT  rH   r   r   r   rB  ¿  s    z8MagazineSubscriptionInfoSerializer.get_subscription_typec                 C   s   |j r|j jS d S rc   rU  rH   r   r   r   rC  Ä  s    z+MagazineSubscriptionInfoSerializer.get_daysc              
   C   s„   zT|j rP|j jdkrtdƒW S |j jdkr4tdƒW S |j jdkrJtdƒW S W d S W d S  tjk
r~ } z
W Y ¢d S d }~X Y nX d S rD  rV  rF  r   r   r   rH  É  s    


z-MagazineSubscriptionInfoSerializer.get_monthsN)r   r   r   r   r_   rL   r;  r<  r  r:  r  r   r(  r¤   r@  rB  rC  rH  r   r   r   r   r»  ¢  s   r»  c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineOrderHistorySerializerc                	   @   s&   e Zd ZeZddddddddd	g	Zd
S )z#MagazineOrderHistorySerializer.Metar    r  rN   rM   ÚsubscriptionsÚmagazineOffersÚmagazinePurchaser7  r1   N©r   r   r   ÚMagazineOrderinfor   r   r   r   r   r   r   Û  s   r   Nr   r   r   r   r   r¼  Ú  s   r¼  c                   @   sj   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	G dd„ dƒZ
dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚMagazineOrderdataSerializerc                	   @   s&   e Zd ZeZddddddddd	g	Zd
S )z MagazineOrderdataSerializer.Metar    r  r    rL   r�  ÚmagazineOffer_idÚmagazinePurchase_idr7  r1   NrÀ  r   r   r   r   r   è  s   r   c                 C   s   |j r|j jS d S rc   r¡   rH   r   r   r   r¢   í  s    z+MagazineOrderdataSerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ò  s    z'MagazineOrderdataSerializer.get_user_idc                 C   s   |j r|j jS d S rc   )r½  r    rH   r   r   r   Úget_subscription_id÷  s    z/MagazineOrderdataSerializer.get_subscription_idc                 C   s   |j r|j jS d S rc   )r¾  r    rH   r   r   r   Úget_magazineOffer_idü  s    z0MagazineOrderdataSerializer.get_magazineOffer_idc                 C   s   |j r|j jS d S rc   )r¿  r    rH   r   r   r   Úget_magazinePurchase_id  s    z3MagazineOrderdataSerializer.get_magazinePurchase_idN)r   r   r   r   r_   r    rL   r�  rÃ  rÄ  r   r¢   r¤   rÅ  rÆ  rÇ  r   r   r   r   rÂ  â  s   rÂ  c                   @   sâ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚMagazineOrderDetailSerializerc                   @   s:   e Zd ZeZddddddddd	d
dddddddddgZdS )z"MagazineOrderDetailSerializer.Metar    r  r  Ú
read_countrÏ   Úpurchase_typerL   r  r    r  Úmagazine_rattingr  Útotal_order_priceÚmagazine_authorr%   Údelivery_dater	  r0   r1   Nr®   r   r   r   r   r     s   r   c                 C   s&   t jj|jjd� ¡  ¡ }|r"|S d S )N)rM   )r¯   rQ   rR   rM   r    rZ   r   )rI   rJ   Zreadobjr   r   r   Úget_read_count  s    z,MagazineOrderDetailSerializer.get_read_countc                 C   s   |rt dƒS d S rÝ   rÞ   rH   r   r   r   rà      s    z*MagazineOrderDetailSerializer.get_currencyc                 C   s   |r
|j S d S rc   ©r¹   rH   r   r   r   Úget_purchase_type%  s    z/MagazineOrderDetailSerializer.get_purchase_typec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r  r•   r   r   r   r¢   *  s    z-MagazineOrderDetailSerializer.get_magazine_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r  r•   r   r   r   r   0  s    z/MagazineOrderDetailSerializer.get_magazine_namec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r3   rQ   rR   r°   r    rƒ   r'   r•   r   r   r   Úget_magazine_ratting6  s    z2MagazineOrderDetailSerializer.get_magazine_rattingc              
   C   s~   zNt jj|jd� ¡ }tƒ  |rJ|jr.|jW S |jr<|jW S |jrJ|jW S W d S  t j	k
rx } z
W Y ¢d S d }~X Y nX d S r‘   ©
r¯   rQ   rR   r    rƒ   rÆ   r)   r(   r  rG   ©rI   rJ   rŽ   rG  r   r   r   r,  <  s    z'MagazineOrderDetailSerializer.get_pricec              
   C   s~   zNt jj|jd� ¡ }tƒ  |rJ|jr.|jW S |jr<|jW S |jrJ|jW S W d S  t j	k
rx } z
W Y ¢d S d }~X Y nX d S r‘   rÔ  rÕ  r   r   r   Úget_total_order_priceW  s    z3MagazineOrderDetailSerializer.get_total_order_pricec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r3   rQ   rR   r°   r    rƒ   r(   r•   r   r   r   Úget_magazine_rent_pricef  s    z5MagazineOrderDetailSerializer.get_magazine_rent_pricec                 C   sR   z4|r0t jj|jjd� ¡ }t|dd�}|jW S W d S  tj	k
rL   Y d S X d S r´   )
r3   rQ   rR   r°   r    rƒ   r§   r[   r¯   rG   r�   r   r   r   r¶   l  s    z+MagazineOrderDetailSerializer.get_cover_picc                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S rT   ©r6   rQ   rR   r°   rY   rZ   r4   r[   r\   r   r   r   Úget_magazine_authorv  s    z1MagazineOrderDetailSerializer.get_magazine_authorc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r#  r%  r   r   r   r¤   |  s    z)MagazineOrderDetailSerializer.get_user_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r&  r%  r   r   r   r(  ‚  s    z+MagazineOrderDetailSerializer.get_user_nameN)r   r   r   r   r_   r    r  rL   r  r  rÌ  rÍ  r%   rË  rÊ  rÏ   rÉ  r   rÏ  rà   rÑ  r¢   r   rÓ  r,  rÖ  rØ  r¶   rÚ  r¤   r(  r   r   r   r   rÈ    s4   
rÈ  c                   @   sê   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚMGAOrderHistorySerializerc                   @   s<   e Zd ZeZddddddddd	d
ddddddddddgZdS )zMGAOrderHistorySerializer.Metar    r  Úorder_idr  rÌ  rÎ  r	  r  rÊ  rL   r  r    r  rË  Úmagazine_priceÚmagazine_rent_pricerÍ  r%   r0   r1   Nr®   r   r   r   r   r   ˜  s   r   c                 C   s   |j r|j S d S rc   rU   rH   r   r   r   Úget_order_id�  s    z&MGAOrderHistorySerializer.get_order_idc              
   C   sx   zHt jj|jd� ¡ }|rD|jr(|jW S |jr6|jW S |jrD|jW S W d S  t jk
rr } z
W Y ¢d S d }~X Y nX d S r‘   ©	r¯   rQ   rR   r    rƒ   r)   r(   r  rG   rÕ  r   r   r   r,  ¢  s    z#MGAOrderHistorySerializer.get_pricec              
   C   sx   zHt jj|jd� ¡ }|rD|jr(|jW S |jr6|jW S |jrD|jW S W d S  t jk
rr } z
W Y ¢d S d }~X Y nX d S r‘   rà  rÕ  r   r   r   rÖ  »  s    z/MGAOrderHistorySerializer.get_total_order_pricec                 C   s   |r
|j S d S rc   rÐ  rH   r   r   r   rÑ  ã  s    z+MGAOrderHistorySerializer.get_purchase_typec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r  r•   r   r   r   r¢   è  s    z)MGAOrderHistorySerializer.get_magazine_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r  r•   r   r   r   r   î  s    z+MGAOrderHistorySerializer.get_magazine_namec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   rÒ  r•   r   r   r   rÓ  ô  s    z.MGAOrderHistorySerializer.get_magazine_rattingc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r3   rQ   rR   r°   r    rƒ   r)   r•   r   r   r   Úget_magazine_priceú  s    z,MGAOrderHistorySerializer.get_magazine_pricec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r×  r•   r   r   r   rØ    s    z1MGAOrderHistorySerializer.get_magazine_rent_pricec                 C   sR   z4|r0t jj|jjd� ¡ }t|dd�}|jW S W d S  t jk
rL   Y d S X d S r´   )	r3   rQ   rR   r°   r    rƒ   r§   r[   rG   r�   r   r   r   r¶     s    z'MGAOrderHistorySerializer.get_cover_picc                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S rT   rÙ  r\   r   r   r   rÚ  #  s    z-MGAOrderHistorySerializer.get_magazine_authorc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r#  r%  r   r   r   r¤   )  s    z%MGAOrderHistorySerializer.get_user_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r&  r%  r   r   r   r(  /  s    z'MGAOrderHistorySerializer.get_user_nameN) r   r   r   r   r_   r    r  rL   r  rÝ  rÞ  rÍ  r%   rË  rÊ  r  rÌ  rÜ  r   rß  r,  rÖ  rÑ  r¢   r   rÓ  rá  rØ  r¶   rÚ  r¤   r(  r   r   r   r   rÛ  Š  s6   (rÛ  c                   @   sÂ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )Ú"ShowMagazineOrderHistorySerializerc                   @   s0   e Zd ZeZddddddddd	d
ddddgZdS )z'ShowMagazineOrderHistorySerializer.Metar    r  rÊ  rL   r  r    r  rË  rÝ  rÞ  rÍ  r%   r7  r1   NrÀ  r   r   r   r   r   L  s   r   c                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r¯   rQ   rR   r¿  r    rƒ   r¹   )rI   rJ   Zpurchaseobjr   r   r   rÑ  l  s    z4ShowMagazineOrderHistorySerializer.get_purchase_typec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r3   rQ   rR   rN   r    rƒ   r•   r   r   r   r¢   r  s    z2ShowMagazineOrderHistorySerializer.get_magazine_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r3   rQ   rR   rN   r    rƒ   r&   r•   r   r   r   r   x  s    z4ShowMagazineOrderHistorySerializer.get_magazine_namec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r3   rQ   rR   rN   r    rƒ   r'   r•   r   r   r   rÓ  ~  s    z7ShowMagazineOrderHistorySerializer.get_magazine_rattingc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   )r3   rQ   rR   rN   r    rƒ   r)   r•   r   r   r   rá  „  s    z5ShowMagazineOrderHistorySerializer.get_magazine_pricec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   ©r3   rQ   rR   rN   r    rƒ   r(   r•   r   r   r   rØ  ‹  s    z:ShowMagazineOrderHistorySerializer.get_magazine_rent_pricec                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   rã  r•   r   r   r   rØ  ‘  s    c                 C   sR   z4|r0t jj|jjd� ¡ }t|dd�}|jW S W d S  t jk
rL   Y d S X d S r´   )	r3   rQ   rR   rN   r    rƒ   r§   r[   rG   r�   r   r   r   r¶   —  s    z0ShowMagazineOrderHistorySerializer.get_cover_picc                 C   s,   t jj|jjd� ¡ }|r(t|dd�jS d S rT   )r6   rQ   rR   rN   rY   rZ   r4   r[   r\   r   r   r   rÚ  ­  s    z6ShowMagazineOrderHistorySerializer.get_magazine_authorc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r#  r%  r   r   r   r¤   ³  s    z.ShowMagazineOrderHistorySerializer.get_user_idc                 C   s$   t jj|jjd� ¡ }|r |jS d S r‘   r&  r%  r   r   r   r(  ¹  s    z0ShowMagazineOrderHistorySerializer.get_user_nameN)r   r   r   r   r_   r    r  rL   r  rÝ  rÞ  rÍ  r%   rË  rÊ  r   rÑ  r¢   r   rÓ  rá  rØ  r¶   rÚ  r¤   r(  r   r   r   r   râ  @  s,    râ  c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineReviewInfoSerializerc                   @   s"   e Zd ZeZdddddddgZdS )	z!MagazineReviewInfoSerializer.Metar    rN   rM   r'   r*   r7  r1   N©r   r   r   ÚmagazineReviewInfor   r   r   r   r   r   r   Ì  s   r   Nr   r   r   r   r   rä  Ë  s   rä  c                   @   s   e Zd ZG dd„ dƒZdS )Ú"UpdateMagazineReviewInfoSerializerc                   @   s   e Zd ZeZdddddgZdS )z'UpdateMagazineReviewInfoSerializer.Metar    rN   rM   r'   r*   Nrå  r   r   r   r   r   Ò  s   r   Nr   r   r   r   r   rç  Ñ  s   rç  c                   @   sZ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ ZG dd„ dƒZ	dd„ Z
dd„ Zdd„ Zd	d
„ ZdS )ÚReviewInfoSerializerc                   @   s"   e Zd ZeZdddddddgZdS )	zReviewInfoSerializer.Metar    r    rL   r'   r*   r7  r1   Nrå  r   r   r   r   r   Ý  s   r   c                 C   s   |j r|j jS d S rc   r¡   rH   r   r   r   r¢   â  s    z$ReviewInfoSerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   ç  s    z ReviewInfoSerializer.get_user_idc                 C   s   |j r|j S d S rc   )r'   rH   r   r   r   r±   ì  s    z ReviewInfoSerializer.get_rattingc                 C   s   |j r|j S d S rc   )r*   rH   r   r   r   rì   ñ  s    z$ReviewInfoSerializer.get_descriptionN)r   r   r   r   r_   r    rL   r'   r*   r   r¢   r¤   r±   rì   r   r   r   r   rè  Ø  s   rè  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚReviewInfoListSerializerc                   @   s"   e Zd ZeZdddddddgZdS )	zReviewInfoListSerializer.Metar    r    rL   r'   r*   r7  r1   Nrå  r   r   r   r   r   ú  s   r   c                 C   s   |j r|j jS d S rc   r¡   rH   r   r   r   r¢   ÿ  s    z(ReviewInfoListSerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤     s    z$ReviewInfoListSerializer.get_user_idN©
r   r   r   r   r_   r    rL   r   r¢   r¤   r   r   r   r   ré  ÷  s
   ré  c                   @   s   e Zd ZG dd„ dƒZdS )ÚprofilepicSerializerc                   @   s   e Zd ZeZdgZdS )zprofilepicSerializer.MetaÚprofile_picNr�  r   r   r   r   r   
  s   r   Nr   r   r   r   r   rë  	  s   rë  c                   @   sŠ   e Zd Ze ¡ Ze ¡ Ze ¡ Ze ¡ Ze ¡ Z	e ¡ Z
e ¡ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )Ú#MagazineReviewInfoHistorySerializerc                   @   s,   e Zd ZeZddddddddd	d
ddgZdS )z(MagazineReviewInfoHistorySerializer.Metar    r    Úmagazine_by_rattingr  rL   r  r'   r*   rì  r%   r7  r1   Nrå  r   r   r   r   r     s   r   c                 C   sR   z4|r0t jj|jjd� ¡ }t|dd�}|jW S W d S  tj	k
rL   Y d S X d S r´   )
r3   rQ   rR   rN   r    rƒ   r§   r[   ræ  rG   r�   r   r   r   r¶     s    z1MagazineReviewInfoHistorySerializer.get_cover_picc                 C   s   |j r|j jS d S rc   r¡   rH   r   r   r   r¢   %  s    z3MagazineReviewInfoHistorySerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   )rN   r'   rH   r   r   r   Úget_magazine_by_ratting*  s    z;MagazineReviewInfoHistorySerializer.get_magazine_by_rattingc                 C   s   |j r|j jS d S rc   r£   rH   r   r   r   r¤   /  s    z/MagazineReviewInfoHistorySerializer.get_user_idc                 C   sR   z4|r0t jj|jjd� ¡ }t|dd�}|jW S W d S  tj	k
rL   Y d S X d S r´   )
r$  rQ   rR   rM   r    rƒ   rë  r[   ræ  rG   r�   r   r   r   Úget_profile_pic4  s    z3MagazineReviewInfoHistorySerializer.get_profile_picc                 C   s   |j r|j jS d S rc   rQ  rH   r   r   r   r(  D  s    z1MagazineReviewInfoHistorySerializer.get_user_namec                 C   s   |j r|j jS d S rc   )rN   r&   rH   r   r   r   r   I  s    z5MagazineReviewInfoHistorySerializer.get_magazine_nameN)r   r   r   r   r_   r    r  rL   r  r%   rì  rî  r   r¶   r¢   rï  r¤   rð  r(  r   r   r   r   r   rí    s   
rí  c                   @   s   e Zd ZG dd„ dƒZdS )ÚMagazineReadStatusSerializerc                   @   s    e Zd ZeZddddddgZdS )z!MagazineReadStatusSerializer.Metar    rb   rÕ   rÑ   r7  r1   N©r   r   r   ÚMagazineReadStatusr   r   r   r   r   r   r   R  s   r   Nr   r   r   r   r   rñ  Q  s   rñ  c                   @   s:   e Zd Ze ¡ Ze ¡ ZG dd„ dƒZdd„ Zdd„ Z	dS )ÚShowMGAReadStatusSerializerc                   @   s    e Zd ZeZddddddgZdS )z ShowMGAReadStatusSerializer.Metar    r    rL   rÑ   r7  r1   Nrò  r   r   r   r   r   \  s   r   c                 C   s   |j r|j jS d S rc   )rb   r    rH   r   r   r   r¢   a  s    z+ShowMGAReadStatusSerializer.get_magazine_idc                 C   s   |j r|j jS d S rc   )rÕ   r    rH   r   r   r   r¤   f  s    z'ShowMGAReadStatusSerializer.get_user_idNrê  r   r   r   r   rô  Y  s
   rô  )XZasyncorer   Úcalendarr   Údataclassesr   Ú	itertoolsr   Úmultiprocessingr   ÚreÚrest_frameworkr   ÚmodelsÚdjango.db.modelsr
   r   r   r   r   r   r   ÚModelSerializerr   r   r$   r4   r7   rj   ro   rs   rw   rz   r�   rž   rŸ   r¥   r¦   r§   r¨   r¸   rº   r¼   r½   rÃ   rÄ   rÇ   rü   rÿ   r  r  r  r0  r1  r2  r3  rI  rK  rL  rW  ry  r{  r�  r˜  rš  r¥  r¬  r­  r²  r¶  r·  r¸  r¹  rº  r»  r¼  rÂ  rÈ  rÛ  râ  rä  rç  rè  ré  rë  rí  rñ  rô  r   r   r   r   Ú<module>   s®   $,ly:	RX*  :} GF4>@  { ( .&& 7 q8&  7 C