[bitbake-devel] [PATCH] uihelper: use elif instead of repeated if

Ulf Magnusson ulfalizer at gmail.com
Tue Sep 20 16:19:58 UTC 2016


On Tue, Sep 20, 2016 at 10:00 AM, Ross Burton <ross.burton at intel.com> wrote:
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> ---
>  bitbake/lib/bb/ui/uihelper.py | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/bitbake/lib/bb/ui/uihelper.py b/bitbake/lib/bb/ui/uihelper.py
> index f64fa18..fda7cc2 100644
> --- a/bitbake/lib/bb/ui/uihelper.py
> +++ b/bitbake/lib/bb/ui/uihelper.py
> @@ -35,25 +35,25 @@ class BBUIHelper:
>              self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time() }
>              self.running_pids.append(event.pid)
>              self.needUpdate = True
> -        if isinstance(event, bb.build.TaskSucceeded):
> +        elif isinstance(event, bb.build.TaskSucceeded):
>              del self.running_tasks[event.pid]
>              self.running_pids.remove(event.pid)
>              self.needUpdate = True
> -        if isinstance(event, bb.build.TaskFailedSilent):
> +        elif isinstance(event, bb.build.TaskFailedSilent):
>              del self.running_tasks[event.pid]
>              self.running_pids.remove(event.pid)
>              # Don't add to the failed tasks list since this is e.g. a setscene task failure
>              self.needUpdate = True
> -        if isinstance(event, bb.build.TaskFailed):
> +        elif isinstance(event, bb.build.TaskFailed):
>              del self.running_tasks[event.pid]
>              self.running_pids.remove(event.pid)
>              self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
>              self.needUpdate = True
> -        if isinstance(event, bb.runqueue.runQueueTaskStarted) or isinstance(event, bb.runqueue.sceneQueueTaskStarted):
> +        elif isinstance(event, bb.runqueue.runQueueTaskStarted) or isinstance(event, bb.runqueue.sceneQueueTaskStarted):

An obscure feature of isinstance() is that it can test multiple types
in a single call. This could be simplified to the following:

  elif isinstance(event, (bb.runqueue.runQueueTaskStarted,
bb.runqueue.sceneQueueTaskStarted)):

Cheers,
Ulf

>              self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
>              self.tasknumber_total = event.stats.total
>              self.needUpdate = True
> -        if isinstance(event, bb.build.TaskProgress):
> +        elif isinstance(event, bb.build.TaskProgress):
>              if event.pid > 0:
>                  self.running_tasks[event.pid]['progress'] = event.progress
>                  self.running_tasks[event.pid]['rate'] = event.rate
> @@ -62,4 +62,3 @@ class BBUIHelper:
>      def getTasks(self):
>          self.needUpdate = False
>          return (self.running_tasks, self.failed_tasks)
> -
> --
> 2.8.1
>
> --
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/bitbake-devel



More information about the bitbake-devel mailing list