
    rh                     N    d dl Z d dlZd dlZdZg dZd Zd Zd Zd Zd Z	d
d	Z
y)    Nzstrategy.csvchat_id
day_number	plan_jsonhistory_jsonc                      t         j                  j                  t              sGt	        t        ddd      5 } t        j                  |       }|j                  t               d d d        y y # 1 sw Y   y xY w)Nw utf-8newlineencoding)	ospathisfile	FILE_NAMEopencsvwriterwriterowHEADERS)fr   s     %/app/bot/handlers/strategy_storage.pyensure_file_existsr   
   sP    77>>)$)S"w?1ZZ]FOOG$ @? %??s   +A,,A5c                      t        t        ddd      5 } t        j                  |       }t	        |      cd d d        S # 1 sw Y   y xY w)Nrr
   r   r   )r   r   r   
DictReaderlist)r   readers     r   read_all_rowsr       s3    	ib7	;q"F| 
<	;	;s	    >Ac                     t        t        ddd      5 }t        j                  |t              }|j                          |j                  |        d d d        y # 1 sw Y   y xY w)Nr	   r
   r   r   )
fieldnames)r   r   r   
DictWriterr   writeheader	writerows)rowsr   r   s      r   write_all_rowsr'      sH    	ib7	;qg6 
<	;	;s   =AA#c           	          t                t               }|D cg c]  }|d   t        |       k7  s| }}|j                  t        |       dt	        j
                  |d      t	        j
                  g d      d       t        |       y c c}w )Nr   0Fensure_asciir   )r   r    strappendjsondumpsr'   )r   planr&   rownew_rowss        r   save_user_strategyr3      sy    ?D#Fts9~W'EtHFOOw<ZZ59

2E:	  8 Gs
   BBc                     t                t               }|D ]T  }|d   t        |       k(  s| t        |d         t	        j
                  |d         t	        j
                  |d         dc S  y )Nr   r   r   r   )r   r   r0   history)r   r    r,   intr.   loads)r   r&   r1   s      r   get_user_strategyr8   +   sj    ?Dy>S\)"!#l"34

3{#34::c.&9:	       c                 0   t                t               }d}|D ]_  }|d   t        |       k(  s|t        |      |d<   |t        j                  |d      |d<   |t        j                  |d      |d<   d} n |st        d|  d	      t        |       y )
NFr   r   r*   r   r   TzUser z not found in strategy.csv)r   r    r,   r.   r/   
ValueErrorr'   )r   r   r0   r5   r&   updatedr1   s          r   update_user_strategyr=   9   s    ?DGy>S\)%$'
OL!#'::d#GK "&*jju&MN#G  5	)CDEE4r9   )NNN)r   r.   r   r   r   r   r    r'   r3   r8   r=    r9   r   <module>r?      s6    
  		
@%
r9   