Commit 68274206e156f872e9a34d086168d3a499ff28ef
1 parent
30518bfa91
Exists in
master
modification incrément ZIP
Showing 1 changed file with 20 additions and 14 deletions
logrotate.py
View file @
6827420
... | ... | @@ -86,8 +86,6 @@ |
86 | 86 | def incrementZipFile(LIST, FLOG, LISTERR = []): |
87 | 87 | """ |
88 | 88 | Incrémente les archives ZIP jusqu'à ``NBARCHIVE`` |
89 | - Suppression de l'archive ZIP dont son index est supérieur | |
90 | - ou égal à ``NBARCHIVE`` | |
91 | 89 | |
92 | 90 | :return: Une liste de fichiers en erreur |
93 | 91 | :rtype: list |
94 | 92 | |
... | ... | @@ -100,20 +98,28 @@ |
100 | 98 | for FILE in WLIST: |
101 | 99 | TF = FILE.split('.') |
102 | 100 | IDX = int(TF[2]) |
103 | - OLDFILE = os.path.join(F, FILE) | |
104 | - if IDX >= NBARCHIVE: | |
105 | - delFile(OLDFILE, FLOG) | |
106 | - else: | |
101 | + if IDX < NBARCHIVE: | |
102 | + OLDFILE = os.path.join(F, FILE) | |
107 | 103 | TF[2] = str(IDX + 1) |
108 | 104 | NEWFILE = os.path.join(F, '.'.join(TF)) |
109 | - try: os.rename(OLDFILE, NEWFILE) | |
110 | - except: | |
111 | - ERR = True | |
112 | - LISTERR.append(f) | |
113 | - log(FLOG, TXT, OLDFILE, '{NEWFILE} ***KO***'.format(NEWFILE=NEWFILE)) | |
114 | - else: log(FLOG, TXT, OLDFILE, '{NEWFILE}'.format(NEWFILE=NEWFILE)) | |
115 | - finally: | |
116 | - if ERR: break | |
105 | + try: | |
106 | + with zipfile.ZipFile(OLDFILE, mode='r', compression=zipfile.ZIP_DEFLATED) as f1: | |
107 | + try: | |
108 | + CT = f1.read(os.path.splitext(FILE)[0]) | |
109 | + except: ERR = True | |
110 | + else: | |
111 | + BASE = os.path.splitext(os.path.basename(NEWFILE))[0] | |
112 | + try: | |
113 | + with zipfile.ZipFile(NEWFILE, mode='w', compression=zipfile.ZIP_DEFLATED) as f2: | |
114 | + f2.writestr(BASE, CT) | |
115 | + except: ERR = True | |
116 | + else: log(FLOG, TXT, OLDFILE, '{NEWFILE}'.format(NEWFILE=NEWFILE)) | |
117 | + except: ERR = True | |
118 | + finally: | |
119 | + if ERR: | |
120 | + LISTERR.append(f) | |
121 | + log(FLOG, TXT, OLDFILE, '{NEWFILE} ***KO***'.format(NEWFILE=NEWFILE)) | |
122 | + break | |
117 | 123 | return LISTERR |
118 | 124 | |
119 | 125 | def log_0ToZip(LIST, FLOG, LISTERR = []): |