# HG changeset patch # User Denis Laxalde # Date 1528880957 -7200 # Node ID 562b09ec963a7b2b7c3b547494dca6707ca5d345 # Parent cd211bb9aa8e1a60fa36173b3a8761641f8e48a2 [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 cd211bb9aa8e -r 562b09ec963a cubicweb/cwctl.py --- a/cubicweb/cwctl.py Mon Jun 18 08:47:03 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))