
    X@	g                     V    d dl mZ d dlmZmZ d dlmZmZ d dlZ G d de          Z	dS )    )BaseCommand)
connectiontransaction)BDD
MEDIA_ROOTNc                       e Zd ZdZd Zd ZdS )CommanduN  prépare la base de donnée pour une nouvelle année:
    efface les messages, les notes, les colles, les semaines etc ....
    conserve les classes/colleurs/eleves/matières/établissements.
    Cela effaca aussi tous les fichiers
    Il est conseillé de faire une sauvegarde de la base de donnée
    avant de lancer cette commandec           	         g }t          j                    5 }	 t          dv r,|                    d           |                    d           nt          dk    r|                    d           nt	          j                    5  |                    d           |                    d           |                    d           |                    d	           |                    d
           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           |                    d           d d d            n# 1 swxY w Y   |                    d           t          t          j        t                              dhz
  D ]}t          j
                            t          |          }	 t          j        |          D ]:}|dk    r2t          j        t          j
                            ||                     ;x# t          $ rG d                    |          }|                    |           | j                            |           Y w xY wd}|                    |           | j                            |           n[# t          $ rN}d                    |          }|                    |           | j                            |           Y d }~nd }~ww xY wd d d            n# 1 swxY w Y   |S )N)
postgresqlpostgresql_psycopg2a  TRUNCATE accueil_colle,                        accueil_creneau,                        accueil_decompte,                        accueil_destinataire,                        accueil_devoir,                        accueil_devoircorrige,                        accueil_devoirrendu,                        accueil_td,                        accueil_cours,                        accueil_document,                        accueil_jourferie,                        accueil_message,                        accueil_note,                        accueil_programme,                        accueil_programme_semaine,                        accueil_ramassage,                        accueil_semaine,                        django_session                        RESTART IDENTITY;zVACUUM;mysqla?  SET FOREIGN_KEY_CHECKS = 0;                        TRUNCATE TABLE accueil_colle;                        TRUNCATE TABLE accueil_creneau;                        TRUNCATE TABLE accueil_decompte;                        TRUNCATE TABLE accueil_destinataire;                        TRUNCATE TABLE accueil_devoir;                        TRUNCATE TABLE accueil_devoircorrige;                        TRUNCATE TABLE accueil_devoirrendu;                        TRUNCATE TABLE accueil_cours;                        TRUNCATE TABLE accueil_td;                        TRUNCATE TABLE accueil_document;                        TRUNCATE TABLE accueil_jourferie;                        TRUNCATE TABLE accueil_message;                        TRUNCATE TABLE accueil_note;                        TRUNCATE TABLE accueil_programme;                        TRUNCATE TABLE accueil_programme_semaine;                        TRUNCATE TABLE accueil_ramassage;                        TRUNCATE TABLE accueil_semaine;                        TRUNCATE TABLE django_session;                        SET FOREIGN_KEY_CHECKS = 1;zDELETE FROM accueil_colle;zDELETE FROM accueil_creneau;zDELETE FROM accueil_decompte;z!DELETE FROM accueil_destinataire;zDELETE FROM accueil_devoir;z"DELETE FROM accueil_devoircorrige;z DELETE FROM accueil_devoirrendu;zDELETE FROM accueil_cours;zDELETE FROM accueil_td;zDELETE FROM accueil_document;zDELETE FROM accueil_jourferie;zDELETE FROM accueil_message;zDELETE FROM accueil_note;zDELETE FROM accueil_programme;z&DELETE FROM accueil_programme_semaine;zDELETE FROM accueil_ramassage;zDELETE FROM accueil_semaine;zDELETE FROM django_session;photosz
.gitignoreu~   Les fichiers programmes n'ont pas pu tous être effacés,                            videz le répertoire media/{} à la main.u   Réinitialisation complèteu:   La réinitialisation de la base de données a échoué: {})r   cursorr   executer   atomicsetoslistdirr   pathjoinremove	Exceptionformatappendstdoutwrite)selfmessagesr   folder
repertoirefichiertextees           :/opt/e-colle/accueil/management/commands/nouvelle_annee.pyreinitzCommand.reinit   s_      T	)FS)>>>NN $+ , , ,& NN9----G^^NN $5 6 6 6 6* %+-- F F'CDDD'EFFF'FGGG'JKKK'DEEE'KLLL'IJJJ'CDDD'@AAA'FGGG'GHHH'EFFF'BCCC'GHHH'OPPP'GHHH'EFFF'DEEE%F F F F F F F F F F F F F F F& NN9--- ""*Z"8"8998*D 
1 
1F!#j&!A!AJ1')z*'='= L LG&,66 "	"',,z'*J*J K K KL % 1 1 1!GGMvf~~  ...))%00000	1
 6&&&!!%((((%  ) ) )T[[\]^^&&&!!%(((((((()ET	) T	) T	) T	) T	) T	) T	) T	) T	) T	) T	) T	) T	) T	) T	)j s   N8A*ME;H	=M	H	MH	M)AN8;AK
N8ALN8L5N8
N)AN$N8$N))N88N<?N<c                     t          d                                          dk    r0| j                            d           |                                  d S | j                            d           d S )NuF   Êtes-vous sûr de vouloir réinitialiser la base de données? (o/n): ou!   lancement de la réinitialisationabandon)inputlowerr   r   r%   )r   argsoptionss      r$   handlezCommand.handleg   sg    YZZ``bbfiiiKABBBKKMMMMMKi(((((    N)__name__
__module____qualname__helpr%   r-    r.   r$   r	   r	      s=        &DW W Wr) ) ) ) )r.   r	   )
django.core.management.baser   	django.dbr   r   ecolle.settingsr   r   r   r	   r3   r.   r$   <module>r7      s    3 3 3 3 3 3 - - - - - - - - + + + + + + + + 				f) f) f) f) f)k f) f) f) f) f)r.   