diff --git a/scribe/importation/config.py b/scribe/importation/config.py index f837743..3a1d258 100644 --- a/scribe/importation/config.py +++ b/scribe/importation/config.py @@ -114,6 +114,7 @@ PREF_FILES = dict(eleve=join(TMP_DIR, 'eleve.pref'), invite=join(TMP_DIR, 'invite.pref'),) # fichiers de listing des comptes +DEFAULT_USER = 'admin' DEST_DIR = "/home/a/admin/perso/importation" ELE_INFO = join(TMP_DIR, 'eleves.csv') ELE_HEADER = "CLASSE;NOM;PRENOM;LOGIN;MOT DE PASSE;NUMERO ELEVE;INE;" diff --git a/scribe/importation/log.py b/scribe/importation/log.py index bd1328e..d09e050 100644 --- a/scribe/importation/log.py +++ b/scribe/importation/log.py @@ -3,12 +3,13 @@ Configuration des #log. pour l'importation scribe """ from os import makedirs +from os.path import expanduser from shutil import copy from os.path import basename, isdir, join from pyeole.lock import acquire, release, is_locked from pyeole.log import make_logger from scribe.eoletools import format_current_date -from scribe.importation.config import LOGFILE, RAPPORTFILE, DEST_DIR +from scribe.importation.config import LOGFILE, RAPPORTFILE, DEST_DIR, DEFAULT_USER LINE = "#########################################" LOGFMT = "%(asctime)s - %(levelname)s %(message)s" @@ -64,7 +65,7 @@ def errorlog(msg): print(msg) log.error(msg) -def end_importation(mode): +def end_importation(mode, user=DEFAULT_USER): """ fin de l'importation mode : console ou ead @@ -72,7 +73,7 @@ def end_importation(mode): log.info(LINE) log.info(" Fin de l'importation en mode %s" % mode) log.info(LINE) - copy_info(RAPPORTFILE) + copy_info(RAPPORTFILE, user) def write_info(line, filename): """ @@ -90,12 +91,14 @@ def write_header(header, filename): fic.write(header+'\n') fic.close() -def copy_info(src): +def copy_info(src, user=DEFAULT_USER): """ sauvegarde un fichier de comptes dans le perso d'admin """ - if not isdir(DEST_DIR): - makedirs(DEST_DIR) + home_dir = expanduser("~{}".format(user)) + dest_dir = join(home_dir, 'perso', 'importation') + if not isdir(dest_dir): + makedirs(dest_dir) date = format_current_date('%Y%m%d_%H%M%S') base, extension = basename(src).split('.') # on se base sur le fait que filename se termine en .xxx @@ -103,6 +106,8 @@ def copy_info(src): dst = join(DEST_DIR, dname) try: copy(src, dst) + if user != DEFAULT_USER: + copy_info(src) if extension == 'csv': infolog("fichier des comptes copiƩ dans :") else: