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 dejZPG dd dejZQG dd dejZRG dd dejZSG dd dejZTG dd dejZUG dd dejZVG dd de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