
    k#ib                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 dZdZdZdZdZdd	Zdd
ZddZedk(  r e e             y)    )annotationsN)Pathz&https://finans.truncgil.com/today.jsonz /var/www/html/kurlar/kurlar.json   i  i  c                f   t         j                  j                  | dddd      }t         j                  j                  |t              5 }|j                         }d d d        t        j                  j                  d            }t        |t              r|st        d      |S # 1 sw Y   LxY w)	NzGolderRatesUpdater/1.0zapplication/json)z
User-AgentAcceptGET)headersmethod)timeoututf-8zKaynak JSON bos veya gecersiz.)urllibrequestRequesturlopenREQUEST_TIMEOUT_SECONDSreadjsonloadsdecode
isinstancedict
ValueError)urlr   responsepayloaddecodeds        web/kurlar/update_kurlar.pyfetch_ratesr      s    nn$$2(
  % G 
		1H		IX--/ 
Jjj01Ggt$G9::N 
J	Is   B''B0c                   | j                   j                  dd       	 t        j                  | j                   t               t        j                  dddt        | j                         d      5 }t        j                  ||dd	       |j                  }d d d        t        j                  |        	 t        j                  | t               y # t
        $ r Y w xY w# 1 sw Y   JxY w# t
        $ r Y y w xY w)
NT)parentsexist_okwr   Fz.tmp)modeencodingdeletedirsuffix),:)ensure_ascii
separators)parentmkdiroschmodDIRECTORY_MODEOSErrortempfileNamedTemporaryFilestrr   dumpnamereplace	FILE_MODE)output_pathr   tmp_file	temp_names       r   atomic_write_jsonr<   $   s    TD9
##^4 
	$	$""#
 
		'8%JOMM	
 JJy+&
i(  
 
  s/   $C 0&C5C+ 	CCC(+	C76C7c                    t        t        j                        dkD  rt        j                  d   nt        } t	        |       }	 t        t              }t        ||       t        d|        y# t        j                  j                  $ r(}t        d| t        j                         Y d }~yd }~wt        t        t        j                   f$ r(}t        d| t        j                         Y d }~yd }~ww xY w)N   zKur verisi alinamadi: )filezKur dosyasi yazilamadi: zKur verisi guncellendi: r   )lensysargvDEFAULT_OUTPUTr   r   
SOURCE_URLr<   r   errorURLErrorprintstderrr1   r   r   JSONDecodeError)
output_argr9   r   excs       r   mainrL   :   s     #CHH 1!~Jz"Kj)+w/ 
$[M
23 <<   &se,3::>Z!5!56 (.SZZ@s$   A, ,C5	B,,!C5C00C5__main__)r   r4   returnr   )r9   r   r   r   rN   None)rN   int)
__future__r   r   r.   rA   r2   urllib.errorr   urllib.requestpathlibr   rD   rC   r   r0   r8   r   r<   rL   __name__
SystemExit     r   <module>rY      sb    "  	 
    5
3 	",  z
TV
 rX   