
    hB                         d dl mZ d dlZd dlmZ  e ej        d                    Ze ej        d                   Ze ej        d                   Ze ej        d                   Z	d Z
d	 Zdd
Zd Zd ZdS )    )MongoClientN)ObjectId	MONGO_URIDATABASE
COLLECTIONPRODUCTSc                   K   	 t                               d| i          }t          |          }g }|D ]^}t                              d|                    d          i          }|                    d          |d<   |                    |           _|S # t          $ r+}t          dt          |                      g cY d }~S d }~ww xY w)Nuser_id_id
product_idzError fetching products: )

collectionfindlistr   find_onegetappend	Exceptionprintstr)r
   cursorproductsglobal_productsproductglobal_productes          )F:\Savad\Price\PriceTrackerBot\helpers.pyfetch_all_productsr      s      )W!566<< 	3 	3G%..w{{<7P7P/QRRN+2;;u+=+=N<("">2222   2#a&&22333						s   BB 
C	 C>C	C	c                 *  K   	 t                               dt          |           i          }t                              d|                    d          i          }|S # t
          $ r*}t          dt          |                      Y d }~d S d }~ww xY w)Nr   r   zError fetching product: )r   r   r   r   r   r   r   r   )r   r   r   r   s       r   fetch_one_productr      s      %%uhsmm&<==!**E7;;|3L3L+MNN   1Q11222ttttts   AA 
B(BBc                   K   	 t                               d|i          }|s/|||p|||||d}t                               |          }d|j        i}t                              | |d         d          }|rt          d           |d         S | |d         d}	t                              |	          }
t          d           |
j        S # t          $ r*}t          dt          |                      Y d }~d S d }~ww xY w)Nproduct_name)r!   urldisplay_urlpriceprevious_priceupperlowerr   )r
   r   zProduct already exists.zProduct added successfully.zError adding product: )r   r   
insert_oneinserted_idr   r   r   r   )r
   r!   product_urlinitial_pricer#   existing_global_productglobal_new_productinsert_resultexisting_productnew_local_productresultr   s               r   add_new_productr2   (   sT     #"*"3"3^\4R"S"S& 	I ,"*9k&"/&&" " %//0BCCM',m.G&H#%../Fu/MNN
 
  	++,,,#E** 1%8
 

 &&'899+,,,!!   /s1vv//000ttttts   BC :C 
C<C77C<c                   K   	 t                               d| i          }|rq|                    d|          }|                    d|          }||k    r|}n||k     r|}t                               d| id|||di           t	          d           d S d S # t
          $ r*}t	          dt          |                      Y d }~d S d }~ww xY w)Nr   r&   r'   z$set)r$   r&   r'   z+Global product prices updated successfully.zError updating product price: )r   r   r   
update_oner   r   r   )id	new_pricer   upper_pricelower_pricer   s         r   update_product_pricer9   O   s+     9!**BK
 
  	A(,,Wi@@K(,,Wi@@K;&&'[(('!*!,!, 	 	 	 ?@@@@@'	A 	A(  9 9 97s1vv778888888889s   BB 
C	CC	c                 r  K   	 t                               dt          |           i          }|rQ|                    d          t	          |          k    r+t                               dt          |           i           dS d S # t          $ r*}t          dt          |                      Y d }~d S d }~ww xY w)Nr   r
   TzError deleting product: )	r   r   r   r   int
delete_oner   r   r   )r   r
   r   r   s       r   r<   r<   m   s      %%uhsmm&<== 	w{{9--W==!!5(3--"899944   1Q11222ttttts   A:B 
B6B11B6)N)pymongor   osbsonr   getenvdbclientdatabaser   r   r   r   r2   r9   r<        r   <module>rE      s          				      ;yry--..IBIj))*ibi--.
IBIj))*  $  $ $ $ $N9 9 9<    rD   