
    c9i.                       d dl mZ d dlmZ d dlZd dlmZ d dlmZm	Z	m
Z
mZmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d dlZd dlZd d
lmZ d dlZed        Zed        Zed        Zed        Zd Zed        Zd Zed        Z ed        Z!ed        Z"ed!d       Z#d Z$d Z%ed        Z&ed        Z'ed!d       Z#ed        Z(ed        Z)ed        Z*ed        Z+ed        Z,ed         Z-y)"    )shared_task)	send_mailN)Shop)ProductsSKUSalesUnitProductSelectionProductCategoryProductSubCategory)NotificationStatOrders)	messaging)credentials)Users)settingsc                    t        j                  d       	 t        j                  j	                  |       j                         }t        j                  j	                         D ]  }|j                  }|j                  }t        j                  j	                  |d      }t        j                  j	                  |d      }t        j                  j	                  |d      }|s|j                  j                  |       nkd}|D ]G  }	t        j                  j	                  |	|      j                         }
|
s5|
j                  dk(  sEd	} n |r|j                  j                  |       |s|j                  j                  |       nkd}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd	} n |r|j                  j                  |       |s|j                  j                  |       d}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd	} n |s|j                  j                  |        	 t        j                  d       y # t        $ r"}t        j                  d
|        Y d }~<d }~ww xY w)NzCelery job starteduuidVisibleproduct
sku_statusproduct__item_sub_categoryr   product__item_categoryr   Tsku
sales_unitFzCelery Shop Creation : z*Celery Shop Delete Status Change Completed)logginginfor   objectsfilterfirstr   item_sub_categoryitem_categoryr   r   remover   shop_admin_status	Exceptionerror)shop_idshopsku_productsku_sub_categorysku_categorysku_datasku_sub_category_datasku_category_dataproduct_remove_flagl	sku_salessub_category_remove_flagmsku_sub_category_salescategory_remove_flagnsku_category_saleses                     3E:\Akash\Saasvaap\Navya-Bakers\adminportal\tasks.pyshop_add_celery_status_checkr=      s   LL%&]5||""'"288:#++224K*<<&44L{{))+))TH %(KK$6$6Rbox$6$y! !$ 2 2,cl 2 m &&--d3&*#!A 9 A A H HQ[_ H ` f f hI  %66)C27/! " '**11$7 ) ++2248+/(.A-F-N-N-U-UZ[ae .V .gglglgn + .1CCyP7<4! / ,$//66t< %''..t4'+$*A)B)J)J)Q)QVWdh)Q)i)o)o)q&)-??9L380! + ( ++2248o 5x LL=>  5/s3445sD   D!J 9J 	A8J J A9J J J %J 	K#K  Kc           
      f   t        j                  d|         dt        j                   d}dt        j                   dd}| j                  dd      } d	| d
|ddidd|dd|dgdgdd}t        j                  |||      }t        d|j                         t        d|j                         y )Nu'   🔔 WhatsApp Task Triggered | Number: z!https://graph.facebook.com/v21.0/	/messagesBearer application/jsonAuthorizationzContent-Type+ whatsapptemplatecodeenbodytexttyperK   rM   
parametersnamelanguage
components)messaging_producttorM   rG   )headersjsonzSTATUS:z	RESPONSE:)r   r    r   WHATSAPP_PHONE_NUMBER_IDWHATSAPP_ACCESS_TOKENreplacerequestspostprintstatus_coderK   )numberorderIDrQ   template_nameurlrV   payloadresponses           r<   send_whatsapp_messagere      s     LL:6(CD-h.O.O-PPY
ZC #8#A#A"BC*G ^^C$F (! #!'6!'9#
	G( }}S'@H	)X))*	+x}}%    c                    t        j                  d       	 dt        j                   d}|j	                  dd      }|j	                  dd      }|j	                  dd      }|j	                  dd      }d	t        j
                   d
d}dd| ddddidd|dd|dd|dgddddd|dgdgdd}	t        j                  ||t        j                  |	            }
|
j                  dk(  r#t        j                  d|
j                          y t        j                  d|
j                   d |
j                          y # t        $ r"}t        j                  d!|        Y d }~y d }~ww xY w)"NzWhatsapp sending via celeryz!https://graph.facebook.com/v17.0/r?   pick_up_addressrE   drop_addressgoogle_place_linkr`   r@   rA   rB   rF   
individualrG   navya_update_1rH   en_USrJ   rK   rL   rN   buttonrb   0)rM   sub_typeindexrO   rP   )rT   recipient_typerU   rM   rG   )rV   data   zMessage sent successfully!, zFailed to send message:, z, z Whatsapp Message Sending Error: )r   r    r   whatsapp_PHONE_NUMBER_IDgetwhatsapp_ACCESS_TOKENr[   r\   rW   dumpsr^   rK   r)   r(   )r_   rQ   rs   rb   pickup_addressri   rj   order_idrV   rc   rd   r;   s               r<   "send_whatsapp_message_delivery_boyr{      s   LL./@>1(2S2S1TT]^"3R8xx3 HH%8"=88Ir*  'x'E'E&FG.
 ",*(G !' )/(0
 )/(6
 )/(4'$ !)$)!$ )/(9'	
'%+
Z ==gDJJw<OP3&LL7GHMM5h6J6J5K2hmm_]^ >8<==>s   C6D> /D> >	E)E$$E)c                     t        j                  d       t        d|        	 t        | ||||       y # t        $ r"}t        j                  d|        Y d }~y d }~ww xY w)NzEmail sending via celeryzEmail sending via celery to )subjectmessage
from_emailrecipient_listfail_silentlyz-Delivery boy assigning Email Sending Failed: )r   r    r]   r   r(   )r}   r~   r   r   r   r;   s         r<   email_sendingr     sg    LL+-	((8
9:J'!'!/ -		1
  JDQCHIIJs   6 	A!AA!c                    	 t         j                  j                  |      j                         }t        j                  j                  |       j                         }t
        j                  j                  ||||      }|j                          y # t        $ r"}t        j                  d|        Y d }~y d }~ww xY w)Nr   )SendmsgOrderIDsendToDescriptionz&Notification History Creation Failed: )r   r!   r"   r#   r   r   createsaver(   r   r    )OrderNotification_titler   descriptionuserordersnotification_datar;   s           r<   notification_stat_postr   %  s    }}##6#288:&&e&4::<,44;;DV`fCGVa < c  =aSAB 		s   BB 	B=B88B=c                    t        j                  d       t        ||||       	 t        j                  s*t        j                  d      }t        j                  |       t        j                  t        j                  ||      |||ddt        j                  d      t        j                  dd	it        j                  t        j                  d
t        j                  ||      d                  |       }t        j                   |      }t        j                  d|        y # t        j"                  $ r"}	t        j$                  d|	        Y d }	~	y d }	~	wt        j&                  $ r"}	t        j$                  d|	        Y d }	~	y d }	~	wt        j(                  $ r"}	t        j$                  d|	        Y d }	~	y d }	~	wt        j*                  $ r"}	t        j$                  d|	        Y d }	~	y d }	~	wt        j,                  $ r"}	t        j$                  d|	        Y d }	~	y d }	~	wt.        $ r"}	t        j$                  d|	        Y d }	~	y d }	~	ww xY w)Nznotification sending via celeryj/var/www/html/Testing_prj/Navya-Bakers/constants/navyabakers-1d955-firebase-adminsdk-fbsvc-d2f9578075.json)titlerJ   zOrder Update)r   r   r`   rM   high)priorityzapns-priority10c   default)badgealertsound)aps)rV   rc   )notificationrs   androidapnstokenu$   ✅ Notification sent successfully: zFCM token is no longer valid: zSender ID mismatch: z"Third party authentication error: zQuota exceeded: zInvalid arguments: zError sending notification: )r   r    r   firebase_admin_appsr   Certificateinitialize_appr   MessageNotificationAndroidConfig
APNSConfigAPNSPayloadApsApsAlertsendUnregisteredErrorr)   SenderIdMismatchErrorThirdPartyAuthErrorQuotaExceededErrorInvalidArgumentErrorr(   )
fcmTokenr   r   r   r   	OrderUUIDcredr~   rd   r;   s
             r<   send_notificationr   4  s   LL239eV[A7:##**}D))$/ ##"// 
 *"&	 ++ %%($/!--! '00u;O'	 1
8 >>'*;H:FG&& <6qc:;; ** 2,QC011(( @:1#>??'' .(,--)) 1+A3/00 :4QC899:sT   DD+ +I>EI1FI$GIG44I
H''I3IIc                  z    t         j                  s+t        j                  d      } t        j                  |        y y )Nr   )r   r   r   r   r   )r   s    r<   initialize_fcm_appr   r  s7     &&  (U  V%%d+	  rf   c                    ddl m} t        j                  }t        j                  }t        j
                  }t        |      } |||      }	 |j                  j                  |||       }t        j                  d|        t        d|j                   d|        y # t        $ r"}t        j                  d|        Y d }~y d }~ww xY w)Nr   )Client)rU   from_rJ   zTwilio SMS send to z
Twilio SMSz	 send to zTwilio SMS Error: )twilio.restr   r   TWILIO_ACCOUNT_SIDTWILIO_AUTH_TOKENTWILIO_PHONE_NUMBERstrmessagesr   r   r    r]   sidr(   )	rJ   to_phoner   account_sid
auth_tokenfromphtwilio_clientr~   r;   s	            r<   smsr   z  s    ",,K++J))F8}H;
3M/((// 0  	*8*56
7;;-y
;< /)!-../s   AB 	C	'CC	c                    t        j                  d       	 t        j                  j	                  |       j                         }t        j                  j	                  |j                  d      }t        j                  j	                  |j                  j                  d      }t        j                  j	                  |j                  j                  d      }t        j                  j                  d      }|D ]  }|s&|j                  j                  j                  |       nud}|D ]G  }t        j                  j	                  ||	      j                         }	|	s5|	j                  dk(  sEd
} n |r%|j                  j                  j                  |       |s0|j                  j                  j                  j                  |       nd}
|D ]G  }t        j                  j	                  ||	      j                         }|s5|j                  dk(  sEd
}
 n |
r/|j                  j                  j                  j                  |       |s1|j                  j                  j                  j                  |       d}|D ]G  }t        j                  j	                  ||	      j                         }|s5|j                  dk(  sEd
} n |s|j                  j                  j                  j                  |        	 t        j                  d       y # t        $ r"}t        j                  d|        Y d }~<d }~ww xY w)Nz%shop availability update task startedidr   r   r   r   -created_atTr   Fz,Shop Admin Status Update from Celery error: z*shop availability status update task ended)r   r    r   r!   r"   r#   r   r$   r%   r   order_byr   r&   r   r'   r(   )sku_idr   r/   r0   r1   shopsr+   r2   jr4   r5   kr7   r8   r3   r:   r;   s                    r<   shop_admin_status_updater     s   LL89TI[[V,224;;%%ckki%P !$ 2 2'*{{'D'D  !3 !"  KK..ckkF_F_:C / E %%m4D&&--d3&*#!A 9 A A H HQTX !I !ZZ_Z_Za  ! %66)C27/! " 'KK**11$7 )--88??E+/(.A-F-N-N-U-UZ[ae .V .gglglgn + .1CCyP7<4! / ,KK11<<CCDI %))44;;DA'+$*A)B)J)J)Q)QVW]a *R *cchchcj ' *-??9L380! + (KK--88??Ew | LL=>  ICA3GHHIsD   EL  L 0BL L B!L 9L 	L 2L 	M$MMc                    t        j                  d       	 t        j                  j	                  |       j                         }t        j                  j	                  |      j                         }t        j                  j	                  |j                  d      }t        j                  j	                  |j                  j                  d      }t        j                  j	                  |j                  j                  d      }|s&|j                  j                  j                  |       nud}|D ]G  }t        j                  j	                  ||	      j                         }	|	s5|	j                  dk(  sEd
} n |r%|j                  j                  j                  |       |s0|j                  j                  j                  j                  |       nd}
|D ]G  }t        j                  j	                  ||	      j                         }	|	s5|	j                  dk(  sEd
}
 n |
r/|j                  j                  j                  j                  |       |s0|j                  j                  j                  j                  |       nd}|D ]G  }t        j                  j	                  ||	      j                         }	|	s5|	j                  dk(  sEd
} n |r/|j                  j                  j                  j                  |       t        j                  d       y # t        $ r"}t        j                  d|        Y d }~<d }~ww xY w)Nz5shop admin status update for shop from celery startedr   r   r   r   r   r   Tr   Fz1sku shop admin status update error from celery : z3shop admin status update for shop from celery ended)r   r    r   r!   r"   r#   r   r   r$   r%   r   r&   r   r'   r(   )r   sales_unit_idr   r   r,   r0   r1   r2   zr4   product_category_remove_flagr    product_sub_category_remove_flagyr;   s                  r<   &shop_admin_status_update_only_one_shopr     s   LLHIKNkk  f -335\\((m(<BBD
kk(((S # 2 2ckkNkNk>G !3 !I  KK..ckkF_F_:C / E KK""))*5"& 5==DDPZ E \\a\a\c   !22i?.3+ ! #&&--j9 KK%%0077
C+/(&5==DDPZ E \\a\a\c   !22i?7<4 ' ,))44;;JG$KK))44;;JG/3,*5==DDPZ E \\a\a\c   !22i?;@8 + 0--88??
K LLFG  NHLMMNs>   EL )L 9BL L  B L L 6L 	M&MMc                    t        j                  d       	 t        j                  j	                  |       j                         }|r\t        j                  j	                  |d      }|sNt        j                  j	                  |      j                         }|r|j                  j                  |       nd}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd} n |rNt        j                  j	                  |      j                         }|rS|j                  j                  |       n6t        j                  j	                  |      j                         }|r|j                  j                  |       nt        j                  j                         D ]  }t        j                  j	                  |d      }|s|j                  j                  |       Bd}|D ]G  }	t        j                  j	                  |	|      j                         }|s5|j                  dk(  sEd} n |r|j                  j                  |       |j                  j                  |        t        j                  d	       y # t        $ r"}
t        j                  d|
        Y d }
~
<d }
~
ww xY w
Nz(category based shop admin status startedr   r   r   Tr   Fz*category based shop admin status started: z&category based shop admin status endedr   r    r   r!   r"   r#   r   r	   r   r&   r   r'   addallr(   r*   category_idr+   r1   update_statusr8   r3   r:   catr6   r;   s              r<   'category_based_shop_admin_status_celeryr   D  `   LL;<8G||""'"288: # 2 2+>G !3 !I$ / 7 7 > >K > P V V X !,,33D9'+$*A)B)J)J)Q)QVWdh)Q)i)o)o)q&)-??9L380! + ($3$;$;$B$B$B$T$Z$Z$\M$%0077=$3$;$;$B$B$B$T$Z$Z$\M$%0044T: '..224$'KK$6$6cBK %7 %M!(NN))$/+/(.-F-N-N-U-UZ[hl-U-m-s-s-u*-1CCyP7< 4 % / ,--d3**40+ 50 LL9;  GA!EFFG2   CJ# 2J# D:J# =J# A J# #	K,K		Kc                    t         j                  j                  |       D ]  }t        j                  j                  |d      }|s|j                  j                  |       Bd}|D ]G  }t        j                  j                  ||      j                         }|s5|j                  dk(  sEd} n |r|j                  j                  |       |j                  j                  |        y )N)category__uuidr   r   Tr   F)
r
   r!   r"   r   r   r&   r   r#   r'   r   )r   r+   sub_catr0   r5   rr7   s          r<   category_existr     s    %--44K4P # 2 2g>G !3 !I %%%d+'+$*)B)J)J)Q)QVW]a *R *cchchcj ' *-??9L380 + (""))$/""&&t,/ Qrf   c                    t         j                  j                         D ]  }t        j                  j	                  |d      }|s|j
                  j                  |        Bd}|D ]G  }t        j                  j	                  ||       j                         }|s5|j                  dk(  sEd} n |r|j
                  j                  |        |j
                  j                  |         y )Nr   r   Tr   F)r
   r!   r   r   r"   r   r&   r   r#   r'   r   )r+   r   r0   r5   sr7   s         r<   category_not_existr     s    %--113 # 2 2g>G !3 !I %%%d+'+$*)B)J)J)Q)QVW]a *R *cchchcj ' *-??9L380 + ( ""))$/""&&t,3 4rf   c                 P   t         j                  j                  |       j                         }|r[t        j                  j                  |d      }|sMt
        j                  j                  |      j                         }|r|j                  j                  |       y d}|D ]G  }t        j                  j                  ||      j                         }|s5|j                  dk(  sEd} n |rLt
        j                  j                  |      j                         }|ri|j                  j                  |       y t
        j                  j                  |      j                         }|r|j                  j                  |       y y y y |rt        ||       y t        |       y )Nr   r    product__item_sub_category__uuidr   Tr   F)r   r!   r"   r#   r   r
   r   r&   r   r'   r   r   r   )	r*   sub_category_idr   r+   r0   r   r5   r   r7   s	            r<   +sub_category_based_shop_admin_status_celeryr     s{   <<g.446D # 2 2-<  !3 !"
 %.66==?=SYY[M((//5'+$*)B)J)J)Q)QVW]a *R *cchchcj ' *-??9L380 + ( 2 : : A A A W ] ] _ !,,33D9 2 : : A A A W ] ] _ !,,006 !	 !% 4 ;-t$rf   c                    t         j                  j                  |       j                         }t        j                  j                  d      }|r|j                  |      }|r|j                  |      }|D ]  }t        j                  j                  |d      }|s|j                  j                  |       Bd}|D ]G  }t        j                  j                  ||      j                         }	|	s5|	j                  dk(  sEd	} n |r|j                  j                  |       |j                  j                  |        y )
Nr   z-created_date)item_category__uuid)r$   r   r   Tr   F)r   r!   r"   r#   r   r   r   r   r&   r   r'   r   )
r*   r   r   r+   product_listr   sku_productsr2   r,   sku_product_saless
             r<   category_product_listr     s   <<g.446D##,,_=L#**{*K#**_*M{{))'i)P%%d+"&+$=$E$E$L$LQ\im$L$n$t$t$v!$(::iG.3+  , #""))$/""&&t,'  rf   c                    t        j                  d       	 t        j                  j	                  |       j                         }|r\t        j                  j	                  |d      }|sNt        j                  j	                  |      j                         }|r|j                  j                  |       nd}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd} n |rNt        j                  j	                  |      j                         }|rS|j                  j                  |       n6t        j                  j	                  |      j                         }|r|j                  j                  |       nt        j                  j                         D ]  }t        j                  j	                  |d      }|s|j                  j                  |       Bd}|D ]G  }	t        j                  j	                  |	|      j                         }|s5|j                  dk(  sEd} n |r|j                  j                  |       |j                  j                  |        t        j                  d	       y # t        $ r"}
t        j                  d|
        Y d }
~
<d }
~
ww xY wr   r   r   s              r<   r   r   )  r   r   c                     t        j                  d       	 t        j                  j	                  |      j                         }t        j                  j	                  |       j                         } t        j                  j	                  | d      }t        j                  j	                  |d      }t        j                  j	                  |d      }t        j                  j	                  |d      }t        j                  j                  d      }|D ]"  }	|r|D ]~  }
t        j                  j	                  |
|		      j                         }|s5|j                  dk(  sE|j                  j                  j                  j                  j!                  |	        n |r|D ]~  }t        j                  j	                  ||		      j                         }|s5|j                  dk(  sE|j                  j                  j                  j                  j!                  |	        n |s| j                  j#                  |	       nkd
}|D ]G  }t        j                  j	                  ||		      j                         }|s5|j                  dk(  sEd} n |r| j                  j#                  |	       |s|j                  j#                  |	       d
}|D ]G  }t        j                  j	                  ||		      j                         }|s5|j                  dk(  sEd} n |s|j                  j#                  |	       % 	 t        j                  d       y # t$        $ r}t        j                  d       Y d }~9d }~ww xY w)NzHmaster product edit category based shop shop admin status change startedr   r   r   r   r   )product__item_category__uuidr   r   r   TFz+master product edit celery task failed: {e}z)master product edit celery task completed)r   r    r	   r!   r"   r#   r
   r   r   r   r   r'   r   r   r$   r   r   r&   r(   )existing_sub_categoryexisting_categoryto_sub_categoryto_categoryr0   r1   to_sku_sub_category_datato_sku_category_datar   r+   to_sku_category_to_sku_category_salesto_sku_sub_category_to_sku_sub_category_salesr5   r   r7   r8   r3   r:   r;   s                        r<   .product_availability_shop_status_change_celeryr  g  s;    LL[\[D+33::BS:TZZ\ 2 : : A AI^ A _ e e g # 2 2Nc>G !3 !I  KK..FWdm.n $';;#5#5WfAJ $6 $L 
  #{{11{gp1q
 %%m4 D $(<$,E,M,M,T,TYi`d -U -ffkfkfm *,0BBiO155==OOZZ^^_cd! )= (,D(0I0Q0Q0X0X]qdh 1Y 1jjojojq .04FF)S599AASS^^bbcgh! -E )%0077=+/(.A-F-N-N-U-UZ[ae .V .gglglgn + .1CCyP7<4! / ,)44;;DA %!,,33D9'+$*A)B)J)J)Q)QVWdh)Q)i)o)o)q&)-??9L380! + (%0077={ @ LL<=  DBCCDsQ   D=M M %A4M M *BM =M A9M M M  M 	M=M88M=c                 d   t        j                  d       	 t        j                  j	                  |       j                         } t        j                  j	                  |      j                         }t        j                  j	                  | d      }t        j                  j	                  |d      }t        j                  j                  d      }|D ]  }|s|j                  j                  |       nkd}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd	} n |r|j                  j                  |       |s| j                  j                  |       d}|D ]G  }t        j                  j	                  ||      j                         }|s5|j                  dk(  sEd	} n |s| j                  j                  |        	 t        j                  d       y # t        $ r}	t        j                  d
       Y d }	~	9d }	~	ww xY w)Nz)master product delete celery task startedr   r   r   r   r   Tr   Fz-master product delete celery task error : {e}z+master product delete celery task completed)r   r    r
   r!   r"   r#   r	   r   r   r   r   r&   r   r'   r(   )
product_sub_categoryproduct_categoryr0   r1   r   r+   r2   r   r4   r;   s
             r<   ;master_product_edit_celery_task_to_update_shop_availabilityr	    s   LL<=9F199@@H\@]cce*2299@P9QWWY !$ 2 2Nb>G !3 !I  KK..FVcl.m %%m4D$ ++2248&*#*A 9 A A H HQ[_ H ` f f hI  %66)C27/! + '$//66t<($//66t<&*#.A 9 A A H HQ[_ H ` f f hI  %66)C27/! / '(33::4@K P LL>?  FDEEFs7   DH 1H A8H :H 
H H 	H/H**H/c                    t        j                  d       t        j                  j	                  |       j                         }	 |j                  dk(  rht        j                  j	                  |d      j                         }|r|j                  dkD  rd|_	        nd|_	        nd|_	        |j                          nd|_	        |j                          |j                  rt        j                  j	                  |j                  j                        j                  d       t        j                  j	                  |j                  j                   j"                  	      j                  d       t$        j                  j	                  |j                  j&                  j"                  	      j                  d       nt        j                  j	                  |j                  dd
      }|sEt        j                  j	                  |j                  j                        j                  d       nd}|D ]{  }t        j                  j	                  |d      j                         }|s5t        j                  j	                  |j                  j                        j                  d       d} n |sDt        j                  j	                  |j                  j                        j                  d       t        j                  j	                  |j                  j&                  dd      }|sOt$        j                  j	                  |j                  j&                  j"                  	      j                  d       nd}|D ]  }	t        j                  j	                  |	d      j                         }
|
s5t$        j                  j	                  |j                  j&                  j"                  	      j                  d       d} n |sNt$        j                  j	                  |j                  j&                  j"                  	      j                  d       t        j                  j	                  |j                  j                   dd      }|sOt        j                  j	                  |j                  j                   j"                  	      j                  d       nd}|D ]  }t        j                  j	                  |d      j                         }|s5t        j                  j	                  |j                  j                   j"                  	      j                  d       d} n |sNt        j                  j	                  |j                  j                   j"                  	      j                  d       t        j                  d       y # t(        $ r"}t        j                  d|        Y d }~<d }~ww xY w)N'update sku status long distance startedr   r   r   status   TFlong_distance_availabilityr   r   r   sku_expiry_duration__gtr   r   r  r   r   r  z-long distance sku edit status check failed : z long distance sku edit completed)r   r    r   r!   r"   r#   r   r   sku_expiry_durationr  r   r   r   r   updater	   r%   r   r
   r$   r(   )r   r/   sales_unit_datalong_dist_sku_productlong_dist_product_flagr   long_dist_sales_checklong_dist_sku_sub_categorylong_dist_sub_category_flagr   long_dist_sales_check_sublong_dist_sku_categorylong_dist_sku_category_flagxlong_dist_sales_check_catr;   s                   r<   ,update_sku_long_distance_status_check_celeryr"    s   LL:;{{!!v!.446HTJ)+7??FF8\eFfllnO//"4:>H7 ;@H7 7<3MMO27H/MMO..##x'7'7':':#;BB^bBc##**0@0@0N0N0S0S*T[[+/ \ 1&&--83C3C3U3U3Z3Z-[bb+/ c 1 %(KK$6$6x?O?O\eOQ %7 %S!(  ''8+;+;+>+>'?FFbgFh).&.A,E,M,M,T,TYZcl,T,m,s,s,u), ((//83C3C3F3F/GNNjnNo15. / .$$++x/?/?/B/B+CJJfkJl *-););+3+;+;+M+MZc(* *< *,& ."**11x7G7G7Y7Y7^7^1_ff/4 g 6 /4+3A0I0Q0Q0X0X]^gp0X0q0w0w0y-0*2299x?O?O?a?a?f?f9gnn7; o =6:3 4 3&..558;K;K;];];b;b5cjj38 k : &)[[%7%7xO_O_OmOmCLfh &8 &j")''..H4D4D4R4R4W4W.X__/4 ` 6 /4+/A0I0Q0Q0X0X]^gp0X0q0w0w0y-0'//66H<L<L<Z<Z<_<_6`gg7; h =6:3 0 3#++228H8H8V8V8[8[2\cc38 d :
 LL35  JDQCHIIJs.   H'W -EW <E"W B#W 	X!W>>Xc                 <   t        j                  d       	 t        j                  j	                  |       j                         }t        j                  j	                  |      j                         }t        j                  j	                  |      j                         }t        j                  j	                  |dd      }|s;t        j                  j	                  |j                        j                  d       nd}|D ]q  }t        j                  j	                  |d	      j                         }	|	s5t        j                  j	                  |j                        j                  d
       d
} n |s:t        j                  j	                  |j                        j                  d       t        j                  j	                  |dd      }
|
s;t        j                  j	                  |j                        j                  d       nd}|
D ]q  }t        j                  j	                  |d	      j                         }|s5t        j                  j	                  |j                        j                  d
       d
} n |s:t        j                  j	                  |j                        j                  d       t        j                  j	                  |dd      }|s;t        j                  j	                  |j                        j                  d       nd}|D ]q  }t        j                  j	                  |d	      j                         }|s5t        j                  j	                  |j                        j                  d
       d
} n |s:t        j                  j	                  |j                        j                  d       t        j                  d       y # t        $ r"}t        j                  d|        Y d }~y d }~ww xY w)Nr  r   r   r   r  r  Fr  r  Tr  r  z delete long distance error endedz'delete sku status long distance Error: )r   r    r   r!   r"   r#   r
   r	   r   r   r  r   r   r(   )sku_product_idsku_sub_category_idsku_category_idr,   r-   r.   r  r  ir  r  r  r   r  r  r  r   r!  r;   s                      r<   !long_distance_status_check_celeryr(  g  s   LL:;<D&&---@FFH-55<<BU<V\\^&..55?5KQQS # 2 2;S\KM !3 !O$##{~~#6==Y^=_%*"*(A(I(I(P(PUV_h(P(i(o(o(q%($$++{~~+>EEaeEf-1* + *  '';>>':AA]bAc &)[[%7%7ScCLfh &8 &j")&&--3C3H3H-IPP+0 Q 2 +0'/,E,M,M,T,TYZcl,T,m,s,s,u),&..55;K;P;P5QXX37 Y 926/ 0 /"**117G7L7L1MTT/4 U 6 "%!3!3<?Hbd "4 "f%##**0A0A*BII+0 J 2 +0'+,E,M,M,T,TYZcl,T,m,s,s,u),#++228I8I2JQQ37 R 926/ , /''..L4E4E.FMM/4 N 678 D>qcBCCDs-   D!O0 9DO0 DO0 BO0 0	P9PPc                    t        j                  d       t        j                  j	                  |dd      }|s1t
        j                  j	                  |      j                  d       nd}|D ]v  }t        j                  j	                  |      j                         }|s4|j                  dk(  sDt
        j                  j	                  |      j                  d	       d	} n |s0t
        j                  j	                  |      j                  d       t        j                  j	                  | dd
      }|s1t        j                  j	                  |       j                  d       nd}|D ]g  }t        j                  j	                  |d      j                         }	|	s5t        j                  j	                  |       j                  d	       d	} n |s0t        j                  j	                  |       j                  d       t        j                  j	                  |      j                         }
t        j                  j	                  |
dd      }|s;t        j                  j	                  |
j                        j                  d       nd}|D ]q  }t        j                  j	                  |d      j                         }|s5t        j                  j	                  |
j                        j                  d	       d	} n |s:t        j                  j	                  |
j                        j                  d       t        j                  j	                  |
j                  dd      }|sEt
        j                  j	                  |
j                  j                        j                  d       nd}|D ]{  }t        j                  j	                  |d      j                         }|s5t
        j                  j	                  |
j                  j                        j                  d	       d	} n |sDt
        j                  j	                  |
j                  j                        j                  d       t        j                  j	                  |
j                  dd      }|sEt        j                  j	                  |
j                  j                        j                  d       nd}|D ]{  }t        j                  j	                  |d      j                         }	|	s5t        j                  j	                  |
j                  j                        j                  d	       d	} n |sDt        j                  j	                  |
j                  j                        j                  d       t        j                  d       y )NzYproduct category sub category change on product edit  long distance status update startedr   r  )r   r   r  r   Fr  )r   T)r   r   r  r  r   r  r  r  zWproduct category sub category change on product edit  long distance status update ended)r   r    r   r!   r"   r
   r  r   r#   r  r	   r   r   r$   r   r%   )r   r   
product_idr  r  r'  r  r  r  r!  r   r  r  r  s                 r<   !long_distance_master_product_editr+    s\   LLlm!$!3!3Uj?Hbd "4 "f%""))/D)ELL', 	M 	. ',#+A(A(I(I(P(PUV(P(W(](](_%(,33y@&..55;P5QXX37 Y 926/ , +&&--3H-IPP+0 Q 2 ![[//M^;D^` 0 b!&&,=&>EE', 	F 	. ',#'A(A(I(I(P(PUV_h(P(i(o(o(q%(''..4E.FMM/3 N 5.2+ ( +##**0A*BII+0 J 2 %%:%6<<>GKK..w9GI / K 7::.55QV5W!&&A$=$E$E$L$LQR[d$L$e$k$k$m!$  ''7::'6==Y]=^)-& ' &##wzz#299UZ9[
 "%!3!3wOhOh?Hbd "4 "f%""))w/H/H/M/M)NUU', 	V 	. ',#+A(A(I(I(P(PUV_h(P(i(o(o(q%("**11w7P7P7U7U1V]]/3 ^ 5.2+ , +&&--73L3L3Q3Q-RYY+0 Z 2 ![[//wG\G\;D^` 0 b!&&G,A,A,F,F&GNN', 	O 	. ',#'A(A(I(I(P(PUV_h(P(i(o(o(q%(''..G4I4I4N4N.OVV/3 W 5.2+ ( +##**0E0E0J0J*KRR+0 S 2LLjkrf   c                    t        j                  d       	 t        j                  j	                  |       j                         }t        j                  j	                  |      j                         }t        j                  j	                  |      j                         }t        j                  j	                  |d      }t        j                  j	                  |d      }t        j                  j	                  |d      }t        j                  j                  d      }	|	D ]  }
|s|j                  j                  |
       nkd	}|D ]G  }t        j                  j	                  ||

      j                         }|s5|j                  dk(  sEd} n |r|j                  j                  |
       |s|j                  j                  |
       nkd	}|D ]G  }t        j                  j	                  ||

      j                         }|s5|j                  dk(  sEd} n |r|j                  j                  |
       |s|j                  j                  |
       5d	}|D ]G  }t        j                  j	                  ||

      j                         }|s5|j                  dk(  sEd} n |s|j                  j                  |
        	 t        j                  d       y # t        $ r"}t        j                  d|        Y d }~<d }~ww xY w)Nz.sku delete long distance status update startedr   r   r   r   r   r   r   Tr   Fz!SKU delete Long  Distance Error: z,sku delete long distance status update ended)r   r    r   r!   r"   r#   r
   r	   r   r   r   r   r&   r   r'   r(   )r$  r%  r&  r,   r-   r.   r/   r0   r1   r   r+   r2   r   r4   r5   r   r7   r8   r3   r:   r;   s                        r<   sku_delete_long_distance_celeryr-    s   LLABV>&&---@FFH-55<<BU<V\\^&..55?5KQQS;;%%ki%P !$ 2 2'7  !3 !"  KK..l:C / E %%m4D&&--d3&*#!A 9 A A H HQTX !I !ZZ_Z_Za  ! %66)C27/! " '**11$7 ) ++2248+/(.A-F-N-N-U-UZ[ae .V .gglglgn + .1CCyP7<4! / ,$//66t< %''..t4'+$*A)B)J)J)Q)QVW]a *R *cchchcj ' *-??9L380! + ( ++2248w | LL?@  >8<==>sD   E(K!  K! A8K! 	K! A9K! K! #K! ,K! !	L*LL)N).celeryr   django.core.mailr   r   shops.modelsr   products.modelsr   r   r   r	   r
   orders.modelsr   r   r   r   r   accounts.modelsr   r[   NavyaBackersr   rW   r=   re   r{   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r"  r(  r+  r-   rf   r<   <module>r6     s    &   i i 2 $ & !   !  `? `?b '& '&X B> B>L 
J 
J ;: ;:z, / /* W? W?t NH NHp ;< ;<|-@-T '% '%\ - -X ;< ;<z _> _>F <@ <@~ X6 X6v >D >DB dl dlR ZA ZArf   