
     ֘gM                     t    d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d	dZ	d Z
edk    r e
             dS dS )
    N)MongoClient)datetime	timedeltalocalzerodha\credentials.jsonc                    	 t          |d          5 }t          j        |          }ddd           n# 1 swxY w Y   |                    |           }|r|S t	          d|            # t
          $ r t          d|            Y dS t          j        $ r t          d|            Y dS t          $ r}t          d|            Y d}~dS d}~ww xY w)a?  
    Access credentials from a JSON file.

    Args:
    - env (str): Environment to fetch the credentials from ('local' or 'live'). Default is 'local'.
    - filepath (str): Path to the JSON file containing credentials. Default is 'creds.json'.

    Returns:
    - dict: Credentials for the specified environment.
    rNz&No credentials found for environment: File not found: zError decoding JSON in file: zAn error occurred: )	openjsonloadget
ValueErrorFileNotFoundErrorprintJSONDecodeError	Exception)envfilepathfdatacredentialses         2e:\HARSH\Automation\J_Work\zerodha\z_getBSEdata.pyget_credentialsr      s\   )(C   	 A9Q<<D	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  hhsmm 	MKcKKLLL - - -+++,,,,,, : : :8h88999999 ) ) )'A''((((((((()sD   A) 3A) 7A) 7A) A) )C C+	C4CCc                     t                      } |                     d          }|                    d          }|                    d          }|                    d          }t          |          }||         }||         }t          j        d          }dddd	d
ddddddddd}	d }
|                                D ]\  }}|d         }t          d|            |                    d|i          }|r|                    di           }t          j	                    
                                } |
||          }|	                                D ]u\  }}|t          |          z
  } |
||          }||j        ||f<   |dk    r?|r=|r;|                    dd          }||z
  |z  dz  }t          |d          |j        ||f<   vt          d|             g d }||         }d!t          j	                    
                                 d"}t           j                            |          r}	 t'          |d#$          5 }t)          j        |          }|D ]}t          |           	 d d d            n# 1 swxY w Y   n# t,          $ r}t          d%|            Y d }~nd }~ww xY wt          d&|            t'          |d'd()          5 }t)          j        |          }|                    g d*           t          d+|            d d d            n# 1 swxY w Y   |                    |d,-           t          d.| d/           |                                 d S )0NmongoDB_credsconnection_strdatabasebse_collectionzzerodha\files\BSE.csv            Z      im  i  iG  i  i!  i	  iB  )YESTERDAY'S CLOSING7 DAYS BEFORE PRICE14 DAYS BEFORE PRICE1 MONTH BEFORE PRICE3 MONTH BEFORE PRICE6 MONTH BEFORE PRICE1 YEAR BEFORE PRICE2 YEAR BEFORE PRICE3 YEAR BEFORE PRICE4 YEAR BEFORE PRICE5 YEAR BEFORE PRICE7 YEAR BEFORE PRICE10 YEAR BEFORE PRICEc                    |                     d          | v r|                              dd           S fd|                                 D             }|r+t          |          }| |                             dd           S d S )Nz%Y-%m-%dclosec                      g | ]
}|k    |S  r7   ).0datetarget_date_strs     r   
<listcomp>z:getBSEdata.<locals>.get_price_for_date.<locals>.<listcomp>R   s#    SSS$4?;R;R;R;R;R    )strftimer   keysmax)pricestarget_dateearlier_datesclosest_dater:   s       @r   get_price_for_datez&getBSEdata.<locals>.get_price_for_dateI   s    %..z:: f$$/*..w=== TSSS&++--SSS 	;}--L,'++GT::: tr<   Security IdzProcessing symbolr@   )daysr'   PRICEzCHANGE %d      zNo data found for )!zSecurity CoderE   zSecurity NameStatusGroupz
Face ValuezISIN NoIndustryr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   z7 DAYS BEFORE CHANGE %z14 DAYS BEFORE CHANGE %z1 MONTH BEFORE CHANGE %z3 MONTH BEFORE CHANGE %z6 MONTH BEFORE CHANGE %z1 YEAR BEFORE CHANGE %z2 YEAR BEFORE CHANGE %z3 YEAR BEFORE CHANGE %z4 YEAR BEFORE CHANGE %z5 YEAR BEFORE CHANGE %z7 YEAR BEFORE CHANGE %z10 YEAR BEFORE CHANGE %z&zerodha\files\daily_files\BSE_UPDATED_z.csvr	   )modezError: r
   w )rN   newline)Header1Header2Header3zNew file created at: F)indexz(Processing completed. Results saved to '')r   r   r   pdread_csviterrowsr   find_oner   nowr9   itemsr   atreplaceroundospathexistsr   csvreaderr   writerwriterowto_csvr5   )credsr   connection_urlmongo_databaser    mongo_clientdb
collectiondfdate_rangesrD   rU   rowrF   documentr@   todaytoday_pricecolumnrG   rA   pricepercent_change_columnpercent_changeselected_columnsoutput_filefilerd   r   re   s                                 r   
getBSEdatar{   '   s   E IIo..M"&&'788N"&&z22N"&&'788N ~..L	n	%BN#J 
-	.	.B  !  " " " #""#### $ K   $ kkmm 1 1
s]#$F$$%%% &&&'9:: 	1\\(B//FLNN''))E -,VU;;K + 1 1 3 3 	S 	S#iT&:&:&::**6;??',eVm$ 222{2u2,2NN7J,O,O)'2U':e&Cs%JN:?PQ:R:RBE%!667	S /v//0000   
	BYhlnn>Q>Q>S>SYYYK 
w~~k"" 9	!k,,, D))!  C#JJJJ               ! 	! 	! 	!-A--        	! 	...///+C444 	9Z%%FOO===>>>7+77888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9
 IIkI'''	
C[
C
C
CDDD sN   2J )I9-J 9I==J  I=J 
J+J&&J+>LL #L __main__)r   r   )r`   rc   r   pandasrW   pymongor   r   r   r   r{   __name__r7   r<   r   <module>r      s    				 



            ( ( ( ( ( ( ( () ) ) )>s s sj zJLLLLL r<   