1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
# -*- coding: latin-1 -*
import os, shutil, glob
from datetime import date, timedelta
############################# Création des fonctions qui seront utilisé #############################
def testpath(x, datetrace):
"""Fonction de test du chemin"""
### Récupération date
today = date.today()
### Définition des chemins ###
dest = os.path.join("\\\servdata1\\section MI\\TCM\\Traces", "N2", x, str(datetrace.year), str(datetrace.month), str(datetrace.day))
dest_partage = os.path.join("\\\infotrib1\\traceN2", x, str(datetrace.year), str(datetrace.month), str(datetrace.day))
### Ouverture log et message informatif ###
print('Bonjour, test de l\'existance de "', dest, '" en cours ...\n')
log = open("\\\servdata1\\section MI\\TCM\\Traces\\log_trace", "a")
### Test existance chemin servdata et création si besoin ###
if os.path.exists(dest) == 0:
try:
os.makedirs(dest)
print('Création du chemin "', dest, '" car inexistant\n')
log.write('Fait le {0} : Création du chemin "{1}"\n'.format(today, dest))
except OSError:
print('Impossible de créer "', dest, '" demandé\n')
log.write('Fait le {0} : Problème lors de la création du chemin "{1}"\n'.format(today, dest))
else:
print('Le chemin "', dest, '" existe déjà\n')
log.write('Fait le {0} : Le chemin "{1}" existe déjà\n'.format(today, dest))
### Test existance chemin partage et création si besoin ###
if os.path.exists(dest_partage) == 0:
try:
os.makedirs(dest_partage)
print('Création du chemin "', dest_partage, '" car inexistant\n\n\n')
log.write('Fait le {0} : Création du chemin "{1}"\n\n\n'.format(today, dest_partage))
except OSError:
print('Impossible de créer "', dest_partage, '" demandé\n\n\n')
log.write('Fait le {0} : Problème lors de la création du chemin "{1}"\n\n\n'.format(today, dest_partage))
else:
print('Le chemin "', dest_partage, '" existe déjà\n\n\n')
log.write('Fait le {0} : Le chemin "{1}" existe déjà\n\n\n'.format(today, dest_partage))
### Copie des traces ###
def copietrace(x, datetrace):
### Récupération date
today = date.today()
name_file = '*_%s.zip' % datetrace
source = os.path.join("\\\servdata1\\section MI\\TCM\\Traces", "N2", x, name_file)
dest = os.path.join("\\\servdata1\\section MI\\TCM\\Traces", "N2", x, str(datetrace.year), str(datetrace.month), str(datetrace.day))
dest_partage = os.path.join("\\\infotrib1\\traceN2", x, str(datetrace.year), str(datetrace.month), str(datetrace.day))
log = open("\\\servdata1\\section MI\\TCM\\Traces\\log_trace", "a")
lfile = glob.glob(source)
for file in lfile:
try:
shutil.copy(file, dest)
shutil.move(file, dest_partage)
print('Copie en cours de ', file)
log.write('Copie de {0}\n'.format(today, file))
except IOError:
print('Copie impossible de ', file)
log.write('Copie impossible de {0}\n'.format(today, file))
################################ Fin fonction #####################################
######################## Corp du script ###############################
print('========================\n= Transfert des traces =\n========================')
choix = input('\nBonjour, bienvenue sur le script de transfert des traces. Merci de choisir une des deux options.\n\n1 = Transfert j-1\n2 = Transfert j-3\n')
### Choix du transfert à j-1 ou j-3 et récupération des dates ###
i = 0
while i == 0:
if choix == "1":
datet = date.today()-timedelta(days=1)
print('\n\nRécupération des dates')
print('===================================')
print('= Voici la date j-1 : ', datet, "=")
print('===================================\n\n\n')
print('Test des chemins')
print('===================================')
testpath('n2c', datet)
testpath('n2m', datet)
print('===================================')
print('Transfert des traces')
print('===================================')
copietrace('n2c', datet)
copietrace('n2m', datet)
print('===================================')
i = 1
elif choix == "2":
datet = date.today()-timedelta(days=1)
datet2 = date.today()-timedelta(days=2)
datet3 = date.today()-timedelta(days=3)
print('\n\nRécupération des dates')
print('===================================')
print('= Voici la date j-1 : ', datet, "=")
print('= Voici la date j-2 : ', datet2, "=")
print('= Voici la date j-3 : ', datet3, "=")
print('===================================\n\n\n')
print('Test des chemins')
print('===================================')
testpath('n2c', datet)
testpath('n2c', datet2)
testpath('n2c', datet3)
testpath('n2m', datet)
testpath('n2m', datet2)
testpath('n2m', datet3)
print('===================================\n\n\n')
print('Transfert des traces')
print('===================================')
copietrace('n2c', datet)
copietrace('n2c', datet2)
copietrace('n2c', datet3)
copietrace('n2m', datet)
copietrace('n2m', datet2)
copietrace('n2m', datet3)
print('===================================')
i = 1
else:
print('Merci de choisir l\'option 1 ou 2')
choix = input('Bonjour, bienvenue sur le script de transfert des traces. Merci de choisir une des deux options.\n\n1 = Transfert j-1\n2 = Transfert j-3\n')
testchem = input('\n\n\nL\'opération demandé est terminée. Un fichier log à été créé dans \\\servdata1\\section MI\\TCM\\Traces\\log_trace, ADP vous remercie de votre visite, à bientôt.') |