# HG changeset patch # User Sylvain Thénault # Date 1299596425 -3600 # Node ID 3f285770444420eaaba84efd25a4db5d84fcdfb9 # Parent 686010f3a83ed0f9fe9768fc38a17241fb672241 [3.10.9 migration] don't display progress bar if stdout is not a tty diff -r 686010f3a83e -r 3f2857704444 misc/migration/3.10.9_Any.py --- a/misc/migration/3.10.9_Any.py Mon Mar 07 17:19:00 2011 +0100 +++ b/misc/migration/3.10.9_Any.py Tue Mar 08 16:00:25 2011 +0100 @@ -1,4 +1,5 @@ from __future__ import with_statement +import sys # fix some corrupted entities noticed on several instances rql('DELETE CWConstraint X WHERE NOT E constrained_by X') @@ -9,13 +10,17 @@ from logilab.common.shellutils import ProgressBar from cubicweb.server.session import hooks_control rset = rql('Any X, XC WHERE X cwuri XC, X cwuri ~= "%/eid/%"') - pb = ProgressBar(nbops=rset.rowcount, size=70) + if sys.stdout.isatty(): + pb = ProgressBar(nbops=rset.rowcount, size=70) + else: + pb = None with hooks_control(session, session.HOOKS_DENY_ALL, 'integrity'): for i, e in enumerate(rset.entities()): e.set_attributes(cwuri=e.cwuri.replace('/eid', '')) if i % 100: # commit every 100 entities to limit memory consumption commit(ask_confirm=False) - pb.update() + if pb is not None: + pb.update() commit(ask_confirm=False) try: