o
    ÓÅDj~  ã                   @   sH   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„ deƒZ	dS )é    )ÚBaseCommand)Ú
connectionÚtransaction)ÚBDDÚ
MEDIA_ROOTNc                   @   s    e Zd ZdZdd„ Zd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                 C   sb  g }t  ¡ }z˜tdv r| d¡ | d¡ n‡tdkr"| d¡ n}t ¡ l | d¡ | d¡ | d¡ | d	¡ | d
¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ | d¡ W d   ƒ n1 s•w   Y  | d¡ W n" tyÂ } zd |¡}| |¡ | j	 
|¡ W Y d }~n`d }~ww tt t¡ƒdh D ];}tj t|¡}zt |¡D ]}|dkrìt tj ||¡¡ qÜW qÍ ty   d |¡}| |¡ | j	 
|¡ Y qÍw d}| |¡ | j	 
|¡ W d   ƒ |S W d   ƒ |S 1 s*w   Y  |S )N)Ú
postgresqlÚpostgresql_psycopg2aT  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,                        accueil_planche,                        accueil_planche_classes,                        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 accueil_planche;                        TRUNCATE TABLE accueil_planche_classes;                        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 accueil_planche;z$DELETE FROM accueil_planche_classes;zDELETE FROM django_session;u:   La rÃ©initialisation de la base de donnÃ©es a Ã©chouÃ©: {}Úphotosz
.gitignoreu~   Les fichiers programmes n'ont pas pu tous Ãªtre effacÃ©s,                            videz le rÃ©pertoire media/{} Ã  la main.u   RÃ©initialisation complÃ¨te)r   Úcursorr   Úexecuter   ÚatomicÚ	ExceptionÚformatÚappendÚstdoutÚwriteÚsetÚosÚlistdirr   ÚpathÚjoinÚremove)ÚselfÚmessagesr   ÚeÚtexteÚfolderÚ
repertoireÚfichier© r!   úD/home/reyt/e-colle-new/accueil/management/commands/nouvelle_annee.pyÚreinit   s~   




















ì
€

€ý€þÿ
ü

¦[ð
µ[¥[zCommand.reinitc                 O   s8   t dƒ ¡ dkr| 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Úoptionsr!   r!   r"   Úhandlem   s   zCommand.handleN)Ú__name__Ú
__module__Ú__qualname__Úhelpr#   r*   r!   r!   r!   r"   r      s    _r   )
Údjango.core.management.baser   Ú	django.dbr   r   Úecolle.settingsr   r   r   r   r!   r!   r!   r"   Ú<module>   s
    