
    i                     .   d Z ddlZddlZddlmZmZ ddlZdZdZdZd Z	e
dk(  rq ed	        ed
        ed	        ed        ede d        ede         ede         ede d      Zej                         dv r e	        y ed       yy)uQ   
Script pour archiver les anciens trades et garder seulement les trades récents
    N)datetime	timedeltaztrade_logs/trades_log.jsonlztrade_logs/archives   c            	      *   t         j                  j                  t              st	        dt         d       yt        j
                  t        d       t        j                         j                  d      } t         j                  j                  t        d|  d      }t        j                         t        t        	      z
  }|j                         }t	        d
|j                  d              t	        d|        g }g }t        t        dd      5 }|D ]  }|j                         }|s	 t!        j"                  |      }|j%                  dd      }	t'        |	t(              r4	 t        j*                  |	j-                  dd            j                         }	|	|k\  r|j1                  |       n|j1                  |        	 ddd       t	        d       t	        dt5        |      t5        |      z           t	        dt5        |              t	        dt5        |              |rAt        |dd      5 }|D ]  }|j7                  |dz           	 ddd       t	        d|        t         d|  }t9        j:                  t        |       t	        d|        t        t        dd      5 }|D ]  }|j7                  |dz           	 ddd       t	        dt         d        t	        d!t5        |       d"       y#  t        j.                  |	d      j                         }	Y xY w# t2        $ r6}
t	        dt)        |
      dd         |j1                  |       Y d}
~
Pd}
~
ww xY w# 1 sw Y   xY w# 1 sw Y   )xY w# 1 sw Y   xY w)#z6Archive les trades plus anciens que DAYS_TO_KEEP joursu   ❌ Fichier z introuvableNT)exist_okz%Y%m%d_%H%M%Strades_archived_z.jsonl)daysu   📅 Date limite: z%Y-%m-%d %H:%M:%Su   ⏰ Timestamp limite: rzutf-8)encoding	timestampr   Zz+00:00u-   ⚠️  Erreur de parsing, ligne conservée: 2   u   
📊 Résumé:z   Total trades: u"      ✅ Trades récents (gardés): u      📦 Trades archivés: w
u   
✅ Archive créée: z.backup_u   💾 Backup créée: u   
✅ Fichier u    nettoyé avec succès!u   📈 Nouveau total: z trades)ospathexistsTRADE_LOGS_FILEprintmakedirsARCHIVE_DIRr   nowstrftimejoinr   DAYS_TO_KEEPr   openstripjsonloadsget
isinstancestrfromisoformatreplacestrptimeappend	Exceptionlenwriteshutilcopy2)archive_timestamparchive_filecutoff_datecutoff_timestamprecent_tradesarchived_tradesflineentrytsebackup_files               ./archive_old_trades.pyarchive_old_tradesr9      sP    77>>/*_-\:; KKd+ !//@77<</?@Q?RRX-YZL ,,.9,#??K",,.	{334GHI
JK	"#3"4
56 MO	osW	5 + 	+D::<D+

4( YY{A. b#&T%33BJJsH4MNXXZ ))!((.#**40/	++> 
	c-033GGH
IJ	.s=/A.B
CD	&s?';&<
=> ,g6 	%!' %t$%	% 	'~67 %%X.?-@AK
LL+.	!+
/0 
osW	5 !! 	!DGGD4K 	!! 
N?++B
CD	 ]!3 4G
<=MT%..r3FGQQS  +Ec!fSbk]ST$$T**+5+ +L	% 	%! !sf   M/.7L-&3L(L-M/8M<0N	&L*'L--	M,6+M'!M/'M,,M//M9<N	N__main__z<============================================================u%   🗑️  ARCHIVAGE DES ANCIENS TRADESu   
⚙️  Configuration:z   - Garder les z derniers joursz   - Fichier: z   - Dossier archives: u(   
❓ Confirmer l'archivage des trades > z jours? [o/N]: )oouiyyesu   ❌ Opération annulée)__doc__r   r   r   r   r*   r   r   r   r9   __name__r   inputresponselower     r8   <module>rF      s     	 (  0#O>b z	(O	
12	(O	$&	\N/
:;	N?+
,-	#K=
12@o^_H~~33'( rE   