# HG changeset patch # User Denis Laxalde # Date 1528880957 -7200 # Node ID 5166a1a7e4f400d2a25a5d7531a49b2340d2ebc2 # Parent b80f186b9dbeb37470d1ccadbc653246ab5f7a8c [py3] Let InstanceCommand.run_arg() always return an int The caller of this method (which is method "run_args") does `max(status, self.run_arg(appid))` and run_arg might return None if the underlying _instance method returns None. On python3 max(1, None) breaks with "TypeError: unorderable types: int() > NoneType()". So we enforce run_arg() method to return an integer even if the underlying method returns None. This fixes call of "cubicweb-ctl i18ninstance" with Python3. diff -r b80f186b9dbe -r 5166a1a7e4f4 cubicweb/cwctl.py --- a/cubicweb/cwctl.py Fri Jun 15 17:42:50 2018 +0200 +++ b/cubicweb/cwctl.py Wed Jun 13 11:09:17 2018 +0200 @@ -148,7 +148,7 @@ def run_arg(self, appid): cmdmeth = getattr(self, '%s_instance' % self.name) try: - status = cmdmeth(appid) + status = cmdmeth(appid) or 0 except (ExecutionError, ConfigurationError) as ex: sys.stderr.write('instance %s not %s: %s\n' % ( appid, self.actionverb, ex))