From 3323a7779db61fe5d63e8502a4f4998a19a3b1c0 Mon Sep 17 00:00:00 2001 From: Antoine Durand-Gasselin Date: Sat, 18 Apr 2009 04:32:25 +0200 Subject: [PATCH] [affich_tools] afficher sur la console prend du temps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ignore-this: 4d1e9d64b9d4cf83fe4fb9551cdaf9dc On ne rafraîchit la console que lorsque cela est nécessaire darcs-hash:20090418023225-bd074-a82766419051dea48a5d6d55f294b0811bef8d43.gz --- gestion/affich_tools.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gestion/affich_tools.py b/gestion/affich_tools.py index 400a6b46..2d4fd6f3 100644 --- a/gestion/affich_tools.py +++ b/gestion/affich_tools.py @@ -305,16 +305,15 @@ class anim : """ Efface la ligne courrante et affiche : truc..................? ? caratère variant à chaque appel """ - sys.stdout.write(el + self.txt) if self.iter!=0 : - sys.stdout.write('[') - av = float(self.c) / float(self.iter) - n = int(20 * av) - sys.stdout.write('='*n) - sys.stdout.write('>') - sys.stdout.write(' '*(20 - n)) - sys.stdout.write('] %3i%%' % int(100 * av) ) + prog = float(self.c) / float(self.iter) + pprog = float(self.c-1) / float(self.iter) + n = int(20 * prog) + if 100*prog != 100*pprog: + msg = "%s[%s>%s] %3i%%" % (self.txt, '='*n, ' '*(20 - n), int (100*prog)) + sys.stdout.write(el + msg) else : + sys.stdout.write(el + self.txt) sys.stdout.write('/-\|'[self.c%4]) sys.stdout.flush() self.c += 1